]> git.proxmox.com Git - qemu.git/commitdiff
Set limits for memory size to avoid overlap with devices
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 17 May 2007 19:25:14 +0000 (19:25 +0000)
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 17 May 2007 19:25:14 +0000 (19:25 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2823 c046a42c-6fe2-441c-8c8c-71466251a162

hw/sun4m.c

index fc410bdd7fe709d8d54475d10e80a1b3905f454f..ec195def4a55e9d6008bd51192ad7d39676b8d05 100644 (file)
@@ -478,8 +478,13 @@ static const struct hwdef hwdefs[] = {
 static void sun4m_common_init(int ram_size, int boot_device, DisplayState *ds,
                               const char *kernel_filename, const char *kernel_cmdline,
                               const char *initrd_filename, const char *cpu_model,
-                              unsigned int machine)
+                              unsigned int machine, int max_ram)
 {
+    if (ram_size > max_ram) {
+        fprintf(stderr, "qemu: Too much memory for this machine: %d, maximum %d\n",
+                ram_size / (1024 * 1024), max_ram / (1024 * 1024));
+        exit(1);
+    }
     sun4m_hw_init(&hwdefs[machine], ram_size, ds, cpu_model);
 
     sun4m_load_kernel(hwdefs[machine].vram_size, ram_size, boot_device,
@@ -497,7 +502,7 @@ static void ss5_init(int ram_size, int vga_ram_size, int boot_device,
         cpu_model = "Fujitsu MB86904";
     sun4m_common_init(ram_size, boot_device, ds, kernel_filename,
                       kernel_cmdline, initrd_filename, cpu_model,
-                      0);
+                      0, 0x10000000);
 }
 
 /* SPARCstation 10 hardware initialisation */
@@ -510,7 +515,7 @@ static void ss10_init(int ram_size, int vga_ram_size, int boot_device,
         cpu_model = "TI SuperSparc II";
     sun4m_common_init(ram_size, boot_device, ds, kernel_filename,
                       kernel_cmdline, initrd_filename, cpu_model,
-                      1);
+                      1, 0x20000000); // XXX tcx overlap, actually first 4GB ok
 }
 
 QEMUMachine ss5_machine = {