microblaze: linux-user support.
[qemu] / hw / gumstix.c
index 2cf52f9..85b95ee 100644 (file)
 
 static const int sector_len = 128 * 1024;
 
-static void connex_init(int ram_size, int vga_ram_size,
-                const char *boot_device, DisplayState *ds,
+static void connex_init(ram_addr_t ram_size,
+                const char *boot_device,
                 const char *kernel_filename, const char *kernel_cmdline,
                 const char *initrd_filename, const char *cpu_model)
 {
-    struct pxa2xx_state_s *cpu;
+    PXA2xxState *cpu;
     int index;
 
     uint32_t connex_rom = 0x01000000;
     uint32_t connex_ram = 0x04000000;
 
-    if (ram_size < (connex_ram + connex_rom + PXA2XX_INTERNAL_SIZE)) {
-        fprintf(stderr, "This platform requires %i bytes of memory\n",
-                connex_ram + connex_rom + PXA2XX_INTERNAL_SIZE);
-        exit(1);
-    }
-
-    cpu = pxa255_init(connex_ram, ds);
+    cpu = pxa255_init(connex_ram);
 
     index = drive_get_index(IF_PFLASH, 0, 0);
     if (index == -1) {
@@ -81,24 +75,18 @@ static void connex_init(int ram_size, int vga_ram_size,
                     pxa2xx_gpio_in_get(cpu->gpio)[36]);
 }
 
-static void verdex_init(int ram_size, int vga_ram_size,
-                const char *boot_device, DisplayState *ds,
+static void verdex_init(ram_addr_t ram_size,
+                const char *boot_device,
                 const char *kernel_filename, const char *kernel_cmdline,
                 const char *initrd_filename, const char *cpu_model)
 {
-    struct pxa2xx_state_s *cpu;
+    PXA2xxState *cpu;
     int index;
 
     uint32_t verdex_rom = 0x02000000;
     uint32_t verdex_ram = 0x10000000;
 
-    if (ram_size < (verdex_ram + verdex_rom + PXA2XX_INTERNAL_SIZE)) {
-        fprintf(stderr, "This platform requires %i bytes of memory\n",
-                verdex_ram + verdex_rom + PXA2XX_INTERNAL_SIZE);
-        exit(1);
-    }
-
-    cpu = pxa270_init(verdex_ram, ds, cpu_model ?: "pxa270-c0");
+    cpu = pxa270_init(verdex_ram, cpu_model ?: "pxa270-c0");
 
     index = drive_get_index(IF_PFLASH, 0, 0);
     if (index == -1) {
@@ -121,14 +109,22 @@ static void verdex_init(int ram_size, int vga_ram_size,
                     pxa2xx_gpio_in_get(cpu->gpio)[99]);
 }
 
-QEMUMachine connex_machine = {
-    "connex",
-    "Gumstix Connex (PXA255)",
-    connex_init,
+static QEMUMachine connex_machine = {
+    .name = "connex",
+    .desc = "Gumstix Connex (PXA255)",
+    .init = connex_init,
 };
 
-QEMUMachine verdex_machine = {
-    "verdex",
-    "Gumstix Verdex (PXA270)",
-    verdex_init,
+static QEMUMachine verdex_machine = {
+    .name = "verdex",
+    .desc = "Gumstix Verdex (PXA270)",
+    .init = verdex_init,
 };
+
+static void gumstix_machine_init(void)
+{
+    qemu_register_machine(&connex_machine);
+    qemu_register_machine(&verdex_machine);
+}
+
+machine_init(gumstix_machine_init);