All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/1] Implements MMIO emulation for lvx/stvx instructions
@ 2018-02-01 18:15 ` Jose Ricardo Ziviani
  0 siblings, 0 replies; 10+ messages in thread
From: Jose Ricardo Ziviani @ 2018-02-01 18:15 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: kvm-ppc, paulus, lvivier

v5:
 - Fixed the mask off of the effective address

v4:
  - Changed KVM_MMIO_REG_VMX to 0xc0 because there are 64 VSX registers

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.

Jose Ricardo Ziviani (1):
  KVM: PPC: Book3S: Add MMIO emulation for VMX instructions

 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  |  34 ++++++++
 arch/powerpc/kvm/powerpc.c            | 153 +++++++++++++++++++++++++++++++++-
 5 files changed, 198 insertions(+), 1 deletion(-)

-- 
2.14.3


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-02-03  0:02 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-01 18:15 [PATCH v5 0/1] Implements MMIO emulation for lvx/stvx instructions Jose Ricardo Ziviani
2018-02-01 18:15 ` Jose Ricardo Ziviani
2018-02-01 18:15 ` [PATCH v5 1/1] KVM: PPC: Book3S: Add MMIO emulation for VMX instructions Jose Ricardo Ziviani
2018-02-01 18:15   ` Jose Ricardo Ziviani
2018-02-02  2:55   ` Paul Mackerras
2018-02-02  2:55     ` Paul Mackerras
2018-02-02  0:30 ` [PATCH v5 0/1] Implements MMIO emulation for lvx/stvx instructions Paul Mackerras
2018-02-02  0:30   ` Paul Mackerras
2018-02-03  0:02   ` joserz
2018-02-03  0:02     ` joserz

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.