[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stable-8.2.1 29/38] hw/hppa/machine: Allow up to 3840 MB total memory
From: |
Michael Tokarev |
Subject: |
[Stable-8.2.1 29/38] hw/hppa/machine: Allow up to 3840 MB total memory |
Date: |
Thu, 18 Jan 2024 10:52:56 +0300 |
From: Helge Deller <deller@gmx.de>
The physical hardware allows DIMMs of 4 MB size and above, allowing up
to 3840 MB of memory, but is restricted by setup code to 3 GB.
Increase the limit to allow up to the maximum amount of memory.
Btw. the memory area from 0xf000.0000 to 0xffff.ffff is reserved by
the architecture for firmware and I/O memory and can not be used for
standard memory.
An upcoming 64-bit SeaBIOS-hppa firmware will allow more than 3.75GB
on 64-bit HPPA64. In this case the ram_max for the pa20 case will change.
Signed-off-by: Helge Deller <deller@gmx.de>
Noticed-by: Nelson H. F. Beebe <beebe@math.utah.edu>
Fixes: b7746b1194c8 ("hw/hppa/machine: Restrict the total memory size to 3GB")
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Bruno Haible <bruno@clisp.org>
(cherry picked from commit 92039f61af89629f268e04255946c2a3fa0c453f)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index c8da7c18d5..b11907617e 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -276,6 +276,7 @@ static TranslateFn
*machine_HP_common_init_cpus(MachineState *machine)
unsigned int smp_cpus = machine->smp.cpus;
TranslateFn *translate;
MemoryRegion *cpu_region;
+ uint64_t ram_max;
/* Create CPUs. */
for (unsigned int i = 0; i < smp_cpus; i++) {
@@ -288,8 +289,10 @@ static TranslateFn
*machine_HP_common_init_cpus(MachineState *machine)
*/
if (hppa_is_pa20(&cpu[0]->env)) {
translate = translate_pa20;
+ ram_max = 0xf0000000; /* 3.75 GB (limited by 32-bit firmware) */
} else {
translate = translate_pa10;
+ ram_max = 0xf0000000; /* 3.75 GB (32-bit CPU) */
}
for (unsigned int i = 0; i < smp_cpus; i++) {
@@ -311,9 +314,9 @@ static TranslateFn
*machine_HP_common_init_cpus(MachineState *machine)
cpu_region);
/* Main memory region. */
- if (machine->ram_size > 3 * GiB) {
- error_report("RAM size is currently restricted to 3GB");
- exit(EXIT_FAILURE);
+ if (machine->ram_size > ram_max) {
+ info_report("Max RAM size limited to %" PRIu64 " MB", ram_max / MiB);
+ machine->ram_size = ram_max;
}
memory_region_add_subregion_overlap(addr_space, 0, machine->ram, -1);
--
2.39.2
- [Stable-8.2.1 19/38] tests/acpi: allow tests/data/acpi/virt/SSDT.memhp changes, (continued)
- [Stable-8.2.1 19/38] tests/acpi: allow tests/data/acpi/virt/SSDT.memhp changes, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 20/38] edk2: update to git snapshot, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 21/38] edk2: update build config, set PcdUninstallMemAttrProtocol = TRUE., Michael Tokarev, 2024/01/18
- [Stable-8.2.1 22/38] edk2: update binaries to git snapshot, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 23/38] tests/acpi: update expected data files, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 24/38] tests/acpi: disallow tests/data/acpi/virt/SSDT.memhp changes, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 26/38] target/s390x: Fix LAE setting a wrong access register, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 25/38] tests/qtest/virtio-ccw: Fix device presence checking, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 27/38] .gitlab-ci.d/buildtest.yml: Work around htags bug when environment is large, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 28/38] readthodocs: fully specify a build environment, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 29/38] hw/hppa/machine: Allow up to 3840 MB total memory,
Michael Tokarev <=
- [Stable-8.2.1 30/38] hw/hppa/machine: Disable default devices with --nodefaults option, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 32/38] target/hppa: Fix PDC address translation on PA2.0 with PSW.W=0, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 31/38] hw/pci-host/astro: Add missing astro & elroy registers for NetBSD, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 33/38] hw/hppa: Move software power button address back into PDC, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 34/38] target/hppa: Avoid accessing %gr0 when raising exception, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 36/38] target/hppa: Fix IOR and ISR on unaligned access trap, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 35/38] target/hppa: Export function hppa_set_ior_and_isr(), Michael Tokarev, 2024/01/18
- [Stable-8.2.1 37/38] target/hppa: Fix IOR and ISR on error in probe, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 38/38] target/hppa: Update SeaBIOS-hppa to version 15, Michael Tokarev, 2024/01/18