Merge commit 'gnu/master' into test
[qemu] / hw / ppce500_mpc8544ds.c
index d946f03..d9ed36c 100644 (file)
@@ -22,7 +22,6 @@
 #include "hw.h"
 #include "pc.h"
 #include "pci.h"
-#include "virtio-blk.h"
 #include "boards.h"
 #include "sysemu.h"
 #include "kvm.h"
@@ -80,20 +79,19 @@ static void *mpc8544_load_device_tree(target_phys_addr_t addr,
     void *fdt = NULL;
 #ifdef HAVE_FDT
     uint32_t mem_reg_property[] = {0, ramsize};
-    char *path;
+    char *filename;
     int fdt_size;
-    int pathlen;
     int ret;
 
-    pathlen = snprintf(NULL, 0, "%s/%s", bios_dir, BINARY_DEVICE_TREE_FILE) + 1;
-    path = qemu_malloc(pathlen);
-
-    snprintf(path, pathlen, "%s/%s", bios_dir, BINARY_DEVICE_TREE_FILE);
-
-    fdt = load_device_tree(path, &fdt_size);
-    qemu_free(path);
-    if (fdt == NULL)
+    filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, BINARY_DEVICE_TREE_FILE);
+    if (!filename) {
         goto out;
+    }
+    fdt = load_device_tree(filename, &fdt_size);
+    qemu_free(filename);
+    if (fdt == NULL) {
+        goto out;
+    }
 
     /* Manipulate device tree in memory. */
     ret = qemu_devtree_setprop(fdt, "/memory", "reg", mem_reg_property,
@@ -151,7 +149,7 @@ out:
     return fdt;
 }
 
-static void mpc8544ds_init(ram_addr_t ram_size, int vga_ram_size,
+static void mpc8544ds_init(ram_addr_t ram_size,
                          const char *boot_device,
                          const char *kernel_filename,
                          const char *kernel_cmdline,
@@ -221,7 +219,7 @@ static void mpc8544ds_init(ram_addr_t ram_size, int vga_ram_size,
 
         /* Add virtio block devices. */
         while ((i = drive_get_index(IF_VIRTIO, 0, unit_id)) != -1) {
-            virtio_blk_init(pci_bus, drives_table[i].bdrv);
+            pci_create_simple(pci_bus, -1, "virtio-blk-pci");
             unit_id++;
         }
 
@@ -282,8 +280,15 @@ static void mpc8544ds_init(ram_addr_t ram_size, int vga_ram_size,
     return;
 }
 
-QEMUMachine mpc8544ds_machine = {
+static QEMUMachine mpc8544ds_machine = {
     .name = "mpc8544ds",
     .desc = "mpc8544ds",
     .init = mpc8544ds_init,
 };
+
+static void mpc8544ds_machine_init(void)
+{
+    qemu_register_machine(&mpc8544ds_machine);
+}
+
+machine_init(mpc8544ds_machine_init);