[PATCH v2] tests: Build correct sandbox configuration on 32bit
Michal Suchánek
msuchanek at suse.de
Sat Oct 15 09:19:53 CEST 2022
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 <msuchanek at 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))
>
More information about the U-Boot
mailing list