#include "hw.h"
#include "pc.h"
-#include "sysemu.h"
#include "boards.h"
#include "xen_backend.h"
#include "xen_domainbuild.h"
+#include "sysemu/blockdev.h"
-uint32_t xen_domid;
-enum xen_mode xen_mode = XEN_EMULATE;
-
-static void xen_init_pv(ram_addr_t ram_size, int vga_ram_size,
- const char *boot_device,
- const char *kernel_filename,
- const char *kernel_cmdline,
- const char *initrd_filename,
- const char *cpu_model)
+static void xen_init_pv(QEMUMachineInitArgs *args)
{
- CPUState *env;
- int i, index;
+ const char *cpu_model = args->cpu_model;
+ const char *kernel_filename = args->kernel_filename;
+ const char *kernel_cmdline = args->kernel_cmdline;
+ const char *initrd_filename = args->initrd_filename;
+ X86CPU *cpu;
+ CPUX86State *env;
+ DriveInfo *dinfo;
+ int i;
/* Initialize a dummy CPU */
if (cpu_model == NULL) {
cpu_model = "qemu32";
#endif
}
- env = cpu_init(cpu_model);
+ cpu = cpu_x86_init(cpu_model);
+ env = &cpu->env;
env->halted = 1;
/* Initialize backend core & drivers */
/* configure disks */
for (i = 0; i < 16; i++) {
- index = drive_get_index(IF_XEN, 0, i);
- if (index == -1)
+ dinfo = drive_get(IF_XEN, 0, i);
+ if (!dinfo)
continue;
- xen_config_dev_blk(drives_table + index);
+ xen_config_dev_blk(dinfo);
}
/* configure nics */
.desc = "Xen Para-virtualized PC",
.init = xen_init_pv,
.max_cpus = 1,
+ .default_machine_opts = "accel=xen",
};
static void xenpv_machine_init(void)