# HG changeset patch # User chris@kneesaa.uk.xensource.com # Date 1154684487 -3600 # Node ID 386990d004b843d8b0071f267509e9fbf06fd7c9 # Parent c6b2761633c623ab131243fe4bdffa34f7174d7f [qemu] Add switch to control whether acpi bridge is enabled. Signed-off-by: Winston Wang diff -r c6b2761633c6 -r 386990d004b8 tools/ioemu/hw/pc.c --- a/tools/ioemu/hw/pc.c Fri Aug 04 10:29:18 2006 +0100 +++ b/tools/ioemu/hw/pc.c Fri Aug 04 10:41:27 2006 +0100 @@ -871,7 +871,7 @@ static void pc_init1(uint64_t ram_size, cmos_init(ram_size, boot_device, bs_table, timeoffset); /* using PIIX4 acpi model */ - if (pci_enabled) + if (pci_enabled && acpi_enabled) pci_piix4_acpi_init(pci_bus); if (pci_enabled && usb_enabled) { diff -r c6b2761633c6 -r 386990d004b8 tools/ioemu/vl.c --- a/tools/ioemu/vl.c Fri Aug 04 10:29:18 2006 +0100 +++ b/tools/ioemu/vl.c Fri Aug 04 10:41:27 2006 +0100 @@ -167,6 +167,8 @@ int xc_handle; time_t timeoffset = 0; +int acpi_enabled = 0; + char domain_name[1024] = { 'H','V', 'M', 'X', 'E', 'N', '-'}; extern int domid; @@ -4807,6 +4809,7 @@ void help(void) "-vnc display start a VNC server on display\n" "-vncviewer start a vncviewer process for this domain\n" "-timeoffset time offset (in seconds) from local time\n" + "-acpi disable or enable ACPI of HVM domain \n" "\n" "During emulation, the following keys are useful:\n" "ctrl-alt-f toggle full screen\n" @@ -4901,6 +4904,7 @@ enum { QEMU_OPTION_d, QEMU_OPTION_vcpus, QEMU_OPTION_timeoffset, + QEMU_OPTION_acpi, }; typedef struct QEMUOption { @@ -4983,6 +4987,7 @@ const QEMUOption qemu_options[] = { { "d", HAS_ARG, QEMU_OPTION_d }, { "vcpus", 1, QEMU_OPTION_vcpus }, { "timeoffset", HAS_ARG, QEMU_OPTION_timeoffset }, + { "acpi", 0, QEMU_OPTION_acpi }, { NULL }, }; @@ -5710,6 +5715,9 @@ int main(int argc, char **argv) case QEMU_OPTION_timeoffset: timeoffset = strtol(optarg, NULL, 0); break; + case QEMU_OPTION_acpi: + acpi_enabled = 1; + break; } } } diff -r c6b2761633c6 -r 386990d004b8 tools/ioemu/vl.h --- a/tools/ioemu/vl.h Fri Aug 04 10:29:18 2006 +0100 +++ b/tools/ioemu/vl.h Fri Aug 04 10:41:27 2006 +0100 @@ -159,6 +159,7 @@ extern const char *keyboard_layout; extern int kqemu_allowed; extern int win2k_install_hack; extern int usb_enabled; +extern int acpi_enabled; extern int smp_cpus; /* XXX: make it dynamic */ diff -r c6b2761633c6 -r 386990d004b8 tools/python/xen/sv/CreateDomain.py --- a/tools/python/xen/sv/CreateDomain.py Fri Aug 04 10:29:18 2006 +0100 +++ b/tools/python/xen/sv/CreateDomain.py Fri Aug 04 10:41:27 2006 +0100 @@ -180,6 +180,7 @@ class CreateFinish( Sheet ): vals.ssidref = -1 vals.bootloader = None vals.usb = [] + vals.acpi = [] #setup vifs diff -r c6b2761633c6 -r 386990d004b8 tools/python/xen/xend/image.py --- a/tools/python/xen/xend/image.py Fri Aug 04 10:29:18 2006 +0100 +++ b/tools/python/xen/xend/image.py Fri Aug 04 10:41:27 2006 +0100 @@ -251,7 +251,7 @@ class HVMImageHandler(ImageHandler): def parseDeviceModelArgs(self, imageConfig, deviceConfig): dmargs = [ 'boot', 'fda', 'fdb', 'soundhw', 'localtime', 'serial', 'stdvga', 'isa', 'vcpus', - 'usb', 'usbdevice'] + 'acpi', 'usb', 'usbdevice'] ret = [] for a in dmargs: v = sxp.child_value(imageConfig, a)