aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiek Linnenbank <nieklinnenbank@gmail.com>2020-03-05 16:09:19 +0000
committerPeter Maydell <peter.maydell@linaro.org>2020-03-05 16:09:19 +0000
commite207245fc20aab00faf4d9c4c63fcc170e7a3ba7 (patch)
tree415a48f345421ae1db5d009a904bfc801e89b4f4
parent17c7576263339f20d77964083704f3da4e4b8c91 (diff)
hw/arm/cubieboard: restrict allowed RAM size to 512MiB and 1GiB
The Cubieboard contains either 512MiB or 1GiB of onboard RAM [1]. Prevent changing RAM to a different size which could break user programs. [1] http://linux-sunxi.org/Cubieboard Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com> Message-id: 20200227220149.6845-4-nieklinnenbank@gmail.com Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--hw/arm/cubieboard.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c
index 010375f0a8..6c55d9056f 100644
--- a/hw/arm/cubieboard.c
+++ b/hw/arm/cubieboard.c
@@ -33,6 +33,13 @@ static void cubieboard_init(MachineState *machine)
AwA10State *a10;
Error *err = NULL;
+ /* This board has fixed size RAM (512MiB or 1GiB) */
+ if (machine->ram_size != 512 * MiB &&
+ machine->ram_size != 1 * GiB) {
+ error_report("This machine can only be used with 512MiB or 1GiB RAM");
+ exit(1);
+ }
+
/* Only allow Cortex-A8 for this board */
if (strcmp(machine->cpu_type, ARM_CPU_TYPE_NAME("cortex-a8")) != 0) {
error_report("This board can only be used with cortex-a8 CPU");
@@ -78,6 +85,7 @@ static void cubieboard_machine_init(MachineClass *mc)
{
mc->desc = "cubietech cubieboard (Cortex-A8)";
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a8");
+ mc->default_ram_size = 1 * GiB;
mc->init = cubieboard_init;
mc->block_default_type = IF_IDE;
mc->units_per_default_bus = 1;