--- vresend
+++ v3
@@ -1,6 +1,45 @@
+v3:
+ - Added Reported-by in the commit message
+
+v2:
+ - kvmppc_get_vsr_word_offset() moved back to its original place
+ - EA AND ~0xF, following ISA.
+ - fixed BE/LE cases
+
+TESTS:
+
+For testing purposes I wrote a small program that performs stvx/lvx using the
+program's virtual memory and using MMIO. Load/Store into virtual memory is the
+model I use to check if MMIO results are correct (because only MMIO is emulated
+by KVM).
+
+Results:
+
+HOST LE - GUEST BE
+address: 0x10034850010
+0x21436587bbbbaaaa4444555578563412
+io_address: 0x3fff89a20000
+0x21436587bbbbaaaa4444555578563412
+
+HOST LE - GUEST LE
+address: 0x10033a20010
+0x1234567855554444aaaabbbb87654321
+io_address: 0x3fffb5380000
+0x1234567855554444aaaabbbb87654321
+
+HOST BE - GUEST BE
+address: 0x1002c4a0010
+0x21436587bbbbaaaa4444555578563412
+io_address: 0x3ffface40000
+0x21436587bbbbaaaa4444555578563412
+
+HOST BR - GUEST LE
+address: 0x100225e0010
+0x1234567855554444aaaabbbb87654321
+io_address: 0x3fff7fcb0000
+0x1234567855554444aaaabbbb87654321
+
This patch implements MMIO emulation for two instructions: lvx and stvx.
-
-Thanks.
Jose Ricardo Ziviani (1):
KVM: PPC: Book3S: Add MMIO emulation for VMX instructions
@@ -8,9 +47,9 @@
arch/powerpc/include/asm/kvm_host.h | 2 +
arch/powerpc/include/asm/kvm_ppc.h | 4 +
arch/powerpc/include/asm/ppc-opcode.h | 6 ++
- arch/powerpc/kvm/emulate_loadstore.c | 32 +++++++
- arch/powerpc/kvm/powerpc.c | 162 ++++++++++++++++++++++++++++++----
- 5 files changed, 189 insertions(+), 17 deletions(-)
+ arch/powerpc/kvm/emulate_loadstore.c | 34 ++++++++
+ arch/powerpc/kvm/powerpc.c | 153 +++++++++++++++++++++++++++++++++-
+ 5 files changed, 198 insertions(+), 1 deletion(-)
--
-2.14.1
+2.14.3