From patchwork Wed May 4 19:43:46 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 754622 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p44JiRnY026489 for ; Wed, 4 May 2011 19:44:27 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755600Ab1EDToV (ORCPT ); Wed, 4 May 2011 15:44:21 -0400 Received: from fmmailgate02.web.de ([217.72.192.227]:51120 "EHLO fmmailgate02.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755465Ab1EDToR (ORCPT ); Wed, 4 May 2011 15:44:17 -0400 Received: from smtp04.web.de ( [172.20.0.225]) by fmmailgate02.web.de (Postfix) with ESMTP id A805719EB2AAF; Wed, 4 May 2011 21:44:15 +0200 (CEST) Received: from [88.64.22.120] (helo=localhost.localdomain) by smtp04.web.de with asmtp (TLSv1:AES256-SHA:256) (WEB.DE 4.110 #2) id 1QHhzb-0006mo-00; Wed, 04 May 2011 21:44:15 +0200 From: Jan Kiszka To: Avi Kivity , Marcelo Tosatti Cc: kvm@vger.kernel.org Subject: [PATCH 12/19] qemu-kvm: Drop some obsolete/unused fields from kvm_context Date: Wed, 4 May 2011 21:43:46 +0200 Message-Id: X-Mailer: git-send-email 1.7.1 In-Reply-To: References: In-Reply-To: References: X-Sender: jan.kiszka@web.de X-Provags-ID: V01U2FsdGVkX18RGvaA+aP2+dLuwjNsfYiv1kEqjG4Mh602X6rv S6BRpwwXrbL5X8dpKP240Y1VOUGN+Vh9MEZMs7ReTWM8ILHwL7 ZiBRK7cTs= Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Wed, 04 May 2011 19:44:27 +0000 (UTC) From: Jan Kiszka irqchip_in_kernel cam be migrated to the field in KVMState, and opaque as well as dirty_pages_log_all were write-only. Signed-off-by: Jan Kiszka --- qemu-kvm-x86.c | 2 +- qemu-kvm.c | 18 ++++++------------ qemu-kvm.h | 7 +------ 3 files changed, 8 insertions(+), 19 deletions(-) diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c index fd32d92..6d3a243 100644 --- a/qemu-kvm-x86.c +++ b/qemu-kvm-x86.c @@ -518,7 +518,7 @@ int kvm_arch_try_push_interrupts(void *opaque) } #ifdef KVM_CAP_USER_NMI -void kvm_arch_push_nmi(void *opaque) +void kvm_arch_push_nmi(void) { CPUState *env = cpu_single_env; int r; diff --git a/qemu-kvm.c b/qemu-kvm.c index 85f9d1c..e846f1c 100644 --- a/qemu-kvm.c +++ b/qemu-kvm.c @@ -157,10 +157,6 @@ int kvm_init(void) kvm_state->fd = fd; kvm_state->vmfd = -1; - kvm_context->opaque = cpu_single_env; - kvm_context->dirty_pages_log_all = 0; - kvm_context->no_irqchip_creation = 0; - kvm_context->no_pit_creation = 0; #ifdef KVM_CAP_SET_GUEST_DEBUG QTAILQ_INIT(&kvm_state->kvm_sw_breakpoints); @@ -263,7 +259,6 @@ void kvm_create_irqchip(kvm_context_t kvm) { int r; - kvm->irqchip_in_kernel = 0; #ifdef KVM_CAP_IRQCHIP if (!kvm->no_irqchip_creation) { r = kvm_ioctl(kvm_state, KVM_CHECK_EXTENSION, KVM_CAP_IRQCHIP); @@ -278,13 +273,12 @@ void kvm_create_irqchip(kvm_context_t kvm) kvm->irqchip_inject_ioctl = KVM_IRQ_LINE_STATUS; } #endif - kvm->irqchip_in_kernel = 1; + kvm_state->irqchip_in_kernel = 1; } else fprintf(stderr, "Create kernel PIC irqchip failed\n"); } } #endif - kvm_state->irqchip_in_kernel = kvm->irqchip_in_kernel; } int kvm_create(kvm_context_t kvm, unsigned long phys_mem_bytes, void **vm_mem) @@ -320,7 +314,7 @@ int kvm_set_irq_level(kvm_context_t kvm, int irq, int level, int *status) struct kvm_irq_level event; int r; - if (!kvm->irqchip_in_kernel) { + if (!kvm_state->irqchip_in_kernel) { return 0; } event.level = level; @@ -346,7 +340,7 @@ int kvm_get_irqchip(kvm_context_t kvm, struct kvm_irqchip *chip) { int r; - if (!kvm->irqchip_in_kernel) { + if (!kvm_state->irqchip_in_kernel) { return 0; } r = kvm_vm_ioctl(kvm_state, KVM_GET_IRQCHIP, chip); @@ -360,7 +354,7 @@ int kvm_set_irqchip(kvm_context_t kvm, struct kvm_irqchip *chip) { int r; - if (!kvm->irqchip_in_kernel) { + if (!kvm_state->irqchip_in_kernel) { return 0; } r = kvm_vm_ioctl(kvm_state, KVM_SET_IRQCHIP, chip); @@ -404,7 +398,7 @@ int handle_shutdown(kvm_context_t kvm, CPUState *env) static inline void push_nmi(kvm_context_t kvm) { #ifdef KVM_CAP_USER_NMI - kvm_arch_push_nmi(kvm->opaque); + kvm_arch_push_nmi(); #endif /* KVM_CAP_USER_NMI */ } @@ -442,7 +436,7 @@ int kvm_run(CPUState *env) } push_nmi(kvm); #if !defined(__s390__) - if (!kvm->irqchip_in_kernel) { + if (!kvm_state->irqchip_in_kernel) { run->request_interrupt_window = kvm_arch_try_push_interrupts(env); } #endif diff --git a/qemu-kvm.h b/qemu-kvm.h index d62f38d..3db0484 100644 --- a/qemu-kvm.h +++ b/qemu-kvm.h @@ -50,13 +50,8 @@ */ struct kvm_context { - void *opaque; - /// is dirty pages logging enabled for all regions or not - int dirty_pages_log_all; /// do not create in-kernel irqchip if set int no_irqchip_creation; - /// in-kernel irqchip status - int irqchip_in_kernel; /// ioctl to use to inject interrupts int irqchip_inject_ioctl; /// do not create in-kernel pit if set @@ -500,7 +495,7 @@ int kvm_arch_qemu_create_context(void); int kvm_arch_has_work(CPUState *env); void kvm_arch_process_irqchip_events(CPUState *env); int kvm_arch_try_push_interrupts(void *opaque); -void kvm_arch_push_nmi(void *opaque); +void kvm_arch_push_nmi(void); int kvm_set_boot_cpu_id(uint32_t id); void kvm_tpr_access_report(CPUState *env, uint64_t rip, int is_write);