blob: 0105709bc80f075f9e2fe7dfa5c4691558a90bb3 [file] [log] [blame]
From: Helge Deller <deller@gmx.de>
Date: Sat, 24 Mar 2018 21:18:25 +0100
Subject: parisc: Fix HPMC handler by increasing size to multiple of 16 bytes
commit d5654e156bc4d68a87bbaa6d7e020baceddf6e68 upstream.
Make sure that the HPMC (High Priority Machine Check) handler is 16-byte
aligned and that it's length in the IVT is a multiple of 16 bytes.
Otherwise PDC may decide not to call the HPMC crash handler.
Signed-off-by: Helge Deller <deller@gmx.de>
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
arch/parisc/kernel/hpmc.S | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--- a/arch/parisc/kernel/hpmc.S
+++ b/arch/parisc/kernel/hpmc.S
@@ -79,6 +79,7 @@ END(hpmc_pim_data)
.text
.import intr_save, code
+ .align 16
ENTRY(os_hpmc)
.os_hpmc:
@@ -295,11 +296,14 @@ os_hpmc_6:
b .
nop
+ .align 16 /* make function length multiple of 16 bytes */
ENDPROC(os_hpmc)
.os_hpmc_end:
nop
.data
+.globl os_hpmc_size
.align 4
- .export os_hpmc_size
+ .type os_hpmc_size, @object
+ .size os_hpmc_size, 4
os_hpmc_size:
.word .os_hpmc_end-.os_hpmc