lkml.org 
[lkml]   [2017]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[RFC PATCH v1 3/3] arm64/apei: get error address from memory section for recovery
Date
In some platform, when SEA triggerred, physical address might be
reported by memory section, so we save it for error recovery later.

Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com>
---
arch/arm64/kernel/ras.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

diff --git a/arch/arm64/kernel/ras.c b/arch/arm64/kernel/ras.c
index 8562ec7..2b400b8 100644
--- a/arch/arm64/kernel/ras.c
+++ b/arch/arm64/kernel/ras.c
@@ -136,3 +136,20 @@ void arm_proc_error_check(struct ghes *ghes, struct cper_sec_proc_arm *err)
if (!ret)
set_thread_flag(TIF_SEA_NOTIFY);
}
+
+void arch_apei_report_mem_error(struct ghes *ghes, int sev,
+ struct cper_sec_mem_err *mem)
+{
+ int ret = -1;
+
+ if ((ghes->generic->notify.type != ACPI_HEST_NOTIFY_SEA) ||
+ (ghes->estatus->error_severity != CPER_SEV_RECOVERABLE))
+ return;
+
+ if (mem->validation_bits & CPER_MEM_VALID_PA) {
+ ret = sea_save_info(mem->physical_addr);
+ }
+
+ if (!ret)
+ set_thread_flag(TIF_SEA_NOTIFY);
+}
--
1.8.3.1
\
 
 \ /
  Last update: 2017-09-01 12:32    [W:0.074 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site