hw/hppa/machine: Restrict the total memory size to 3GB
The hardware expects DIMM slots of 1 or 2 GB, allowing up to 4 GB of memory. We want to accept the same amount of memory the hardware can deal with. DIMMs of 768MB are not available. However we have to deal with a firmware limitation: currently SeaBIOS only supports 32-bit, and expects the RAM size in a 32-bit register. When using a 4GB configuration, the 32-bit register get truncated and we report a size of 0MB to SeaBIOS, which ends halting the machine: $ qemu-system-hppa -m 4g -serial stdio SeaBIOS: Machine configured with too little memory (0 MB), minimum is 16 MB. SeaBIOS wants SYSTEM HALT. The easiest way is to restrict the machine to 3GB of memory. Acked-by: Helge Deller <deller@gmx.de> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20200109000525.24744-3-f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
8262863d4b
commit
b7746b1194
@ -92,12 +92,11 @@ static void machine_hppa_init(MachineState *machine)
|
||||
g_free(name);
|
||||
}
|
||||
|
||||
/* Limit main memory. */
|
||||
if (ram_size > FIRMWARE_START) {
|
||||
machine->ram_size = ram_size = FIRMWARE_START;
|
||||
}
|
||||
|
||||
/* Main memory region. */
|
||||
if (machine->ram_size > 3 * GiB) {
|
||||
error_report("RAM size is currently restricted to 3GB");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
ram_region = g_new(MemoryRegion, 1);
|
||||
memory_region_allocate_system_memory(ram_region, OBJECT(machine),
|
||||
"ram", ram_size);
|
||||
|
Loading…
Reference in New Issue
Block a user