diff -rup libvirt-0.6.3.orig/src/qemu_conf.c libvirt-0.6.3.new/src/qemu_conf.c --- libvirt-0.6.3.orig/src/qemu_conf.c 2009-08-13 13:56:44.000000000 +0100 +++ libvirt-0.6.3.new/src/qemu_conf.c 2009-08-13 13:59:26.000000000 +0100 @@ -476,6 +476,8 @@ int qemudExtractVersionInfo(const char * } if (strstr(help, "boot=on")) flags |= QEMUD_CMD_FLAG_DRIVE_BOOT; + if (strstr(help, "-no-kvm-pit-reinjection")) + flags |= QEMUD_CMD_FLAG_NO_PIT_REINJECT; if (version >= 9000) flags |= QEMUD_CMD_FLAG_VNC_COLON; if (kvm_version >= 74) @@ -996,6 +998,9 @@ int qemudBuildCommandLine(virConnectPtr ADD_ARG_LIT("-domid"); ADD_ARG_LIT(domid); } + if (qemuCmdFlags & QEMUD_CMD_FLAG_NO_PIT_REINJECT) { + ADD_ARG_LIT("-no-kvm-pit-reinjection"); + } /* * NB, -nographic *MUST* come before any serial, or monitor diff -rup libvirt-0.6.3.orig/src/qemu_conf.h libvirt-0.6.3.new/src/qemu_conf.h --- libvirt-0.6.3.orig/src/qemu_conf.h 2009-04-20 10:08:15.000000000 +0100 +++ libvirt-0.6.3.new/src/qemu_conf.h 2009-08-13 13:58:29.000000000 +0100 @@ -56,6 +56,7 @@ enum qemud_cmd_flags { QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC = (1 << 11), /* New migration syntax after merge to QEMU with EXEC transport */ QEMUD_CMD_FLAG_DRIVE_CACHE_V2 = (1 << 12), /* Is the cache= flag wanting new v2 values */ QEMUD_CMD_FLAG_KVM = (1 << 13), /* Whether KVM is compiled in */ + QEMUD_CMD_FLAG_NO_PIT_REINJECT = (1 << 14), /* disable KVM kernel mode PIT interrupt reinjection */ }; /* Main driver state */