From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: [patch 10/12] QEMU/KVM: add option to disable in-kernel pmtimer emulation Date: Thu, 29 May 2008 19:22:59 -0300 Message-ID: <20080529222829.168192032@localhost.localdomain> References: <20080529222249.563011248@localhost.localdomain> Cc: Chris Wright , Glauber Costa , Anthony Liguori , kvm@vger.kernel.org, Marcelo Tosatti To: Avi Kivity Return-path: Received: from mx1.redhat.com ([66.187.233.31]:52690 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754033AbYE2W3y (ORCPT ); Thu, 29 May 2008 18:29:54 -0400 Content-Disposition: inline; filename=disable-inkernel-acpi-timer Sender: kvm-owner@vger.kernel.org List-ID: Signed-off-by: Marcelo Tosatti Index: kvm-userspace.realtip/qemu/qemu-kvm.c =================================================================== --- kvm-userspace.realtip.orig/qemu/qemu-kvm.c +++ kvm-userspace.realtip/qemu/qemu-kvm.c @@ -11,6 +11,7 @@ int kvm_allowed = 1; int kvm_irqchip = 1; int kvm_pit = 1; +int kvm_acpi_timer = 1; #include #include @@ -670,6 +671,9 @@ int kvm_qemu_create_context(void) if (!kvm_pit) { kvm_disable_pit_creation(kvm_context); } + if (!kvm_acpi_timer) { + kvm_disable_acpi_timer_creation(kvm_context); + } if (kvm_create(kvm_context, phys_ram_size, (void**)&phys_ram_base) < 0) { kvm_qemu_destroy(); return -1; Index: kvm-userspace.realtip/qemu/qemu-kvm.h =================================================================== --- kvm-userspace.realtip.orig/qemu/qemu-kvm.h +++ kvm-userspace.realtip/qemu/qemu-kvm.h @@ -111,10 +111,12 @@ extern kvm_context_t kvm_context; #define kvm_enabled() (kvm_allowed) #define qemu_kvm_irqchip_in_kernel() kvm_irqchip_in_kernel(kvm_context) #define qemu_kvm_pit_in_kernel() kvm_pit_in_kernel(kvm_context) +#define qemu_kvm_acpi_timer_in_kernel() kvm_acpi_timer_in_kernel(kvm_context) #else #define kvm_enabled() (0) #define qemu_kvm_irqchip_in_kernel() (0) #define qemu_kvm_pit_in_kernel() (0) +#define qemu_kvm_acpi_timer_in_kernel() (0) #endif void kvm_mutex_unlock(void); Index: kvm-userspace.realtip/qemu/vl.c =================================================================== --- kvm-userspace.realtip.orig/qemu/vl.c +++ kvm-userspace.realtip/qemu/vl.c @@ -7792,6 +7792,7 @@ static void help(int exitcode) #endif "-no-kvm-irqchip disable KVM kernel mode PIC/IOAPIC/LAPIC\n" "-no-kvm-pit disable KVM kernel mode PIT\n" + "-no-kvm-acpi-timer disable KVM kernel mode ACPI timer\n" #endif #ifdef TARGET_I386 "-std-vga simulate a standard VGA card with VESA Bochs Extensions\n" @@ -7916,6 +7917,7 @@ enum { QEMU_OPTION_no_kvm, QEMU_OPTION_no_kvm_irqchip, QEMU_OPTION_no_kvm_pit, + QEMU_OPTION_no_kvm_acpi_timer, QEMU_OPTION_no_reboot, QEMU_OPTION_no_shutdown, QEMU_OPTION_show_cursor, @@ -8005,6 +8007,7 @@ const QEMUOption qemu_options[] = { #endif { "no-kvm-irqchip", 0, QEMU_OPTION_no_kvm_irqchip }, { "no-kvm-pit", 0, QEMU_OPTION_no_kvm_pit }, + { "no-kvm-acpi-timer", 0, QEMU_OPTION_no_kvm_acpi_timer }, #endif #if defined(TARGET_PPC) || defined(TARGET_SPARC) { "g", 1, QEMU_OPTION_g }, @@ -8908,6 +8911,11 @@ int main(int argc, char **argv) kvm_pit = 0; break; } + case QEMU_OPTION_no_kvm_acpi_timer: { + extern int kvm_acpi_timer; + kvm_acpi_timer = 0; + break; + } #endif case QEMU_OPTION_usb: usb_enabled = 1; --