menu "Sandbox architecture"
	depends on SANDBOX

config SYS_ARCH
	default "sandbox"

config SYS_BOARD
	default "sandbox"

config SYS_CPU
	default "sandbox"

config SANDBOX64
	bool "Use 64-bit addresses"
	select PHYS_64BIT
	depends on HOST_64BIT

config SANDBOX_RAM_SIZE_MB
	int "RAM size in MiB"
	default 256
	range 64 4095 if !SANDBOX64
	range 64 268435456 if SANDBOX64
	help
	  Memory size of the sandbox in MiB. The default value is 256 MiB.
	  The minimum value is 64 MiB. The maximum value is 4095 MiB for the
	  32bit sandbox.

config SANDBOX_SPL
	bool "Enable SPL for sandbox"
	depends on !COMPILE_TEST
	select SUPPORT_SPL

config SANDBOX_TPL
	bool "Enable TPL for sandbox"
	depends on !COMPILE_TEST
	select SUPPORT_TPL

config SANDBOX_VPL
	bool "Enable VPL for sandbox"
	depends on !COMPILE_TEST
	select SUPPORT_VPL

config SYS_CONFIG_NAME
	default "sandbox_spl" if SANDBOX_SPL
	default "sandbox" if !SANDBOX_SPL

config HOST_32BIT
	def_bool ! $(cc-define,_LP64)

config HOST_64BIT
	def_bool $(cc-define,_LP64)
	select 64BIT
	select SPL_64BIT if SPL

config HOST_HAS_SDL
	def_bool $(success,sdl2-config --version)

config SANDBOX_SDL
	bool "Enable SDL2 support in sandbox"
	default HOST_HAS_SDL

config SANDBOX_CRASH_RESET
	bool "Reset on crash"
	help
	  If an illegal instruction or an illegal memory access occurs, the
	  sandbox exits with an error by default.

	  If the u-boot binary is invoked with --signals (or -S), U-Boot will
	  handle the signal writing a crash dump before exiting.

	  If you additionally set the CONFIG_SANDBOX_CRASH_RESET flag, the
	  sandbox is reset after writing the crash dump. This may be useful
	  when running test suites like the UEFI self certification test which
	  continue with the next test after a crash.

config SANDBOX_BITS_PER_LONG
	int
	default 32 if HOST_32BIT
	default 64 if HOST_64BIT

config SYS_FDT_LOAD_ADDR
	hex "Address at which to load devicetree"
	default 0x1000
	help
	  With sandbox the devicetree is loaded into the emulated RAM. This sets
	  the address that is used. There must be enough space at this address
	  to load the full devicetree without it overwriting anything else.

	  See `doc/arch/sandbox.rst` for more information.

endmenu

config FWU_NUM_BANKS
	default 2

config FWU_NUM_IMAGES_PER_BANK
	default 2
