[pull][bionic] add ARM64 RAS extension and SDEI interface.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[pull][bionic] add ARM64 RAS extension and SDEI interface.

Manoj Iyer

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
============================

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: [pull][bionic] add ARM64 RAS extension and SDEI interface.

Seth Forshee
On Fri, Mar 09, 2018 at 10:52:58PM -0600, Manoj Iyer wrote:

>
> 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 changes for arm here are substantial, though a good chunk of it is
limited to new driver code which is only used when firmware support is
present. I think that given the testing you've done and that it will go
through our automated testing we can apply this once we have the
additional testing for the prerequisite series.

Thanks,
Seth

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

APPLIED: [pull][bionic] add ARM64 RAS extension and SDEI interface.

Seth Forshee
In reply to this post by Manoj Iyer
On Fri, Mar 09, 2018 at 10:52:58PM -0600, Manoj Iyer wrote:

>
> 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

Applied to bionic/master-next, thanks!

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team