summary refs log tree commit diff
path: root/arch/parisc/kernel/hpmc.S
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2018-03-24 21:18:25 +0100
committerHelge Deller <deller@gmx.de>2018-03-27 18:52:22 +0200
commitd5654e156bc4d68a87bbaa6d7e020baceddf6e68 (patch)
tree3b82a617cac230c21ba4413d7cd4858245bf0470 /arch/parisc/kernel/hpmc.S
parentc14b302c44f61dce219e1f4026d3c9248e81fbd2 (diff)
downloadlinux-d5654e156bc4d68a87bbaa6d7e020baceddf6e68.tar.gz
parisc: Fix HPMC handler by increasing size to multiple of 16 bytes
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>
Cc: stable@vger.kernel.org
Diffstat (limited to 'arch/parisc/kernel/hpmc.S')
-rw-r--r--arch/parisc/kernel/hpmc.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/parisc/kernel/hpmc.S b/arch/parisc/kernel/hpmc.S
index 8d072c44f300..781c3b9a3e46 100644
--- a/arch/parisc/kernel/hpmc.S
+++ b/arch/parisc/kernel/hpmc.S
@@ -84,6 +84,7 @@ END(hpmc_pim_data)
 	.text
 
 	.import intr_save, code
+	.align 16
 ENTRY_CFI(os_hpmc)
 .os_hpmc:
 
@@ -300,12 +301,15 @@ os_hpmc_6:
 
 	b .
 	nop
+	.align 16	/* make function length multiple of 16 bytes */
 ENDPROC_CFI(os_hpmc)
 .os_hpmc_end:
 
 
 	__INITRODATA
+.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