]> Git Repo - qemu.git/blobdiff - hw/syborg.c
scsi-disk: fix DPRINTF
[qemu.git] / hw / syborg.c
index e54fc95274265da907da22ccb03168d9e8c343a0..bc200e48aabdd09a56fcdec3e616761cfd88ca21 100644 (file)
@@ -25,7 +25,7 @@
 #include "sysbus.h"
 #include "boards.h"
 #include "arm-misc.h"
-#include "sysemu.h"
+#include "net.h"
 
 static struct arm_boot_info syborg_binfo;
 
@@ -50,21 +50,21 @@ static void syborg_init(ram_addr_t ram_size,
     }
 
     /* RAM at address zero. */
-    ram_addr = qemu_ram_alloc(ram_size);
+    ram_addr = qemu_ram_alloc(NULL, "syborg.ram", ram_size);
     cpu_register_physical_memory(0, ram_size, ram_addr | IO_MEM_RAM);
 
     cpu_pic = arm_pic_init_cpu(env);
     dev = sysbus_create_simple("syborg,interrupt", 0xC0000000,
                                cpu_pic[ARM_PIC_CPU_IRQ]);
     for (i = 0; i < 64; i++) {
-        pic[i] = qdev_get_irq_sink(dev, i);
+        pic[i] = qdev_get_gpio_in(dev, i);
     }
 
     sysbus_create_simple("syborg,rtc", 0xC0001000, NULL);
 
     dev = qdev_create(NULL, "syborg,timer");
-    qdev_set_prop_int(dev, "frequency", 1000000);
-    qdev_init(dev);
+    qdev_prop_set_uint32(dev, "frequency", 1000000);
+    qdev_init_nofail(dev);
     sysbus_mmio_map(sysbus_from_qdev(dev), 0, 0xC0002000);
     sysbus_connect_irq(sysbus_from_qdev(dev), 0, pic[1]);
 
@@ -76,6 +76,19 @@ static void syborg_init(ram_addr_t ram_size,
     sysbus_create_simple("syborg,serial", 0xC0008000, pic[7]);
     sysbus_create_simple("syborg,serial", 0xC0009000, pic[8]);
 
+    if (nd_table[0].vlan || nd_table[0].netdev) {
+        DeviceState *dev;
+        SysBusDevice *s;
+
+        qemu_check_nic_model(&nd_table[0], "virtio");
+        dev = qdev_create(NULL, "syborg,virtio-net");
+        qdev_set_nic_properties(dev, &nd_table[0]);
+        qdev_init_nofail(dev);
+        s = sysbus_from_qdev(dev);
+        sysbus_mmio_map(s, 0, 0xc000c000);
+        sysbus_connect_irq(s, 0, pic[9]);
+    }
+
     syborg_binfo.ram_size = ram_size;
     syborg_binfo.kernel_filename = kernel_filename;
     syborg_binfo.kernel_cmdline = kernel_cmdline;
@@ -84,8 +97,15 @@ static void syborg_init(ram_addr_t ram_size,
     arm_load_kernel(env, &syborg_binfo);
 }
 
-QEMUMachine syborg_machine = {
+static QEMUMachine syborg_machine = {
     .name = "syborg",
     .desc = "Syborg (Symbian Virtual Platform)",
     .init = syborg_init,
 };
+
+static void syborg_machine_init(void)
+{
+    qemu_register_machine(&syborg_machine);
+}
+
+machine_init(syborg_machine_init);
This page took 0.027788 seconds and 4 git commands to generate.