#include "net.h"
#include "hw.h"
#include "pci.h"
-#include "virtio-blk.h"
-#include "virtio-console.h"
#include "boards.h"
#include "sysemu.h"
#include "ppc440.h"
void *fdt = NULL;
#ifdef HAVE_FDT
uint32_t mem_reg_property[] = { 0, 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);
- 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. */
return fdt;
}
-static void bamboo_init(ram_addr_t ram_size, int vga_ram_size,
+static void bamboo_init(ram_addr_t ram_size,
const char *boot_device,
const char *kernel_filename,
const char *kernel_cmdline,
/* Add virtio block devices. */
while ((i = drive_get_index(IF_VIRTIO, 0, unit_id)) != -1) {
- virtio_blk_init(pcibus, drives_table[i].bdrv);
+ pci_create_simple(pcibus, -1, "virtio-blk-pci");
unit_id++;
}
/* Add virtio console devices */
for(i = 0; i < MAX_VIRTIO_CONSOLES; i++) {
- if (virtcon_hds[i])
- virtio_console_init(pcibus, virtcon_hds[i]);
+ if (virtcon_hds[i]) {
+ pci_create_simple(pcibus, -1, "virtio-console-pci");
+ }
}
/* Register network interfaces. */
kvmppc_init();
}
-QEMUMachine bamboo_machine = {
+static QEMUMachine bamboo_machine = {
.name = "bamboo",
.desc = "bamboo",
.init = bamboo_init,
};
+
+static void bamboo_machine_init(void)
+{
+ qemu_register_machine(&bamboo_machine);
+}
+
+machine_init(bamboo_machine_init);