Re: [RFC PATCH 02/17] powerpc: Split up PHYS_64BIT config optionto fix "select" issues

From: Timur Tabi
Date: Thu Nov 10 2011 - 09:04:22 EST


Kyle Moffett wrote:
> CONFIG_PHYS_64BIT_SUPPORTED:
> This hidden option should be selected by any CPU type which supports
> 64-bit physical addresses. This will enable the PHYS_64BIT option
> to be selected. It is (obviously) always set on PPC64.
>
> CONFIG_PHYS_64BIT_DT_REQUIRED:
> This hidden option should be selected by any board or platform which
> has >32-bit physical devices present in hardware. If this is set
> then the CONFIG_PHYS_64BIT option will be forcibly enabled and
> hidden from the user. It is (obviously) always set on PPC64.
>
> CONFIG_PHYS_64BIT:
> This option is user-controllable, where allowed by CPU and platform
> settings, and should never be pointed at with a "select" statement.
> Due to the values of the above two options, this is never visible on
> PPC64.

I'm with Kumar on this. I don't see the point of making it so complicated. No kernel should ever have to care with a DT is 64-bit or 32-bit. If you build a kernel with 64-bit phys support, then it will work with any DT.

U-Boot already warns you if the DT and the actual physical addresses of the devices don't match.

There are only two reasons to create a 32-bit kernel:

1) A small performance improvement on systems with 2GB or less.
2) Some SOC devices only support 32-bit physical addresses, so the easiest way to ensure a compatible address is to prohibit memory above 4GB.

Item #2 is not something that we really worry about. It's only a real problem on true 64-bit kernels, and in those cases, we cannot build a kernel with 32-bit phys support, so the driver needs to handle it internally.

--
Timur Tabi
Linux kernel developer at Freescale

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/