aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/sandbox/Kconfig10
-rw-r--r--arch/sandbox/include/asm/state.h2
-rw-r--r--include/configs/sandbox.h5
3 files changed, 15 insertions, 2 deletions
diff --git a/arch/sandbox/Kconfig b/arch/sandbox/Kconfig
index 2a08533..65f988e 100644
--- a/arch/sandbox/Kconfig
+++ b/arch/sandbox/Kconfig
@@ -15,6 +15,16 @@ config SANDBOX64
select PHYS_64BIT
select HOST_64BIT
+config SANDBOX_RAM_SIZE_MB
+ int "RAM size in MiB"
+ default 128
+ range 64 4095 if !SANDBOX64
+ range 64 268435456 if SANDBOX64
+ help
+ Memory size of the sandbox in MiB. The default value is 128 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"
select SUPPORT_SPL
diff --git a/arch/sandbox/include/asm/state.h b/arch/sandbox/include/asm/state.h
index 705645d..1bfad30 100644
--- a/arch/sandbox/include/asm/state.h
+++ b/arch/sandbox/include/asm/state.h
@@ -73,7 +73,7 @@ struct sandbox_state {
char **argv; /* Command line arguments */
const char *jumped_fname; /* Jumped from previous U_Boot */
uint8_t *ram_buf; /* Emulated RAM buffer */
- unsigned int ram_size; /* Size of RAM buffer */
+ unsigned long ram_size; /* Size of RAM buffer */
const char *ram_buf_fname; /* Filename to use for RAM buffer */
bool ram_buf_rm; /* Remove RAM buffer file after read */
bool write_ram_buf; /* Write RAM buffer on exit */
diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
index 1a981a7..0353a19 100644
--- a/include/configs/sandbox.h
+++ b/include/configs/sandbox.h
@@ -47,8 +47,11 @@
#define CONFIG_PHYSMEM
/* Size of our emulated memory */
+#define SB_CONCAT(x, y) x ## y
+#define SB_TO_UL(s) SB_CONCAT(s, UL)
#define CONFIG_SYS_SDRAM_BASE 0
-#define CONFIG_SYS_SDRAM_SIZE (128 << 20)
+#define CONFIG_SYS_SDRAM_SIZE \
+ (SB_TO_UL(CONFIG_SANDBOX_RAM_SIZE_MB) << 20)
#define CONFIG_SYS_MONITOR_BASE 0
#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\