Module Name: src Committed By: skrll Date: Thu Oct 30 10:38:57 UTC 2014
Modified Files: src/sys/arch/arm/arm32: arm32_tlb.c Log Message: s/0/KERNEL_PID/ isb after setting TTBCR_S_PD0 as per Example B3-5 Disable non-global mappings when changing ASID in the ARM ARM. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/arm32/arm32_tlb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/arm32/arm32_tlb.c diff -u src/sys/arch/arm/arm32/arm32_tlb.c:1.5 src/sys/arch/arm/arm32/arm32_tlb.c:1.6 --- src/sys/arch/arm/arm32/arm32_tlb.c:1.5 Wed Oct 29 14:14:14 2014 +++ src/sys/arch/arm/arm32/arm32_tlb.c Thu Oct 30 10:38:57 2014 @@ -30,7 +30,7 @@ #include "opt_multiprocessor.h" #include <sys/cdefs.h> -__KERNEL_RCSID(1, "$NetBSD: arm32_tlb.c,v 1.5 2014/10/29 14:14:14 skrll Exp $"); +__KERNEL_RCSID(1, "$NetBSD: arm32_tlb.c,v 1.6 2014/10/30 10:38:57 skrll Exp $"); #include <sys/param.h> #include <sys/types.h> @@ -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();