diff mbox

arm64: Disallow combination of ARCH_XGENE and 16K page size

Message ID 1453936230-7305-1-git-send-email-dann.frazier@canonical.com (mailing list archive)
State New, archived
Headers show

Commit Message

dann frazier Jan. 27, 2016, 11:10 p.m. UTC
16K page size is an optional feature of the architecture, and is not
supported by the X-Gene SoC family.

Signed-off-by: dann frazier <dann.frazier@canonical.com>
---
 arch/arm64/Kconfig.platforms | 1 +
 1 file changed, 1 insertion(+)

Comments

Catalin Marinas Jan. 28, 2016, 10:34 a.m. UTC | #1
On Wed, Jan 27, 2016 at 04:10:30PM -0700, dann frazier wrote:
> 16K page size is an optional feature of the architecture, and is not
> supported by the X-Gene SoC family.
> 
> Signed-off-by: dann frazier <dann.frazier@canonical.com>
> ---
>  arch/arm64/Kconfig.platforms | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index 21074f6..b241290 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -133,6 +133,7 @@ config ARCH_VEXPRESS
>  
>  config ARCH_XGENE
>  	bool "AppliedMicro X-Gene SOC Family"
> +	depends on !ARM64_16K_PAGES
>  	help
>  	  This enables support for AppliedMicro X-Gene SOC Family

This would be the case on Juno as well. But maybe at some point the
X-Gene family would gain a CPU with such support.

Anyway, I would rather make 16K pages depend on EXPERT, make it a bit
harder to enable. We've had a few questions recently about enabling it
on CPUs that don't have such feature.
Will Deacon Jan. 28, 2016, 11:08 a.m. UTC | #2
On Thu, Jan 28, 2016 at 10:34:41AM +0000, Catalin Marinas wrote:
> On Wed, Jan 27, 2016 at 04:10:30PM -0700, dann frazier wrote:
> > 16K page size is an optional feature of the architecture, and is not
> > supported by the X-Gene SoC family.
> > 
> > Signed-off-by: dann frazier <dann.frazier@canonical.com>
> > ---
> >  arch/arm64/Kconfig.platforms | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> > index 21074f6..b241290 100644
> > --- a/arch/arm64/Kconfig.platforms
> > +++ b/arch/arm64/Kconfig.platforms
> > @@ -133,6 +133,7 @@ config ARCH_VEXPRESS
> >  
> >  config ARCH_XGENE
> >  	bool "AppliedMicro X-Gene SOC Family"
> > +	depends on !ARM64_16K_PAGES
> >  	help
> >  	  This enables support for AppliedMicro X-Gene SOC Family
> 
> This would be the case on Juno as well. But maybe at some point the
> X-Gene family would gain a CPU with such support.
> 
> Anyway, I would rather make 16K pages depend on EXPERT, make it a bit
> harder to enable. We've had a few questions recently about enabling it
> on CPUs that don't have such feature.

I thought there was also a suggestion that we could fail gracefully in
the EFI stub if we detected an unsupported page size?

Will
Mark Rutland Jan. 28, 2016, 11:20 a.m. UTC | #3
On Thu, Jan 28, 2016 at 11:08:20AM +0000, Will Deacon wrote:
> On Thu, Jan 28, 2016 at 10:34:41AM +0000, Catalin Marinas wrote:
> > On Wed, Jan 27, 2016 at 04:10:30PM -0700, dann frazier wrote:
> > > 16K page size is an optional feature of the architecture, and is not
> > > supported by the X-Gene SoC family.
> > > 
> > > Signed-off-by: dann frazier <dann.frazier@canonical.com>
> > > ---
> > >  arch/arm64/Kconfig.platforms | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> > > index 21074f6..b241290 100644
> > > --- a/arch/arm64/Kconfig.platforms
> > > +++ b/arch/arm64/Kconfig.platforms
> > > @@ -133,6 +133,7 @@ config ARCH_VEXPRESS
> > >  
> > >  config ARCH_XGENE
> > >  	bool "AppliedMicro X-Gene SOC Family"
> > > +	depends on !ARM64_16K_PAGES
> > >  	help
> > >  	  This enables support for AppliedMicro X-Gene SOC Family
> > 
> > This would be the case on Juno as well. But maybe at some point the
> > X-Gene family would gain a CPU with such support.
> > 
> > Anyway, I would rather make 16K pages depend on EXPERT, make it a bit
> > harder to enable. We've had a few questions recently about enabling it
> > on CPUs that don't have such feature.
> 
> I thought there was also a suggestion that we could fail gracefully in
> the EFI stub if we detected an unsupported page size?

Yup. There are other things we could/should test, too.

I believe Jeremy had a patch, but due to churn in that area it didn't
get picked up.

Mark.
Mark Rutland Jan. 28, 2016, 11:24 a.m. UTC | #4
On Wed, Jan 27, 2016 at 04:10:30PM -0700, dann frazier wrote:
> 16K page size is an optional feature of the architecture,

Technically, support for any particular page size and endianness
configuration is an optional architectural feature.

I don't think we can capture this information for each SoC family or
specific SoC.

The best thing we can do is early checks in the EFI stub (and
potentially bootloaders) to check whether the kernel's configured page
size and endianness is implemented.

Thanks,
Mark.

> and is not supported by the X-Gene SoC family.
> 
> Signed-off-by: dann frazier <dann.frazier@canonical.com>
> ---
>  arch/arm64/Kconfig.platforms | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index 21074f6..b241290 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -133,6 +133,7 @@ config ARCH_VEXPRESS
>  
>  config ARCH_XGENE
>  	bool "AppliedMicro X-Gene SOC Family"
> +	depends on !ARM64_16K_PAGES
>  	help
>  	  This enables support for AppliedMicro X-Gene SOC Family
>  
> -- 
> 2.7.0
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Suzuki K Poulose Jan. 28, 2016, 11:27 a.m. UTC | #5
On 28/01/16 11:08, Will Deacon wrote:
> On Thu, Jan 28, 2016 at 10:34:41AM +0000, Catalin Marinas wrote:
>> On Wed, Jan 27, 2016 at 04:10:30PM -0700, dann frazier wrote:
>>> 16K page size is an optional feature of the architecture, and is not
>>> supported by the X-Gene SoC family.

   This enables support for AppliedMicro X-Gene SOC Family
>>
>> This would be the case on Juno as well. But maybe at some point the
>> X-Gene family would gain a CPU with such support.
>>
>> Anyway, I would rather make 16K pages depend on EXPERT, make it a bit
>> harder to enable. We've had a few questions recently about enabling it
>> on CPUs that don't have such feature.
>
> I thought there was also a suggestion that we could fail gracefully in
> the EFI stub if we detected an unsupported page size?

Yes, there was. But then it was also recommended [1] to add a new stubbed function
for both arm & arm64, where it got lost. May be we should revive it.

https://lkml.org/lkml/2015/10/15/489


Thanks
Suzuki
Ard Biesheuvel Jan. 28, 2016, 11:30 a.m. UTC | #6
On 28 January 2016 at 12:27, Suzuki K. Poulose <Suzuki.Poulose@arm.com> wrote:
> On 28/01/16 11:08, Will Deacon wrote:
>>
>> On Thu, Jan 28, 2016 at 10:34:41AM +0000, Catalin Marinas wrote:
>>>
>>> On Wed, Jan 27, 2016 at 04:10:30PM -0700, dann frazier wrote:
>>>>
>>>> 16K page size is an optional feature of the architecture, and is not
>>>> supported by the X-Gene SoC family.
>
>
>   This enables support for AppliedMicro X-Gene SOC Family
>>>
>>>
>>> This would be the case on Juno as well. But maybe at some point the
>>> X-Gene family would gain a CPU with such support.
>>>
>>> Anyway, I would rather make 16K pages depend on EXPERT, make it a bit
>>> harder to enable. We've had a few questions recently about enabling it
>>> on CPUs that don't have such feature.
>>
>>
>> I thought there was also a suggestion that we could fail gracefully in
>> the EFI stub if we detected an unsupported page size?
>
>
> Yes, there was. But then it was also recommended [1] to add a new stubbed
> function
> for both arm & arm64, where it got lost. May be we should revive it.
>
> https://lkml.org/lkml/2015/10/15/489
>

I can pick this up
Suzuki K Poulose Jan. 28, 2016, 11:34 a.m. UTC | #7
On 28/01/16 11:30, Ard Biesheuvel wrote:
> On 28 January 2016 at 12:27, Suzuki K. Poulose <Suzuki.Poulose@arm.com> wrote:
>> On 28/01/16 11:08, Will Deacon wrote:

>>> I thought there was also a suggestion that we could fail gracefully in
>>> the EFI stub if we detected an unsupported page size?
>>
>>
>> Yes, there was. But then it was also recommended [1] to add a new stubbed
>> function
>> for both arm & arm64, where it got lost. May be we should revive it.
>>
>> https://lkml.org/lkml/2015/10/15/489
>>
>
> I can pick this up
>

Thanks Ard.


Cheers
Suzuki
Jeremy Linton Jan. 28, 2016, 2:50 p.m. UTC | #8
On 01/28/2016 05:20 AM, Mark Rutland wrote:
> On Thu, Jan 28, 2016 at 11:08:20AM +0000, Will Deacon wrote:
>> On Thu, Jan 28, 2016 at 10:34:41AM +0000, Catalin Marinas wrote:

>> I thought there was also a suggestion that we could fail gracefully in
>> the EFI stub if we detected an unsupported page size?
>
> Yup. There are other things we could/should test, too.
>
> I believe Jeremy had a patch, but due to churn in that area it didn't
> get picked up.

I will clean-up and re-post that patch in the future too. It was fairly 
trivial so if someone feels the need for immediately...

https://lkml.org/lkml/2015/10/14/948

IMHO, The main sticking point initially was that the correct place for 
the check was a moving target. That problem has been fixed, so it should 
be easy to move it.
diff mbox

Patch

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 21074f6..b241290 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -133,6 +133,7 @@  config ARCH_VEXPRESS
 
 config ARCH_XGENE
 	bool "AppliedMicro X-Gene SOC Family"
+	depends on !ARM64_16K_PAGES
 	help
 	  This enables support for AppliedMicro X-Gene SOC Family