diff options
Diffstat (limited to 'cpu')
-rw-r--r-- | cpu/mpc85xx/start.S | 4 | ||||
-rw-r--r-- | cpu/mpc85xx/tlb.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/cpu/mpc85xx/start.S b/cpu/mpc85xx/start.S index eaed0e0..7a23b4f 100644 --- a/cpu/mpc85xx/start.S +++ b/cpu/mpc85xx/start.S @@ -156,6 +156,10 @@ _start_e500: mtspr MCSR,r0 /* machine check syndrome register */ mtxer r0 /* clear integer exception register */ +#ifdef CONFIG_SYS_BOOK3E_HV + mtspr MAS8,r0 /* make sure MAS8 is clear */ +#endif + /* Enable Time Base and Select Time Base Clock */ lis r0,HID0_EMCP@h /* Enable machine check */ #if defined(CONFIG_ENABLE_36BIT_PHYS) diff --git a/cpu/mpc85xx/tlb.c b/cpu/mpc85xx/tlb.c index 0497a29..03c2449 100644 --- a/cpu/mpc85xx/tlb.c +++ b/cpu/mpc85xx/tlb.c @@ -51,6 +51,9 @@ void set_tlb(u8 tlb, u32 epn, u64 rpn, #ifdef CONFIG_ENABLE_36BIT_PHYS mtspr(MAS7, _mas7); #endif +#ifdef CONFIG_SYS_BOOK3E_HV + mtspr(MAS8, 0); +#endif asm volatile("isync;msync;tlbwe;isync"); #ifdef CONFIG_ADDR_MAP |