Thread (17 messages) 17 messages, 3 authors, 2018-07-19

[PATCH v8 0/4] support exception state migration and set VSESR_EL2 by user space

flat view
STALE3021d SUPERSEDED

From: James Morse <james.morse@arm.com>
Date: 2018-07-13 15:47:47
Also in: kvm, kvmarm
Subsystem: arm port, arm64 port (aarch64 architecture), documentation, kernel virtual machine (kvm), kernel virtual machine for arm64 (kvm/arm64), the rest · Maintainers: Russell King, Catalin Marinas, Will Deacon, Jonathan Corbet, Paolo Bonzini, Marc Zyngier, Oliver Upton, Linus Torvalds

Status: Superseded by v9 (posted 2018-07-19). [go to v9]

Revision v8 (3 revisions archived).

Revisions (3)
  1. v7
  2. v8 current [diff against previous]
  3. v9 [diff against previous]
Hi guys,

This is GengDongjiu's get/set events series[0], with additional plumbing for
32bit.

Changes since v7: removed the temporary #ifdefs and updated the documentation
in patch 4.

This series adds the get/set events API to KVM for arm/arm64 so that
user-space can migrate pending SError, (which KVM may have made pending
as part of its device emulation), and for RAS make a new SError with a
specific ESR value pending. (Only systems with the v8.2 RAS Extensions
can specify an ESR, KVM advertises this capability with a new cap:
KVM_CAP_ARM_INJECT_SERROR_ESR)

User-space can use this for emulation of the v8.2 CPU RAS features
(using error nodes backed by mmio) or as part of NOTIFY_SEI which
extends a v8.2 RAS SError to also have firmware-first CPER records.


Thanks,

James


Dongjiu Geng (2):
  arm/arm64: KVM: Add KVM_GET/SET_VCPU_EVENTS
  arm64: KVM: export the capability to set guest SError syndrome

James Morse (2):
  KVM: arm64: Share the parts of get/set events useful to 32bit
  KVM: arm: Add 32bit get/set events support

 Documentation/virtual/kvm/api.txt    | 44 ++++++++++++++++++++++++---
 arch/arm/include/asm/kvm_host.h      |  5 ++++
 arch/arm/include/uapi/asm/kvm.h      | 13 ++++++++
 arch/arm/kvm/guest.c                 | 23 ++++++++++++++
 arch/arm64/include/asm/kvm_emulate.h |  5 ++++
 arch/arm64/include/asm/kvm_host.h    |  7 +++++
 arch/arm64/include/uapi/asm/kvm.h    | 13 ++++++++
 arch/arm64/kvm/guest.c               | 33 ++++++++++++++++++++
 arch/arm64/kvm/inject_fault.c        |  6 ++--
 arch/arm64/kvm/reset.c               |  4 +++
 include/uapi/linux/kvm.h             |  1 +
 virt/kvm/arm/arm.c                   | 45 ++++++++++++++++++++++++++++
 12 files changed, 192 insertions(+), 7 deletions(-)

-- 
2.18.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help