[U-Boot] [PATCH] tree-wide: move CONFIG_PHYS_64BIT to Kconfig

Masahiro Yamada yamada.masahiro at socionext.com
Mon Jul 25 12:58:24 CEST 2016


Hi Tom,


2016-07-25 1:55 GMT+09:00 Tom Rini <trini at konsulko.com>:
> On Sun, Jul 24, 2016 at 10:12:50PM +0900, Masahiro Yamada wrote:
>
>> I tried my best to use "select" where possible (for example, ARMv8
>> architecture) because I think this kind of option is generally user-
>> unconfigurable.  However, I see some of PowerPC boards have 36BIT
>> defconfigs as well as 32BIT ones.  I moved CONFIG_PHYS_64BIT to the
>> defconfigs for such boards.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
>
> Thanks for doing this, I'm sure it's going to fix a few other "hidden"
> bugs, aside from the USB one that we've already found.  Can you please
> add in, roughtly:
>
> We need to ensure that CONFIG_PHYS_64BIT is configured via Kconfig so
> that it is always available to the build system.  Otherwise we can run
> into cases where we have inconsistent sizes of certain attributes.
> Fixes: 95ebc25 (types.h: move and redefine resource_size_t)
> Reported-by:  Ravi Babu <ravibabu at ti.com>


I did so in v2.

> Also:
>
>> diff --git a/Kconfig b/Kconfig
>> index ef12f9f..d7eda49 100644
>> --- a/Kconfig
>> +++ b/Kconfig
>> @@ -124,6 +124,12 @@ config TOOLS_DEBUG
>>         debug through the source code, etc.
>>
>>  endif
>> +
>> +config PHYS_64BIT
>> +       bool "64bit physical address support"
>> +       help
>> +         Say Y here to support 64bit physical memory address.
>
> Aside from the case of a 64bit CPU this is also needed on 32bit systems
> that offer a larger than 32bit address space.

Right.  Like ARM LPAE.

I noted this in the Kconfig help.




>> diff --git a/configs/MPC8536DS_36BIT_defconfig b/configs/MPC8536DS_36BIT_defconfig
>> index 2ffc647..02cd9c7 100644
>> --- a/configs/MPC8536DS_36BIT_defconfig
>> +++ b/configs/MPC8536DS_36BIT_defconfig
>> @@ -1,6 +1,7 @@
>>  CONFIG_PPC=y
>>  CONFIG_MPC85xx=y
>>  CONFIG_TARGET_MPC8536DS=y
>> +CONFIG_PHYS_64BIT=y
>>  CONFIG_OF_BOARD_SETUP=y
>>  CONFIG_OF_STDOUT_VIA_ALIAS=y
>>  CONFIG_SYS_EXTRA_OPTIONS="36BIT"
>
> Then on these 32bit CPU + 36bit address space boards we can now remove
> 36BIT from CONFIG_SYS_EXTRA_OPTIONS as this is all that's triggered by
> CONFIG_36BIT now.  Thanks!


Good catch.

I do not like fiddling with sed again and again,
I wrote this patch:
http://patchwork.ozlabs.org/patch/652215/

I hope you will like it.



-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list