[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 4/9] versatilepb: do not run if user asks for more th
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 4/9] versatilepb: do not run if user asks for more than 256MB RAM |
Date: |
Fri, 28 Oct 2016 15:59:19 +0100 |
From: Jean-Christophe Dubois <address@hidden>
The versatilepb physical address space layout only has
a 256MB region for RAM before the devices. Without a guard
on the amount of RAM requested by the user we would happily
create a RAM area that overlapped with the devices, resulting
in very confusing behaviour (typically a guest crash).
Report the problem to the user if they try to request more
RAM than the board can handle (as we do already for some
other board models).
Signed-off-by: Jean-Christophe Dubois <address@hidden>
Message-id: address@hidden
[PMM: tidied up commit message, comments. Use error_report()
rather than fprintf(stderr, ...).]
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
---
hw/arm/versatilepb.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c
index 8ae5392..7b5cb36 100644
--- a/hw/arm/versatilepb.c
+++ b/hw/arm/versatilepb.c
@@ -198,6 +198,15 @@ static void versatile_init(MachineState *machine, int
board_id)
int done_smc = 0;
DriveInfo *dinfo;
+ if (machine->ram_size > 0x10000000) {
+ /* Device starting at address 0x10000000,
+ * and memory cannot overlap with devices.
+ * Refuse to run rather than behaving very confusingly.
+ */
+ error_report("versatilepb: memory size must not exceed 256MB");
+ exit(1);
+ }
+
if (!machine->cpu_model) {
machine->cpu_model = "arm926";
}
--
2.7.4
- [Qemu-devel] [PULL 0/9] target-arm queue, Peter Maydell, 2016/10/28
- [Qemu-devel] [PULL 8/9] hw/arm/spitz: Fix reset handling, Peter Maydell, 2016/10/28
- [Qemu-devel] [PULL 7/9] arm: virt: add PMU property to mach-virt machine type, Peter Maydell, 2016/10/28
- [Qemu-devel] [PULL 3/9] hw/arm/pxa2xx: Set value default values for CCCR and CKEN on PXA255, Peter Maydell, 2016/10/28
- [Qemu-devel] [PULL 9/9] hw/arm/tosa: Fix reset handling, Peter Maydell, 2016/10/28
- [Qemu-devel] [PULL 5/9] char: cadence: correct reset value for baud rate registers, Peter Maydell, 2016/10/28
- [Qemu-devel] [PULL 4/9] versatilepb: do not run if user asks for more than 256MB RAM,
Peter Maydell <=
- [Qemu-devel] [PULL 6/9] arm: Add an option to turn on/off vPMU support, Peter Maydell, 2016/10/28
- [Qemu-devel] [PULL 1/9] i.MX: Fix GPIO ISR register write, Peter Maydell, 2016/10/28
- [Qemu-devel] [PULL 2/9] arm: cubieboard: Add support for initrd, Peter Maydell, 2016/10/28
- Re: [Qemu-devel] [PULL 0/9] target-arm queue, Peter Maydell, 2016/10/31