[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1523309796-36423-1-git-send-email-gengdongjiu@huawei.com>
Date: Tue, 10 Apr 2018 05:36:32 +0800
From: Dongjiu Geng <gengdongjiu@...wei.com>
To: <rkrcmar@...hat.com>, <corbet@....net>,
<christoffer.dall@...aro.org>, <marc.zyngier@....com>,
<james.morse@....com>, <linux@...linux.org.uk>,
<catalin.marinas@....com>, <rjw@...ysocki.net>, <bp@...en8.de>,
<lenb@...nel.org>, <kvm@...r.kernel.org>,
<linux-doc@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<kvmarm@...ts.cs.columbia.edu>, <linux-acpi@...r.kernel.org>,
<devel@...ica.org>
CC: <gengdongjiu@...wei.com>, <huangshaoyu@...wei.com>,
<zhengxiang9@...wei.com>
Subject: [PATCH v11 0/4] set VSESR_EL2 by user space and support NOTIFY_SEI notification
1. Detect whether KVM can set set guest SError syndrome
2. Support to Set VSESR_EL2 and inject SError by user space.
3. Support live migration to keep SError pending state and VSESR_EL2 value.
4. ACPI 6.1 adds support for NOTIFY_SEI as a GHES notification mechanism, so support this
notification in software, KVM or kernel ARCH code call handle_guest_sei() to let ACP driver
to handle this notification.
Change since V10:
Address James's comments, thanks James
1. Merge the helper function with the user.
2. Move the ISS_MASK into pend_guest_serror() to clear top bits
3. Make kvm_vcpu_events struct align to 4 bytes
4. Add something check in the kvm_arm_vcpu_set_events()
5. Check kvm_arm_vcpu_get/set_events()'s return value.
6. Initialise kvm_vcpu_events to 0 so that padding transferred to user-space doesn't
contain kernel stack.
Dongjiu Geng (4):
arm64: KVM: export the capability to set guest SError syndrome
arm/arm64: KVM: Add KVM_GET/SET_VCPU_EVENTS
ACPI / APEI: Add SEI notification type support for ARMv8
arm64: handle NOTIFY_SEI notification by the APEI driver
Documentation/virtual/kvm/api.txt | 39 ++++++++++++++++++++++++--
arch/arm/include/asm/kvm_host.h | 6 ++++
arch/arm/kvm/guest.c | 12 ++++++++
arch/arm64/include/asm/kvm_emulate.h | 5 ++++
arch/arm64/include/asm/kvm_host.h | 7 +++++
arch/arm64/include/asm/system_misc.h | 1 +
arch/arm64/include/uapi/asm/kvm.h | 12 ++++++++
arch/arm64/kernel/traps.c | 4 +++
arch/arm64/kvm/guest.c | 31 +++++++++++++++++++++
arch/arm64/kvm/inject_fault.c | 7 ++++-
arch/arm64/kvm/reset.c | 4 +++
arch/arm64/mm/fault.c | 10 +++++++
drivers/acpi/apei/Kconfig | 15 ++++++++++
drivers/acpi/apei/ghes.c | 53 ++++++++++++++++++++++++++++++++++++
include/acpi/ghes.h | 1 +
include/uapi/linux/kvm.h | 1 +
virt/kvm/arm/arm.c | 21 ++++++++++++++
17 files changed, 226 insertions(+), 3 deletions(-)
--
1.9.1
Powered by blists - more mailing lists