parisc: Fix exported address of os_hpmc handler
authorHelge Deller <deller@gmx.de>
Sun, 14 Oct 2018 19:58:00 +0000 (21:58 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Nov 2018 08:25:58 +0000 (09:25 +0100)
[ Upstream commit 99a3ae51d557d8e38a7aece65678a31f9db215ee ]

In the C-code we need to put the physical address of the hpmc handler in
the interrupt vector table (IVA) in order to get HPMCs working.  Since
on parisc64 function pointers are indirect (in fact they are function
descriptors) we instead export the address as variable and not as
function.

This reverts a small part of commit f39cce654f9a ("parisc: Add
cfi_startproc and cfi_endproc to assembly code").

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: <stable@vger.kernel.org> [4.9+]
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/parisc/kernel/hpmc.S

index 407b3aa5aa07c0c1f8886016f98d113a2dcb4719..e88f4e7f39f335295df244972199f6d02ade8276 100644 (file)
@@ -84,7 +84,7 @@ END(hpmc_pim_data)
 
        .import intr_save, code
        .align 16
-ENTRY_CFI(os_hpmc)
+ENTRY(os_hpmc)
 .os_hpmc:
 
        /*
@@ -301,7 +301,6 @@ os_hpmc_6:
        b .
        nop
        .align 16       /* make function length multiple of 16 bytes */
-ENDPROC_CFI(os_hpmc)
 .os_hpmc_end: