projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a2227a2
)
powerpc/reg: use ASM_FTR_IFSET() instead of opencoding fixup.
author
Christophe Leroy
<christophe.leroy@c-s.fr>
Wed, 28 Aug 2019 13:42:01 +0000
(13:42 +0000)
committer
Michael Ellerman
<mpe@ellerman.id.au>
Mon, 18 Nov 2019 11:27:52 +0000
(22:27 +1100)
mftb() includes a feature fixup for CELL ppc.
Use ASM_FTR_IFSET() macro instead of opencoding the setup
of the fixup sections.
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link:
https://lore.kernel.org/r/ac19713826fa55e9e7bfe3100c5a7b1712ab9526.1566999711.git.christophe.leroy@c-s.fr
arch/powerpc/include/asm/reg.h
patch
|
blob
|
history
diff --git
a/arch/powerpc/include/asm/reg.h
b/arch/powerpc/include/asm/reg.h
index b3cbb1136bce0878148eb967dbd966755936dc76..f3f368819f9c0f532f622dab5349b109977fa93d 100644
(file)
--- a/
arch/powerpc/include/asm/reg.h
+++ b/
arch/powerpc/include/asm/reg.h
@@
-1384,19
+1384,9
@@
static inline void msr_check_and_clear(unsigned long bits)
#define mftb() ({unsigned long rval; \
asm volatile( \
"90: mfspr %0, %2;\n" \
- "97: cmpwi %0,0;\n" \
- " beq- 90b;\n" \
- "99:\n" \
- ".section __ftr_fixup,\"a\"\n" \
- ".align 3\n" \
- "98:\n" \
- " .8byte %1\n" \
- " .8byte %1\n" \
- " .8byte 97b-98b\n" \
- " .8byte 99b-98b\n" \
- " .8byte 0\n" \
- " .8byte 0\n" \
- ".previous" \
+ ASM_FTR_IFSET( \
+ "97: cmpwi %0,0;\n" \
+ " beq- 90b;\n", "", %1) \
: "=r" (rval) \
: "i" (CPU_FTR_CELL_TB_BUG), "i" (SPRN_TBRL) : "cr0"); \
rval;})