/kernel/trunk/arch/ppc32/src/proc/scheduler.c |
---|
40,6 → 40,7 |
/** Perform ppc32 specific tasks needed before the new thread is scheduled. */ |
void before_thread_runs_arch(void) |
{ |
tlb_invalidate_all(); |
asm volatile ( |
"mtsprg0 %0\n" |
: |
/kernel/trunk/arch/ppc32/src/mm/tlb.c |
---|
232,6 → 232,16 |
} |
void tlb_invalidate_all(void) |
{ |
ipl_t ipl; |
ipl = interrupts_disable(); |
memsetb((__address) phte, 1 << PHT_BITS, 0); |
interrupts_restore(ipl); |
} |
/** Print contents of Page Hash Table. */ |
void tlb_print(void) |
{ |
/kernel/trunk/arch/ppc32/src/dummy.s |
---|
31,13 → 31,9 |
.global asm_delay_loop |
.global userspace |
.global sys_tls_set |
.global tlb_invalidate_all |
.global tlb_invalidate_asid |
.global tlb_invalidate_pages |
tlb_invalidate_all: |
b tlb_invalidate_all |
tlb_invalidate_asid: |
b tlb_invalidate_asid |