aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2012-03-11 21:26:30 -0400
committerAvi Kivity <avi@redhat.com>2012-04-08 07:01:37 -0400
commit6020c0f6e78888b6023559e9bf633ad0092a1709 (patch)
tree9756a19a254c6094adcabbd387e162880ef5ad77 /arch/powerpc/include
parent8943633cf9b87980d261a022e90d94bc2c55df35 (diff)
KVM: PPC: Pass EA to updating emulation ops
When emulating updating load/store instructions (lwzu, stwu, ...) we need to write the effective address of the load/store into a register. Currently, we write the physical address in there, which is very wrong. So instead let's save off where the virtual fault was on MMIO and use that information as value to put into the register. While at it, also move the XOP variants of the above instructions to the new scheme of using the already known vaddr instead of calculating it themselves. Reported-by: Jörg Sommer <joerg@alea.gnuu.de> Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r--arch/powerpc/include/asm/kvm_host.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h
index 014eaf27a239..42a527e70490 100644
--- a/arch/powerpc/include/asm/kvm_host.h
+++ b/arch/powerpc/include/asm/kvm_host.h
@@ -464,6 +464,7 @@ struct kvm_vcpu_arch {
464 u32 epr; 464 u32 epr;
465#endif 465#endif
466 gpa_t paddr_accessed; 466 gpa_t paddr_accessed;
467 gva_t vaddr_accessed;
467 468
468 u8 io_gpr; /* GPR used as IO source/target */ 469 u8 io_gpr; /* GPR used as IO source/target */
469 u8 mmio_is_bigendian; 470 u8 mmio_is_bigendian;