Index: sys/arch/arm/arm32/arm32_tlb.c =================================================================== RCS file: /cvsroot/src/sys/arch/arm/arm32/arm32_tlb.c,v retrieving revision 1.5 diff -u -p -r1.5 arm32_tlb.c --- sys/arch/arm/arm32/arm32_tlb.c 29 Oct 2014 14:14:14 -0000 1.5 +++ sys/arch/arm/arm32/arm32_tlb.c 29 Oct 2014 23:12:38 -0000 @@ -51,8 +51,9 @@ void tlb_set_asid(tlb_asid_t asid) { arm_dsb(); - if (asid == 0) { + if (asid == KERNEL_PID) { armreg_ttbcr_write(armreg_ttbcr_read() | TTBCR_S_PD0); + arm_isb(); } armreg_contextidr_write(asid); arm_isb(); @@ -121,6 +122,7 @@ tlb_invalidate_addr(vaddr_t va, tlb_asid #endif //armreg_tlbiall_write(asid); } + arm_dsb(); arm_isb(); }