All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: KVM list <kvm@vger.kernel.org>
Cc: kvm-ppc@vger.kernel.org, Avi Kivity <avi@redhat.com>,
	Marcelo Tossati <mtosatti@redhat.com>,
	Varun Sethi <Varun.Sethi@freescale.com>
Subject: [PATCH 4/9] KVM: PPC: bookehv64: Add support for std/ld emulation.
Date: Wed, 11 Jul 2012 02:56:39 +0200	[thread overview]
Message-ID: <1341968204-6756-5-git-send-email-agraf@suse.de> (raw)
In-Reply-To: <1341968204-6756-1-git-send-email-agraf@suse.de>

From: Varun Sethi <Varun.Sethi@freescale.com>

Add support for std/ld emulation.

Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 arch/powerpc/kvm/emulate.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/kvm/emulate.c b/arch/powerpc/kvm/emulate.c
index f90e86d..ee04aba 100644
--- a/arch/powerpc/kvm/emulate.c
+++ b/arch/powerpc/kvm/emulate.c
@@ -59,11 +59,13 @@
 #define OP_31_XOP_STHBRX    918
 
 #define OP_LWZ  32
+#define OP_LD   58
 #define OP_LWZU 33
 #define OP_LBZ  34
 #define OP_LBZU 35
 #define OP_STW  36
 #define OP_STWU 37
+#define OP_STD  62
 #define OP_STB  38
 #define OP_STBU 39
 #define OP_LHZ  40
@@ -392,6 +394,12 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
 		emulated = kvmppc_handle_load(run, vcpu, rt, 4, 1);
 		break;
 
+	/* TBD: Add support for other 64 bit load variants like ldu, ldux, ldx etc. */
+	case OP_LD:
+		rt = get_rt(inst);
+		emulated = kvmppc_handle_load(run, vcpu, rt, 8, 1);
+		break;
+
 	case OP_LWZU:
 		emulated = kvmppc_handle_load(run, vcpu, rt, 4, 1);
 		kvmppc_set_gpr(vcpu, ra, vcpu->arch.vaddr_accessed);
@@ -412,6 +420,14 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
 		                               4, 1);
 		break;
 
+	/* TBD: Add support for other 64 bit store variants like stdu, stdux, stdx etc. */
+	case OP_STD:
+		rs = get_rs(inst);
+		emulated = kvmppc_handle_store(run, vcpu,
+					       kvmppc_get_gpr(vcpu, rs),
+		                               8, 1);
+		break;
+
 	case OP_STWU:
 		emulated = kvmppc_handle_store(run, vcpu,
 					       kvmppc_get_gpr(vcpu, rs),
-- 
1.6.0.2


WARNING: multiple messages have this Message-ID (diff)
From: Alexander Graf <agraf@suse.de>
To: KVM list <kvm@vger.kernel.org>
Cc: kvm-ppc@vger.kernel.org, Avi Kivity <avi@redhat.com>,
	Marcelo Tossati <mtosatti@redhat.com>,
	Varun Sethi <Varun.Sethi@freescale.com>
Subject: [PATCH 4/9] KVM: PPC: bookehv64: Add support for std/ld emulation.
Date: Wed, 11 Jul 2012 00:56:39 +0000	[thread overview]
Message-ID: <1341968204-6756-5-git-send-email-agraf@suse.de> (raw)
In-Reply-To: <1341968204-6756-1-git-send-email-agraf@suse.de>

From: Varun Sethi <Varun.Sethi@freescale.com>

Add support for std/ld emulation.

Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 arch/powerpc/kvm/emulate.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/kvm/emulate.c b/arch/powerpc/kvm/emulate.c
index f90e86d..ee04aba 100644
--- a/arch/powerpc/kvm/emulate.c
+++ b/arch/powerpc/kvm/emulate.c
@@ -59,11 +59,13 @@
 #define OP_31_XOP_STHBRX    918
 
 #define OP_LWZ  32
+#define OP_LD   58
 #define OP_LWZU 33
 #define OP_LBZ  34
 #define OP_LBZU 35
 #define OP_STW  36
 #define OP_STWU 37
+#define OP_STD  62
 #define OP_STB  38
 #define OP_STBU 39
 #define OP_LHZ  40
@@ -392,6 +394,12 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
 		emulated = kvmppc_handle_load(run, vcpu, rt, 4, 1);
 		break;
 
+	/* TBD: Add support for other 64 bit load variants like ldu, ldux, ldx etc. */
+	case OP_LD:
+		rt = get_rt(inst);
+		emulated = kvmppc_handle_load(run, vcpu, rt, 8, 1);
+		break;
+
 	case OP_LWZU:
 		emulated = kvmppc_handle_load(run, vcpu, rt, 4, 1);
 		kvmppc_set_gpr(vcpu, ra, vcpu->arch.vaddr_accessed);
@@ -412,6 +420,14 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
 		                               4, 1);
 		break;
 
+	/* TBD: Add support for other 64 bit store variants like stdu, stdux, stdx etc. */
+	case OP_STD:
+		rs = get_rs(inst);
+		emulated = kvmppc_handle_store(run, vcpu,
+					       kvmppc_get_gpr(vcpu, rs),
+		                               8, 1);
+		break;
+
 	case OP_STWU:
 		emulated = kvmppc_handle_store(run, vcpu,
 					       kvmppc_get_gpr(vcpu, rs),
-- 
1.6.0.2


  parent reply	other threads:[~2012-07-11  0:56 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-11  0:56 [PULL 0/9] ppc patch queue 2012-07-11 Alexander Graf
2012-07-11  0:56 ` Alexander Graf
2012-07-11  0:56 ` [PATCH 1/9] KVM: PPC: Book3S HV: Drop locks around call to kvmppc_pin_guest_page Alexander Graf
2012-07-11  0:56   ` Alexander Graf
2012-07-11  0:56 ` [PATCH 2/9] booke/bookehv: Add host crit-watchdog exception support Alexander Graf
2012-07-11  0:56   ` Alexander Graf
2012-07-11  0:56 ` [PATCH 3/9] booke: Added crit/mc exception handler for e500v2 Alexander Graf
2012-07-11  0:56   ` Alexander Graf
2012-07-11  0:56 ` Alexander Graf [this message]
2012-07-11  0:56   ` [PATCH 4/9] KVM: PPC: bookehv64: Add support for std/ld emulation Alexander Graf
2012-07-11  0:56 ` [PATCH 5/9] KVM: PPC: bookehv: Add ESR flag to Data Storage Interrupt Alexander Graf
2012-07-11  0:56   ` Alexander Graf
2012-07-11  0:56 ` [PATCH 6/9] KVM: PPC64: booke: Set interrupt computation mode for 64-bit host Alexander Graf
2012-07-11  0:56   ` Alexander Graf
2012-07-11  0:56 ` [PATCH 7/9] KVM: PPC: e500mc: Fix tlbilx emulation for 64-bit guests Alexander Graf
2012-07-11  0:56   ` Alexander Graf
2012-07-11  0:56 ` [PATCH 8/9] KVM: PPC: Critical interrupt emulation support Alexander Graf
2012-07-11  0:56   ` Alexander Graf
2012-07-11  0:56 ` [PATCH 9/9] powerpc/kvm: Fix "PR" KVM implementation of H_CEDE Alexander Graf
2012-07-11  0:56   ` Alexander Graf
2012-07-11  8:37 ` [PULL 0/9] ppc patch queue 2012-07-11 Avi Kivity
2012-07-11  8:37   ` Avi Kivity
2012-07-11  8:38 ` Avi Kivity
2012-07-11  8:38   ` Avi Kivity
2012-07-15  9:43 ` Avi Kivity
2012-07-15  9:43   ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1341968204-6756-5-git-send-email-agraf@suse.de \
    --to=agraf@suse.de \
    --cc=Varun.Sethi@freescale.com \
    --cc=avi@redhat.com \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.