From: Mark Cave-Ayland <mark.caveayl...@nutanix.com>

Since the isapc machine is now limited to using 32-bit CPUs, add a hard 
restriction
so that the machine cannot be started with more than 3.5G memory. This matches 
the
default value for max_ram_below_4g if not specified and provides consistent
behaviour betweem TCG and KVM accelerators.

Signed-off-by: Mark Cave-Ayland <mark.caveayl...@nutanix.com>
Link: 
https://lore.kernel.org/r/20250828111057.468712-3-mark.caveayl...@nutanix.com
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
 hw/i386/pc_piix.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 8f5fb3cf90b..9a3b5d88f08 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -461,6 +461,12 @@ static void pc_init_isa(MachineState *machine)
         warn_report("-cpu host is invalid for isapc machine, using pentium3");
     }
 
+    if (machine->ram_size > 3.5 * GiB) {
+        error_report("Too much memory for this machine: %" PRId64 " MiB, "
+                     "maximum 3584 MiB", machine->ram_size / MiB);
+        exit(1);
+    }
+
     pc_init1(machine, NULL);
 }
 #endif
-- 
2.51.0


Reply via email to