From patchwork Wed Feb 3 21:29:44 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 44425 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id DA3B7B7D4C for ; Thu, 4 Feb 2010 08:40:03 +1100 (EST) Received: from localhost ([127.0.0.1]:53582 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ncmv2-0006Mg-Pt for incoming@patchwork.ozlabs.org; Wed, 03 Feb 2010 16:37:52 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NcmnO-00046X-7X for qemu-devel@nongnu.org; Wed, 03 Feb 2010 16:29:58 -0500 Received: from [199.232.76.173] (port=37648 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NcmnM-00045a-Iq for qemu-devel@nongnu.org; Wed, 03 Feb 2010 16:29:56 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NcmnH-00032b-9M for qemu-devel@nongnu.org; Wed, 03 Feb 2010 16:29:56 -0500 Received: from goliath.siemens.de ([192.35.17.28]:21874) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NcmnG-000324-Eu for qemu-devel@nongnu.org; Wed, 03 Feb 2010 16:29:50 -0500 Received: from mail2.siemens.de (localhost [127.0.0.1]) by goliath.siemens.de (8.12.11.20060308/8.12.11) with ESMTP id o13LTlVH013384; Wed, 3 Feb 2010 22:29:47 +0100 Received: from localhost.localdomain ([139.25.173.3]) by mail2.siemens.de (8.12.11.20060308/8.12.11) with ESMTP id o13LTjGv031176; Wed, 3 Feb 2010 22:29:46 +0100 From: Jan Kiszka To: Anthony Liguori Date: Wed, 3 Feb 2010 22:29:44 +0100 Message-Id: <9f39dff4178a33fa83c03273ecb767447a95f538.1265232579.git.jan.kiszka@siemens.com> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: References: In-Reply-To: References: X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.4-2.6 Cc: Marcelo Tosatti , qemu-devel@nongnu.org, kvm@vger.kernel.org, Avi Kivity Subject: [Qemu-devel] [PATCH 3/4] KVM: Move and rename regs_modified X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Touching the user space representation of KVM's VCPU state is - naturally - a per-VCPU thing. So move the dirty flag into KVM_CPU_COMMON and rename it at this chance to reflect its true meaning. Signed-off-by: Jan Kiszka --- cpu-defs.h | 3 ++- kvm-all.c | 13 ++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cpu-defs.h b/cpu-defs.h index 95068b5..7fdbe97 100644 --- a/cpu-defs.h +++ b/cpu-defs.h @@ -197,6 +197,7 @@ typedef struct CPUWatchpoint { const char *cpu_model_str; \ struct KVMState *kvm_state; \ struct kvm_run *kvm_run; \ - int kvm_fd; + int kvm_fd; \ + int kvm_vcpu_dirty; #endif diff --git a/kvm-all.c b/kvm-all.c index 15ec38e..67b44b5 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -57,7 +57,6 @@ struct KVMState KVMSlot slots[32]; int fd; int vmfd; - int regs_modified; int coalesced_mmio; int broken_set_mem_region; int migration_log; @@ -567,9 +566,9 @@ static void kvm_run_coalesced_mmio(CPUState *env, struct kvm_run *run) void kvm_cpu_synchronize_state(CPUState *env) { - if (!env->kvm_state->regs_modified) { + if (!env->kvm_vcpu_dirty) { kvm_arch_get_registers(env); - env->kvm_state->regs_modified = 1; + env->kvm_vcpu_dirty = 1; } } @@ -587,9 +586,9 @@ int kvm_cpu_exec(CPUState *env) break; } - if (env->kvm_state->regs_modified) { + if (env->kvm_vcpu_dirty) { kvm_arch_put_registers(env); - env->kvm_state->regs_modified = 0; + env->kvm_vcpu_dirty = 0; } kvm_arch_pre_run(env, run); @@ -939,9 +938,9 @@ static void kvm_invoke_set_guest_debug(void *data) struct kvm_set_guest_debug_data *dbg_data = data; CPUState *env = dbg_data->env; - if (env->kvm_state->regs_modified) { + if (env->kvm_vcpu_dirty) { kvm_arch_put_registers(env); - env->kvm_state->regs_modified = 0; + env->kvm_vcpu_dirty = 0; } dbg_data->err = kvm_vcpu_ioctl(env, KVM_SET_GUEST_DEBUG, &dbg_data->dbg); }