aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ppc64
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2005-07-07 20:56:12 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-07 21:23:37 -0400
commit8dc4fd87f229414fc38648508aad7def2275fe81 (patch)
tree4b9d330f855627807b4d7eab0b888bcb30403b32 /include/asm-ppc64
parenta2f7a9ce2a5c3d21cc0eb37a03da603b44ba4b09 (diff)
[PATCH] ppc64: Turn runlatch on in exception entry
Enable the runlatch at the start of each exception. Unfortunately we are out of space in the 0x300 handler, so I added it a bit later. The SPR write is fairly expensive, perhaps we should cache the runlatch state in the paca and avoid the write when possible. We don't need to turn the runlatch off, we do that in the idle loop. Better to take the hit in the idle loop than for each exception exit. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-ppc64')
-rw-r--r--include/asm-ppc64/processor.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-ppc64/processor.h b/include/asm-ppc64/processor.h
index 06aa07c2c71d..352306cfb579 100644
--- a/include/asm-ppc64/processor.h
+++ b/include/asm-ppc64/processor.h
@@ -524,6 +524,15 @@ static inline void ppc64_runlatch_off(void)
524 524
525#endif /* __ASSEMBLY__ */ 525#endif /* __ASSEMBLY__ */
526 526
527#ifdef __KERNEL__
528#define RUNLATCH_ON(REG) \
529BEGIN_FTR_SECTION \
530 mfspr (REG),SPRN_CTRLF; \
531 ori (REG),(REG),CTRL_RUNLATCH; \
532 mtspr SPRN_CTRLT,(REG); \
533END_FTR_SECTION_IFSET(CPU_FTR_CTRL)
534#endif
535
527/* 536/*
528 * Number of entries in the SLB. If this ever changes we should handle 537 * Number of entries in the SLB. If this ever changes we should handle
529 * it with a use a cpu feature fixup. 538 * it with a use a cpu feature fixup.