On Sat, Oct 15, 2022 at 06:54:02AM +0200, Heinrich Schuchardt wrote: > On 10/14/22 22:52, Michal Suchanek wrote: > > Currently sandbox configuration defautls to 64bit and there is no > > automation for building 32bit sandbox on 32bit hosts. > > > > Use _LP64 macro as heuristic for detecting 64bit targets. > > > > Signed-off-by: Michal Suchanek <msucha...@suse.de> > > Please, explain why you think a Kconfig level patch is preferable to > what I proposed in > > [PATCH] sandbox: Eliminate CONFIG_HOST_32/64BIT > https://lists.denx.de/pipermail/u-boot/2022-October/497236.html
The existing dependency canot be described when the option is eliminated: > config SANDBOX64 > bool "Use 64-bit addresses" > select PHYS_64BIT > - select HOST_64BIT > + depends on HOST_64BIT If we can run SANDBOX64 on 32bit eliminating the option is fine. Thanks Michal > > > --- > > > > Changes in v2: > > simplify and move detection to kconfig > > > > --- > > arch/sandbox/Kconfig | 18 +++--------------- > > scripts/Kconfig.include | 4 ++++ > > 2 files changed, 7 insertions(+), 15 deletions(-) > > > > diff --git a/arch/sandbox/Kconfig b/arch/sandbox/Kconfig > > index 852a7c8bf2..35508c6b29 100644 > > --- a/arch/sandbox/Kconfig > > +++ b/arch/sandbox/Kconfig > > @@ -13,7 +13,7 @@ config SYS_CPU > > config SANDBOX64 > > bool "Use 64-bit addresses" > > select PHYS_64BIT > > - select HOST_64BIT > > + depends on HOST_64BIT > > > > config SANDBOX_RAM_SIZE_MB > > int "RAM size in MiB" > > @@ -41,23 +41,11 @@ config SYS_CONFIG_NAME > > default "sandbox_spl" if SANDBOX_SPL > > default "sandbox" if !SANDBOX_SPL > > > > -choice > > - prompt "Run sandbox on 32/64-bit host" > > - default HOST_64BIT > > - help > > - Sandbox can be built on 32-bit and 64-bit hosts. > > - The default is to build on a 64-bit host and run > > - on a 64-bit host. If you want to run sandbox on > > - a 32-bit host, change it here. > > - > > config HOST_32BIT > > - bool "32-bit host" > > - depends on !PHYS_64BIT > > + def_bool ! $(cc-define,_LP64) > > > > config HOST_64BIT > > - bool "64-bit host" > > - > > -endchoice > > + def_bool $(cc-define,_LP64) > > > > config SANDBOX_CRASH_RESET > > bool "Reset on crash" > > diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include > > index dad5583451..b7598ca5d9 100644 > > --- a/scripts/Kconfig.include > > +++ b/scripts/Kconfig.include > > This include is copied from Linux. From time to time we synchronize the > Kconfig framework from Linux. So we should avoid U-Boot specific changes > here. > > Best regards > > Heinrich > > > @@ -22,6 +22,10 @@ success = $(if-success,$(1),y,n) > > # Return y if the compiler supports <flag>, n otherwise > > cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null) > > > > +# $(cc-define,<macro>) > > +# Return y if the compiler defines <macro>, n otherwise > > +cc-define = $(success,$(CC) -dM -E -x c /dev/null | grep -q '^#define > > \<$(1)\>') > > + > > # $(ld-option,<flag>) > > # Return y if the linker supports <flag>, n otherwise > > ld-option = $(success,$(LD) -v $(1)) >