These commits were created to make APEI tables testable. All should be pushed
to some test brunch so anybody could test it on his own, reused etc.
Tomasz Nowicki (3):
acpi, apei, erst: Reserve no cachable region for persistent storage.
acpi, apei, einj: Hack EINJ driver to enable injection GHES and
kernel panic from userspace.
apci, apei, arm64: Make some space for APEI blob.
arch/arm64/boot/dts/foundation-v8-acpi.dts | 2 +-
drivers/acpi/apei/einj.c | 27 +++++++++++++++++++++++++++
drivers/acpi/apei/erst.c | 2 +-
3 files changed, 29 insertions(+), 2 deletions(-)
--
1.7.9.5
The patch below adds in an early_ioremap for aarch64 allowing
the ACPI code to function. It's still under discussion upstream
and will likely change but it will allow work to continue on
aarch64 in the short-term.
Please test and let us know if it works or if it uncovers any
other interesting issues.
--
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Linaro Enterprise Group
al.stone(a)linaro.org
-----------------------------------
This is re-use existing patch submitted by Huang Ying <ying.huang(a)intel.com>
with one small modification (see commits). The first idea was to use just
printk to inform about any errors that were not consumed by OS.
Errors listed in HEST table should point to the same "Error status block" ESB
structures as BERT does. OS handling errors should clear errors status bit
in ESB for given error at the end of error recovery procedure. Case where error
appeared to be too serious OS can reset machine immediately without clearing
bit in ESB. During boot, kernel examine each error status bit from ESB list
(pointed from BERT) and see if there are any unhandled errors.
BERT table was tested along with HEST and EINJ driver, in the following way:
1. Fill in ESB using EINJ hacked driver and do not clear erros status in ESB,
this way unhandler error is simulated and BERT table could be used later:
root@localhost:~# echo 1 > /sys/kernel/debug/apei/einj/error_inject
2. Reboot machin and check whether BERT driver notice injected error:
...
[ 2.518179] [Hardware Error]: Error record from previous boot:
[ 2.523342] [Hardware Error]: APEI generic hardware error status
[ 2.548457] [Hardware Error]: severity: 1, fatal
[ 2.574705] [Hardware Error]: section: 0, severity: 0, recoverable
[ 2.584010] [Hardware Error]: flags: 0x00
[ 2.587937] [Hardware Error]: section_type: memory error
...
3. Kernel clear status bit so next boot would not print it again.
This is a cleaned up version of patches posted earlier by Al Stone.
I have split them into patches with attempt to make only one change
per patch.
Graeme
From: Al Stone <ahs3(a)redhat.com>
This patch adds a stub function for arch_fix_phys_package_id() for
those kernel configurations that need it.
Found while trying to build a VExpress configuration.
Signed-off-by: Al Stone <al.stone(a)linaro.org>
---
arch/arm/include/asm/topology.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/include/asm/topology.h b/arch/arm/include/asm/topology.h
index a6ff5cc..70d9c47 100644
--- a/arch/arm/include/asm/topology.h
+++ b/arch/arm/include/asm/topology.h
@@ -66,6 +66,7 @@ static inline void init_cpu_topology(void) { }
static inline void store_cpu_topology(unsigned int cpuid) { }
static inline int cluster_to_logical_mask(unsigned int socket_id,
cpumask_t *cluster_mask) { return -EINVAL; }
+static inline void arch_fix_phys_package_id(int num, u32 slot) { };
#endif
--
1.8.3.1