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 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev