mirror of
https://github.com/seL4/seL4.git
synced 2026-04-05 06:49:54 +00:00
ARM64: Add option to ignore SErrors
By default any SError interrupt will halt the kernel. SErrors may be caused by e.g. writes to read-only device registers or uncorrectable ECC errors. When this option is enabled SErrors will be ignored. Enable this option for the TX2 platform. Signed-off-by: Indan Zupancic <Indan.Zupancic@mep-info.com>
This commit is contained in:
committed by
Damon Lee
parent
e1e26c7ef8
commit
1d573487c9
@@ -141,7 +141,7 @@ BEGIN_FUNC(cur_el_irq)
|
||||
END_FUNC(cur_el_irq)
|
||||
|
||||
BEGIN_FUNC(cur_el_serr)
|
||||
#ifdef CONFIG_PLAT_TX2
|
||||
#ifdef CONFIG_AARCH64_SERROR_IGNORE
|
||||
eret
|
||||
#else
|
||||
b invalid_vector_entry
|
||||
@@ -234,7 +234,7 @@ BEGIN_FUNC(lower_el_irq)
|
||||
END_FUNC(lower_el_irq)
|
||||
|
||||
BEGIN_FUNC(lower_el_serr)
|
||||
#ifdef CONFIG_PLAT_TX2
|
||||
#ifdef CONFIG_AARCH64_SERROR_IGNORE
|
||||
eret
|
||||
#else
|
||||
b invalid_vector_entry
|
||||
|
||||
@@ -183,6 +183,16 @@ config_option(
|
||||
DEFAULT_DISABLED OFF
|
||||
)
|
||||
|
||||
config_option(
|
||||
KernelAArch64SErrorIgnore AARCH64_SERROR_IGNORE
|
||||
"By default any SError interrupt will halt the kernel. SErrors may \
|
||||
be caused by e.g. writes to read-only device registers or ECC errors. \
|
||||
When this option is enabled SErrors will be ignored."
|
||||
DEFAULT OFF
|
||||
DEPENDS "KernelSel4ArchAarch64;NOT KernelVerificationBuild"
|
||||
)
|
||||
mark_as_advanced(KernelAArch64SErrorIgnore)
|
||||
|
||||
if(KernelAArch32FPUEnableContextSwitch OR KernelSel4ArchAarch64)
|
||||
set(KernelHaveFPU ON)
|
||||
endif()
|
||||
|
||||
@@ -15,6 +15,7 @@ if(KernelPlatformTx2)
|
||||
set(KernelArmCortexA57 ON)
|
||||
set(KernelArchArmV8a ON)
|
||||
set(KernelArmSMMU ON)
|
||||
set(KernelAArch64SErrorIgnore ON)
|
||||
config_set(KernelARMPlatform ARM_PLAT tx2)
|
||||
config_set(KernelArmMach MACH "nvidia")
|
||||
list(APPEND KernelDTSList "tools/dts/tx2.dts")
|
||||
|
||||
Reference in New Issue
Block a user