linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/14] ARM/ARM64: KVM: big endian host support
@ 2014-05-13 16:13 Victor Kamensky
  2014-05-13 16:13 ` [PATCH v3 01/14] ARM: KVM: switch hypervisor into BE mode in case of BE host Victor Kamensky
                   ` (14 more replies)
  0 siblings, 15 replies; 46+ messages in thread
From: Victor Kamensky @ 2014-05-13 16:13 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

Here is updated patches to address KVM host support in big endian
ARM V7/V8.

Changes since previous version [1] and [2]:

x) joined both v7 [1] and v8 [2] series into one

x) addressed, nearly all, Christoffer's comments to previous
patch series

x) Fixed few issues in 'ARM: KVM: handle 64bit values passed to
mrcc or from mcrr instructions in BE case' that got discovered
after moving to the latest v3.15-rc5 kernel

x) Fixed issue in supporting 32bit guest by V8 BE KVM host

All patches except 'ARM: KVM: one_reg coproc set and
get BE fixes', as far as I see, are best possible proposal.
'ARM: KVM: one_reg coproc set and get BE fixes' changes still
need more discussion. Patch included with this series covers
one possible solution, I'll post notes about other approach
previously suggested by Alex Graf separately.

The patches were tested on top of v3.15-rc5 on TC2 (V7) and 
fastmodels (V8). Tested all possible combinations of KVM host
and guests (V7/V8, BE/LE, 64bit/32bit).

Thanks,
Victor

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-February/231881.html

[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-February/231889.html

Victor Kamensky (14):
  ARM: KVM: switch hypervisor into BE mode in case of BE host
  ARM: KVM: fix vgic V7 assembler code to work in BE image
  ARM: KVM: handle 64bit values passed to mrcc or from mcrr instructions
    in BE case
  ARM: KVM: __kvm_vcpu_run function return result fix in BE case
  ARM: KVM: vgic mmio should hold data as LE bytes array in BE case
  ARM: KVM: MMIO support BE host running LE code
  ARM: KVM: one_reg coproc set and get BE fixes
  ARM: KVM: enable KVM in Kconfig on big-endian systems
  ARM64: KVM: MMIO support BE host running LE code
  ARM64: KVM: store kvm_vcpu_fault_info est_el2 as word
  ARM64: KVM: fix vgic_bitmap_get_reg function for BE 64bit case
  ARM64: KVM: vgic_elrsr and vgic_eisr need to be byteswapped in BE case
  ARM64: KVM: set and get of sys registers in BE case
  ARM64: KVM: fix big endian issue in access_vm_reg for 32bit guest

 arch/arm/include/asm/kvm_asm.h       |  18 ++++++
 arch/arm/include/asm/kvm_emulate.h   |  22 +++++--
 arch/arm/kvm/Kconfig                 |   2 +-
 arch/arm/kvm/coproc.c                | 118 +++++++++++++++++++++++++++--------
 arch/arm/kvm/init.S                  |   7 ++-
 arch/arm/kvm/interrupts.S            |   9 ++-
 arch/arm/kvm/interrupts_head.S       |  20 +++++-
 arch/arm64/include/asm/kvm_emulate.h |  22 +++++++
 arch/arm64/kvm/hyp.S                 |   9 ++-
 arch/arm64/kvm/sys_regs.c            |  33 +++++++---
 virt/kvm/arm/vgic.c                  |  28 +++++++--
 11 files changed, 237 insertions(+), 51 deletions(-)

-- 
1.8.1.4

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

end of thread, other threads:[~2014-05-28 14:20 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-13 16:13 [PATCH v3 00/14] ARM/ARM64: KVM: big endian host support Victor Kamensky
2014-05-13 16:13 ` [PATCH v3 01/14] ARM: KVM: switch hypervisor into BE mode in case of BE host Victor Kamensky
2014-05-27 14:23   ` Marc Zyngier
2014-05-13 16:13 ` [PATCH v3 02/14] ARM: KVM: fix vgic V7 assembler code to work in BE image Victor Kamensky
2014-05-27 14:24   ` Marc Zyngier
2014-05-13 16:13 ` [PATCH v3 03/14] ARM: KVM: handle 64bit values passed to mrcc or from mcrr instructions in BE case Victor Kamensky
2014-05-26 15:28   ` Christoffer Dall
2014-05-28  6:09     ` Victor Kamensky
2014-05-27 14:30   ` Marc Zyngier
2014-05-13 16:13 ` [PATCH v3 04/14] ARM: KVM: __kvm_vcpu_run function return result fix " Victor Kamensky
2014-05-27 15:02   ` Marc Zyngier
2014-05-28  6:10     ` Victor Kamensky
2014-05-13 16:13 ` [PATCH v3 05/14] ARM: KVM: vgic mmio should hold data as LE bytes array " Victor Kamensky
2014-05-27 15:07   ` Marc Zyngier
2014-05-13 16:13 ` [PATCH v3 06/14] ARM: KVM: MMIO support BE host running LE code Victor Kamensky
2014-05-27 15:49   ` Marc Zyngier
2014-05-13 16:13 ` [PATCH v3 07/14] ARM: KVM: one_reg coproc set and get BE fixes Victor Kamensky
2014-05-25 19:14   ` Christoffer Dall
2014-05-28  6:19     ` Victor Kamensky
2014-05-28  8:03       ` Christoffer Dall
2014-05-27 18:22   ` Marc Zyngier
2014-05-28  6:23     ` Victor Kamensky
2014-05-13 16:14 ` [PATCH v3 08/14] ARM: KVM: enable KVM in Kconfig on big-endian systems Victor Kamensky
2014-05-13 16:14 ` [PATCH v3 09/14] ARM64: KVM: MMIO support BE host running LE code Victor Kamensky
2014-05-27 18:25   ` Marc Zyngier
2014-05-13 16:14 ` [PATCH v3 10/14] ARM64: KVM: store kvm_vcpu_fault_info est_el2 as word Victor Kamensky
2014-05-27 18:34   ` Marc Zyngier
2014-05-13 16:14 ` [PATCH v3 11/14] ARM64: KVM: fix vgic_bitmap_get_reg function for BE 64bit case Victor Kamensky
2014-05-26 15:49   ` Christoffer Dall
2014-05-13 16:14 ` [PATCH v3 12/14] ARM64: KVM: vgic_elrsr and vgic_eisr need to be byteswapped in BE case Victor Kamensky
2014-05-26 17:35   ` Christoffer Dall
2014-05-27 19:11     ` Marc Zyngier
2014-05-13 16:14 ` [PATCH v3 13/14] ARM64: KVM: set and get of sys registers " Victor Kamensky
2014-05-14  8:45   ` Marc Zyngier
2014-05-14 14:18     ` Victor Kamensky
2014-05-25 18:26       ` Christoffer Dall
2014-05-13 16:14 ` [PATCH v3 14/14] ARM64: KVM: fix big endian issue in access_vm_reg for 32bit guest Victor Kamensky
2014-05-26 17:52   ` Christoffer Dall
2014-05-28  6:11     ` Victor Kamensky
2014-05-28  9:14       ` Christoffer Dall
2014-05-28 13:56         ` Victor Kamensky
2014-05-28 14:09           ` Christoffer Dall
2014-05-28 14:20             ` Marc Zyngier
2014-05-26 15:49 ` [PATCH v3 00/14] ARM/ARM64: KVM: big endian host support Christoffer Dall
2014-05-28  6:31   ` Victor Kamensky
2014-05-28  8:12     ` Christoffer Dall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).