[pull][bionic] add ARM64 RAS extension and SDEI interface.
Manoj Iyer
manoj.iyer at canonical.com
Sat Mar 10 04:52:58 UTC 2018
Please consider the following pull request for ARM64 Software Delegated
Exception Interface (SDEI) cleanly cherry-picked, and RAS extension
patches backported to bionic from latest 4.16-rc. A test kernel is
available in ppa:manjo/uose2.
The kernel was touch tested on QDF2400 ARM64 server platform. On the
hisilicon D06 platform I ran KVM start stop tests, created 20VMs and
start/stop the VMs 10 times. The testcase can be found here:
https://code.launchpad.net/~manjo/+git/kvm-testing
The following changes since commit 9ce0a31fce411c7c2027dd5b664c9b9d9e674b27:
PCI/DPC: Enable DPC only if AER is available (2018-03-08 19:42:13 -0600)
are available in the git repository at:
git+ssh://git.launchpad.net/~manjo/+git/linux-hisid06
for you to fetch changes up to feb5d80bbf6250033bcf0e9bd9eb550e9dcdcdff:
UBUNTU: [Config]: enable RAS_EXTN and ARM_SDE_INTERFACE (2018-03-09 13:37:55 -0600)
----------------------------------------------------------------
Dongjiu Geng (1):
KVM: arm64: Emulate RAS error registers and set HCR_EL2's TERR & TEA
James Morse (24):
KVM: arm64: Store vcpu on the stack during __guest_enter()
KVM: arm/arm64: Convert kvm_host_cpu_state to a static per-cpu allocation
KVM: arm64: Change hyp_panic()s dependency on tpidr_el2
arm64: alternatives: use tpidr_el2 on VHE hosts
KVM: arm64: Stop save/restoring host tpidr_el1 on VHE
Docs: dt: add devicetree binding for describing arm64 SDEI firmware
firmware: arm_sdei: Add driver for Software Delegated Exceptions
arm64: Add vmap_stack header file
arm64: uaccess: Add PAN helper
arm64: kernel: Add arch-specific SDEI entry code and CPU masking
firmware: arm_sdei: Add support for CPU and system power states
firmware: arm_sdei: add support for CPU private events
arm64: acpi: Remove __init from acpi_psci_use_hvc() for use by SDEI
firmware: arm_sdei: Discover SDEI support via ACPI
arm64: sysreg: Move to use definitions for all the SCTLR bits
arm64: kernel: Survive corrected RAS errors notified by SError
arm64: Unconditionally enable IESB on exception entry/return for firmware-first
arm64: kernel: Prepare for a DISR user
KVM: arm/arm64: mask/unmask daif around VHE guests
KVM: arm64: Set an impdef ESR for Virtual-SError using VSESR_EL2.
KVM: arm64: Save/Restore guest DISR_EL1
KVM: arm64: Save ESR_EL2 on guest SError
KVM: arm64: Handle RAS SErrors from EL1 on guest exit
KVM: arm64: Handle RAS SErrors from EL2 on guest exit
Manoj Iyer (1):
UBUNTU: [Config]: enable RAS_EXTN and ARM_SDE_INTERFACE
Xie XiuQi (1):
arm64: cpufeature: Detect CPU RAS Extentions
.../devicetree/bindings/arm/firmware/sdei.txt | 42 +
MAINTAINERS | 9 +
arch/arm/include/asm/kvm_host.h | 6 +
arch/arm64/Kconfig | 16 +
arch/arm64/include/asm/alternative.h | 2 +
arch/arm64/include/asm/assembler.h | 15 +
arch/arm64/include/asm/cpucaps.h | 3 +-
arch/arm64/include/asm/esr.h | 20 +
arch/arm64/include/asm/exception.h | 14 +
arch/arm64/include/asm/kvm_arm.h | 2 +
arch/arm64/include/asm/kvm_emulate.h | 17 +
arch/arm64/include/asm/kvm_host.h | 20 +
arch/arm64/include/asm/percpu.h | 11 +-
arch/arm64/include/asm/processor.h | 1 +
arch/arm64/include/asm/sdei.h | 51 +
arch/arm64/include/asm/stacktrace.h | 3 +
arch/arm64/include/asm/sysreg.h | 81 +-
arch/arm64/include/asm/traps.h | 54 +
arch/arm64/include/asm/uaccess.h | 12 +
arch/arm64/include/asm/vmap_stack.h | 28 +
arch/arm64/kernel/Makefile | 1 +
arch/arm64/kernel/acpi.c | 2 +-
arch/arm64/kernel/alternative.c | 9 +-
arch/arm64/kernel/asm-offsets.c | 6 +
arch/arm64/kernel/cpufeature.c | 39 +
arch/arm64/kernel/entry.S | 101 ++
arch/arm64/kernel/head.S | 13 +-
arch/arm64/kernel/irq.c | 13 +-
arch/arm64/kernel/sdei.c | 219 ++++
arch/arm64/kernel/smp.c | 11 +-
arch/arm64/kernel/suspend.c | 4 +-
arch/arm64/kernel/traps.c | 51 +-
arch/arm64/kvm/handle_exit.c | 32 +-
arch/arm64/kvm/hyp-init.S | 4 +
arch/arm64/kvm/hyp/entry.S | 23 +-
arch/arm64/kvm/hyp/hyp-entry.S | 18 +-
arch/arm64/kvm/hyp/switch.c | 37 +-
arch/arm64/kvm/hyp/sysreg-sr.c | 22 +-
arch/arm64/kvm/inject_fault.c | 13 +-
arch/arm64/kvm/sys_regs.c | 11 +
arch/arm64/mm/proc.S | 37 +-
debian.master/config/config.common.ubuntu | 2 +
drivers/firmware/Kconfig | 8 +
drivers/firmware/Makefile | 1 +
drivers/firmware/arm_sdei.c | 1092 ++++++++++++++++++++
include/linux/arm_sdei.h | 79 ++
include/linux/cpuhotplug.h | 1 +
include/linux/psci.h | 3 +-
include/uapi/linux/arm_sdei.h | 73 ++
virt/kvm/arm/arm.c | 25 +-
50 files changed, 2247 insertions(+), 110 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/firmware/sdei.txt
create mode 100644 arch/arm64/include/asm/sdei.h
create mode 100644 arch/arm64/include/asm/vmap_stack.h
create mode 100644 arch/arm64/kernel/sdei.c
create mode 100644 drivers/firmware/arm_sdei.c
create mode 100644 include/linux/arm_sdei.h
create mode 100644 include/uapi/linux/arm_sdei.h
--
============================
Manoj Iyer
Ubuntu/Canonical
ARM Servers - Cloud
============================
More information about the kernel-team
mailing list