提交 11a27ad7 编写于 作者: M Michael Neuling 提交者: Paul Mackerras

[POWERPC] SLB shadow buffer cleanup

Cleanup some of the #define magic as suggested by Milton.
Signed-off-by: NMichael Neuling <mikey@neuling.org>
Signed-off-by: NPaul Mackerras <paulus@samba.org>
上级 32bc6e09
......@@ -42,6 +42,7 @@
#include <asm/lppaca.h>
#include <asm/cache.h>
#include <asm/compat.h>
#include <asm/mmu.h>
#endif
#define DEFINE(sym, val) \
......@@ -137,6 +138,10 @@ int main(void)
DEFINE(PACA_SYSTEM_TIME, offsetof(struct paca_struct, system_time));
DEFINE(PACA_SLBSHADOWPTR, offsetof(struct paca_struct, slb_shadow_ptr));
DEFINE(SLBSHADOW_STACKVSID,
offsetof(struct slb_shadow, save_area[SLB_NUM_BOLTED - 1].vsid));
DEFINE(SLBSHADOW_STACKESID,
offsetof(struct slb_shadow, save_area[SLB_NUM_BOLTED - 1].esid));
DEFINE(LPPACASRR0, offsetof(struct lppaca, saved_srr0));
DEFINE(LPPACASRR1, offsetof(struct lppaca, saved_srr1));
DEFINE(LPPACAANYINT, offsetof(struct lppaca, int_dword.any_int));
......
......@@ -323,11 +323,6 @@ _GLOBAL(ret_from_fork)
* The code which creates the new task context is in 'copy_thread'
* in arch/powerpc/kernel/process.c
*/
#define SHADOW_SLB_BOLTED_STACK_ESID \
(SLBSHADOW_SAVEAREA + 0x10*(SLB_NUM_BOLTED-1))
#define SHADOW_SLB_BOLTED_STACK_VSID \
(SLBSHADOW_SAVEAREA + 0x10*(SLB_NUM_BOLTED-1) + 8)
.align 7
_GLOBAL(_switch)
mflr r0
......@@ -383,10 +378,10 @@ BEGIN_FTR_SECTION
/* Update the last bolted SLB */
ld r9,PACA_SLBSHADOWPTR(r13)
li r12,0
std r12,SHADOW_SLB_BOLTED_STACK_ESID(r9) /* Clear ESID */
std r7,SHADOW_SLB_BOLTED_STACK_VSID(r9) /* Save VSID */
std r0,SHADOW_SLB_BOLTED_STACK_ESID(r9) /* Save ESID */
li r12,0
std r12,SLBSHADOW_STACKESID(r9) /* Clear ESID */
std r7,SLBSHADOW_STACKVSID(r9) /* Save VSID */
std r0,SLBSHADOW_STACKESID(r9) /* Save ESID */
slbie r6
slbie r6 /* Workaround POWER5 < DD2.1 issue */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册