From patchwork Fri Jan 22 10:50:29 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Yu-B13201 X-Patchwork-Id: 74600 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.2) with ESMTP id o0MAxLJ6021901 for ; Fri, 22 Jan 2010 10:59:21 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753011Ab0AVK7R (ORCPT ); Fri, 22 Jan 2010 05:59:17 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753886Ab0AVK7O (ORCPT ); Fri, 22 Jan 2010 05:59:14 -0500 Received: from az33egw02.freescale.net ([192.88.158.103]:36936 "EHLO az33egw02.freescale.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752816Ab0AVK7L (ORCPT ); Fri, 22 Jan 2010 05:59:11 -0500 Received: from de01smr02.am.mot.com (de01smr02.freescale.net [10.208.0.151]) by az33egw02.freescale.net (8.14.3/az33egw02) with ESMTP id o0MAx2k5015611; Fri, 22 Jan 2010 03:59:02 -0700 (MST) Received: from zch01exm26.fsl.freescale.net (zch01exm26.ap.freescale.net [10.192.129.221]) by de01smr02.am.mot.com (8.13.1/8.13.0) with ESMTP id o0MB5c4D021801; Fri, 22 Jan 2010 05:05:41 -0600 (CST) Received: from localhost ([10.193.20.106]) by zch01exm26.fsl.freescale.net with Microsoft SMTPSVC(6.0.3790.3959); Fri, 22 Jan 2010 18:58:57 +0800 From: Liu Yu To: kvm-ppc@vger.kernel.org, agraf@suse.de, kvm@vger.kernel.org Cc: Liu Yu Subject: [PATCH v2 1/3] kvmppc/e500: Add register l1csr0 emulation Date: Fri, 22 Jan 2010 18:50:29 +0800 Message-Id: <1264157431-16396-2-git-send-email-yu.liu@freescale.com> X-Mailer: git-send-email 1.6.4 In-Reply-To: <1264157431-16396-1-git-send-email-yu.liu@freescale.com> References: <1264157431-16396-1-git-send-email-yu.liu@freescale.com> X-OriginalArrivalTime: 22 Jan 2010 10:58:57.0758 (UTC) FILETIME=[E571D7E0:01CA9B51] Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org diff --git a/arch/powerpc/include/asm/kvm_e500.h b/arch/powerpc/include/asm/kvm_e500.h index 9d497ce..569dfd3 100644 --- a/arch/powerpc/include/asm/kvm_e500.h +++ b/arch/powerpc/include/asm/kvm_e500.h @@ -52,6 +52,7 @@ struct kvmppc_vcpu_e500 { u32 mas5; u32 mas6; u32 mas7; + u32 l1csr0; u32 l1csr1; u32 hid0; u32 hid1; diff --git a/arch/powerpc/kvm/e500_emulate.c b/arch/powerpc/kvm/e500_emulate.c index 7644f7a..95f8ec8 100644 --- a/arch/powerpc/kvm/e500_emulate.c +++ b/arch/powerpc/kvm/e500_emulate.c @@ -99,6 +99,10 @@ int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs) vcpu_e500->mas6 = spr_val; break; case SPRN_MAS7: vcpu_e500->mas7 = spr_val; break; + case SPRN_L1CSR0: + vcpu_e500->l1csr0 = spr_val; + vcpu_e500->l1csr0 &= ~(L1CSR0_DCFI | L1CSR0_CLFC); + break; case SPRN_L1CSR1: vcpu_e500->l1csr1 = spr_val; break; case SPRN_HID0: @@ -179,6 +183,8 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt) break; } + case SPRN_L1CSR0: + kvmppc_set_gpr(vcpu, rt, vcpu_e500->l1csr0); break; case SPRN_L1CSR1: kvmppc_set_gpr(vcpu, rt, vcpu_e500->l1csr1); break; case SPRN_HID0: