projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
79f4bb1
)
powerpc/32: Use fast instruction to set MSR RI in exception prolog on 8xx
author
Christophe Leroy
<christophe.leroy@csgroup.eu>
Fri, 12 Mar 2021 12:50:20 +0000
(12:50 +0000)
committer
Michael Ellerman
<mpe@ellerman.id.au>
Mon, 29 Mar 2021 02:22:04 +0000
(13:22 +1100)
8xx has registers SPRN_NRI, SPRN_EID and SPRN_EIE for changing
MSR EE and RI.
Use SPRN_EID in exception prolog to set RI.
On an 8xx, it reduces the null_syscall test by 3 cycles.
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link:
https://lore.kernel.org/r/65f6bda827c2a2abce71ea7e07543e791163da33.1615552866.git.christophe.leroy@csgroup.eu
arch/powerpc/kernel/head_32.h
patch
|
blob
|
history
diff --git
a/arch/powerpc/kernel/head_32.h
b/arch/powerpc/kernel/head_32.h
index
ac6b391
..
25ee6b2
100644
(file)
--- a/
arch/powerpc/kernel/head_32.h
+++ b/
arch/powerpc/kernel/head_32.h
@@
-107,6
+107,8
@@
#endif
#ifdef CONFIG_40x
rlwinm r9,r9,0,14,12 /* clear MSR_WE (necessary?) */
+#elif defined(CONFIG_PPC_8xx)
+ mtspr SPRN_EID, r2 /* Set MSR_RI */
#else
#ifdef CONFIG_VMAP_STACK
li r10, MSR_KERNEL & ~MSR_IR /* can take exceptions */