projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d29768e
)
powerpc/64s/exception: Add the virt variant of the denorm interrupt handler
author
Nicholas Piggin
<npiggin@gmail.com>
Fri, 2 Aug 2019 10:56:49 +0000
(20:56 +1000)
committer
Michael Ellerman
<mpe@ellerman.id.au>
Fri, 30 Aug 2019 01:14:56 +0000
(11:14 +1000)
All other virt handlers have the prolog code in the virt vector rather
than branch to the real vector. Follow this pattern in the denorm virt
handler.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link:
https://lore.kernel.org/r/20190802105709.27696-25-npiggin@gmail.com
arch/powerpc/kernel/exceptions-64s.S
patch
|
blob
|
history
diff --git
a/arch/powerpc/kernel/exceptions-64s.S
b/arch/powerpc/kernel/exceptions-64s.S
index
1ae2a8d
..
d2aa63b
100644
(file)
--- a/
arch/powerpc/kernel/exceptions-64s.S
+++ b/
arch/powerpc/kernel/exceptions-64s.S
@@
-1852,7
+1852,11
@@
EXC_REAL_END(denorm_exception_hv, 0x1500, 0x100)
#ifdef CONFIG_PPC_DENORMALISATION
EXC_VIRT_BEGIN(denorm_exception, 0x5500, 0x100)
- b exc_real_0x1500_denorm_exception_hv
+ INT_HANDLER denorm_exception, 0x1500, 0, 2, 1, EXC_HV, PACA_EXGEN, 1, 0, 0, 0, 0
+ mfspr r10,SPRN_HSRR1
+ andis. r10,r10,(HSRR1_DENORM)@h /* denorm? */
+ bne+ denorm_assist
+ INT_VIRT_SAVE_SRR_AND_JUMP denorm_common, EXC_HV
EXC_VIRT_END(denorm_exception, 0x5500, 0x100)
#else
EXC_VIRT_NONE(0x5500, 0x100)