arm64: Add RAS driver for ARM64-RAS

RAS are three aspects of the dependability of a system:
   Reliability: continuity of correct service
   Availability: readiness for correct service
   Serviceability: ability to undergo modifications and repairs

ARMv8.2 provides RAS extensions to achieve the above features in a system.

arm64_ras driver allows you to handle Correctable errors using per core
Fault Handling Interrupt (or FHI). Un-correactable errors are handled by
raising SError exception to kernel or Trusted Firmware(EL3) on CCLEX.

The driver provides an API for CPU specific RAS drivers to
register callbacks in case of FHI. When FHI occurs, the FHI
ISR goes through the list of registered callbacks and executes
them. Similarly, the driver allows registering SError callbacks
for Un-correctable errors within Core, Core-Cluster & CCPLEX.
When SError is reported, then those callbacks are scanned to
find and report error in a Core, Cluster or CCPLEX

Bug 3625675

Change-Id: I6dba7178fa7bbcf55bfa083be1b077874f4865c9
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2705396
GVS: Gerrit_Virtual_Submit
This commit is contained in:
Laxman Dewangan
2022-04-30 17:58:11 +00:00
committed by mobile promotions
parent 527743a5c3
commit 3637fb99cb
4 changed files with 605 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ obj-m += mfd/
obj-m += pinctrl/
obj-m += platform/tegra/
obj-m += pwm/
obj-m += ras/
obj-m += thermal/
obj-m += watchdog/