[PATCH 1/2] powerpc/85xx: fix problem that prevents PHYS_64BIT from configurable
Benjamin Herrenschmidt
benh at kernel.crashing.org
Fri Feb 17 19:42:25 EST 2012
On Thu, 2012-02-16 at 20:10 +0800, Li Yang wrote:
> Fix the problem that large physical address support cannot be
> disabled when some platforms which only provides 36-bit support
> are selected. According to the philosophy of kernel config
> enabling a platform support doesn't mean the kernel is only
> running on that platform. Remove the auto selection of PHYS_64BIT
> option for these platforms. They will need to use a 36bit default
> config that selects PHYS_64BIT explicitly.
No, but unless I'm wrong, with your patch, enabling those platforms will
build the code ... but they won't work unless you -also- enable
PHYS_64BIT one way or another. I thus disagree.
If I enable CONFIG_P1022_DS, I expect those boards to work.
If that's going to negatively impact perfs on other boards that I also
enabled, then so be it (and we should document it in the help text).
Cheers,
Ben.
> The reason why we need to keep PHYS_64BIT option configurable is
> that enabling it cause negative performance impact on various
> aspects like TLB miss and physical address manipulating. We should
> not enable it unless really needed, e.g. use large memory of 4GB
> or bigger.
>
> Signed-off-by: Li Yang <leoli at freescale.com>
> ---
> arch/powerpc/platforms/85xx/Kconfig | 6 ------
> 1 files changed, 0 insertions(+), 6 deletions(-)
>
> diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
> index d7946be..d9bc0bd 100644
> --- a/arch/powerpc/platforms/85xx/Kconfig
> +++ b/arch/powerpc/platforms/85xx/Kconfig
> @@ -80,7 +80,6 @@ config P1010_RDB
> config P1022_DS
> bool "Freescale P1022 DS"
> select DEFAULT_UIMAGE
> - select PHYS_64BIT # The DTS has 36-bit addresses
> select SWIOTLB
> help
> This option enables support for the Freescale P1022DS reference board.
> @@ -175,7 +174,6 @@ config P2041_RDB
> bool "Freescale P2041 RDB"
> select DEFAULT_UIMAGE
> select PPC_E500MC
> - select PHYS_64BIT
> select SWIOTLB
> select ARCH_REQUIRE_GPIOLIB
> select GPIO_MPC8XXX
> @@ -188,7 +186,6 @@ config P3041_DS
> bool "Freescale P3041 DS"
> select DEFAULT_UIMAGE
> select PPC_E500MC
> - select PHYS_64BIT
> select SWIOTLB
> select ARCH_REQUIRE_GPIOLIB
> select GPIO_MPC8XXX
> @@ -201,7 +198,6 @@ config P3060_QDS
> bool "Freescale P3060 QDS"
> select DEFAULT_UIMAGE
> select PPC_E500MC
> - select PHYS_64BIT
> select SWIOTLB
> select GPIO_MPC8XXX
> select HAS_RAPIDIO
> @@ -213,7 +209,6 @@ config P4080_DS
> bool "Freescale P4080 DS"
> select DEFAULT_UIMAGE
> select PPC_E500MC
> - select PHYS_64BIT
> select SWIOTLB
> select ARCH_REQUIRE_GPIOLIB
> select GPIO_MPC8XXX
> @@ -229,7 +224,6 @@ config P5020_DS
> select DEFAULT_UIMAGE
> select E500
> select PPC_E500MC
> - select PHYS_64BIT
> select SWIOTLB
> select ARCH_REQUIRE_GPIOLIB
> select GPIO_MPC8XXX
More information about the Linuxppc-dev
mailing list