diff options
author | James Morse <james.morse@arm.com> | 2019-06-18 16:17:38 +0100 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2019-07-05 13:03:30 +0100 |
commit | 3276cc2489641f7f37e9558f5fe9d6ae17a25528 (patch) | |
tree | b80a320c0906452d4fe947257c0fa6bb1c96aace /arch/arm64/kernel | |
parent | 5dcd0fdbb492d49dac6bf21c436dfcb5ded0a895 (diff) | |
download | linux-3276cc2489641f7f37e9558f5fe9d6ae17a25528.tar.bz2 |
arm64: Update silicon-errata.txt for Neoverse-N1 #1349291
Neoverse-N1 affected by #1349291 may report an Uncontained RAS Error
as Unrecoverable. The kernel's architecture code already considers
Unrecoverable errors as fatal as without kernel-first support no
further error-handling is possible.
Now that KVM attributes SError to the host/guest more precisely
the host's architecture code will always handle host errors that
become pending during world-switch.
Errors misclassified by this errata that affected the guest will be
re-injected to the guest as an implementation-defined SError, which can
be uncontained.
Until kernel-first support is implemented, no workaround is needed
for this issue.
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm64/kernel')
-rw-r--r-- | arch/arm64/kernel/traps.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c index 985721a1264c..66743bd1e422 100644 --- a/arch/arm64/kernel/traps.c +++ b/arch/arm64/kernel/traps.c @@ -880,6 +880,10 @@ bool arm64_is_fatal_ras_serror(struct pt_regs *regs, unsigned int esr) /* * The CPU can't make progress. The exception may have * been imprecise. + * + * Neoverse-N1 #1349291 means a non-KVM SError reported as + * Unrecoverable should be treated as Uncontainable. We + * call arm64_serror_panic() in both cases. */ return true; |