No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
James Morse 3368bd8097 KVM: arm64: Handle RAS SErrors from EL1 on guest exit
We expect to have firmware-first handling of RAS SErrors, with errors
notified via an APEI method. For systems without firmware-first, add
some minimal handling to KVM.

There are two ways KVM can take an SError due to a guest, either may be a
RAS error: we exit the guest due to an SError routed to EL2 by HCR_EL2.AMO,
or we take an SError from EL2 when we unmask PSTATE.A from __guest_exit.

For SError that interrupt a guest and are routed to EL2 the existing
behaviour is to inject an impdef SError into the guest.

Add code to handle RAS SError based on the ESR. For uncontained and
uncategorized errors arm64_is_fatal_ras_serror() will panic(), these
errors compromise the host too. All other error types are contained:
For the fatal errors the vCPU can't make progress, so we inject a virtual
SError. We ignore contained errors where we can make progress as if
we're lucky, we may not hit them again.

If only some of the CPUs support RAS the guest will see the cpufeature
sanitised version of the id registers, but we may still take RAS SError
on this CPU. Move the SError handling out of handle_exit() into a new
handler that runs before we can be preempted. This allows us to use
this_cpu_has_cap(), via arm64_is_ras_serror().

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2018-01-16 15:09:13 +00:00
arch KVM: arm64: Handle RAS SErrors from EL1 on guest exit 2018-01-16 15:09:13 +00:00
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2017-12-01 08:05:45 -05:00
certs
crypto X.509: fix comparisons of ->pkey_algo 2017-12-08 15:13:29 +00:00
Documentation arm64: cpu_errata: Add Kryo to Falkor 1003 errata 2018-01-14 18:49:52 +00:00
drivers firmware: arm_sdei: Fix return value check in sdei_present_dt() 2018-01-15 18:16:59 +00:00
firmware
fs hpfs: don't bother with the i_version counter or f_version 2017-12-10 12:58:18 -08:00
include arm64: acpi: Remove __init from acpi_psci_use_hvc() for use by SDEI 2018-01-14 18:49:49 +00:00
init
ipc Rename superblock flags (MS_xyz -> SB_xyz) 2017-11-27 13:05:09 -08:00
kernel perf: Export perf_event_update_userpage 2018-01-02 16:43:12 +00:00
lib Keyrings fixes 2017-12-09 14:39:48 +11:00
mm kmemcheck: rip it out for real 2017-12-08 13:40:17 -08:00
net tcp: evaluate packet losses upon RTT change 2017-12-08 14:14:11 -05:00
samples Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 2017-12-03 13:08:30 -05:00
scripts A handful of documentation fixes. The most significant of these addresses 2017-12-04 13:55:28 -08:00
security KEYS: reject NULL restriction string when type is specified 2017-12-08 15:13:29 +00:00
sound sound fixes for 4.15-rc3 2017-12-06 10:49:14 -08:00
tools kmemcheck: rip it out for real 2017-12-08 13:40:17 -08:00
usr
virt KVM: arm64: Handle RAS SErrors from EL1 on guest exit 2018-01-16 15:09:13 +00:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS firmware: arm_sdei: Add driver for Software Delegated Exceptions 2018-01-13 10:44:56 +00:00
Makefile Linux 4.15-rc3 2017-12-10 17:56:26 -08:00
README

Linux kernel
============

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.