Module Name: src Committed By: skrll Date: Fri Nov 13 08:04:21 UTC 2015
Modified Files: src/sys/arch/arm/arm32: pmap.c Log Message: Tweak the KASSERTs in pmap_update in the ARM_MMU_EXTENDED case - Lazy updating is not done on the kernel pmap. PR port-arm/50420: curcpu()->ci_pmap_cur != pm || pm->pm_pai[0].pai_asid == curcpu()->ci_pmap_asid_cur" failed To generate a diff of this commit: cvs rdiff -u -r1.329 -r1.330 src/sys/arch/arm/arm32/pmap.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/pmap.c diff -u src/sys/arch/arm/arm32/pmap.c:1.329 src/sys/arch/arm/arm32/pmap.c:1.330 --- src/sys/arch/arm/arm32/pmap.c:1.329 Fri Nov 13 07:55:18 2015 +++ src/sys/arch/arm/arm32/pmap.c Fri Nov 13 08:04:21 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.329 2015/11/13 07:55:18 skrll Exp $ */ +/* $NetBSD: pmap.c,v 1.330 2015/11/13 08:04:21 skrll Exp $ */ /* * Copyright 2003 Wasabi Systems, Inc. @@ -217,7 +217,7 @@ #include <arm/locore.h> -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.329 2015/11/13 07:55:18 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.330 2015/11/13 08:04:21 skrll Exp $"); //#define PMAP_DEBUG #ifdef PMAP_DEBUG @@ -5009,6 +5009,8 @@ pmap_update(pmap_t pm) if (pm->pm_remove_all) { #ifdef ARM_MMU_EXTENDED + KASSERT(pm != pmap_kernel()); + KASSERTMSG(curcpu()->ci_pmap_cur != pm || pm->pm_pai[0].pai_asid == curcpu()->ci_pmap_asid_cur, "pmap/asid %p/%#x != %s cur pmap/asid %p/%#x", pm, @@ -5042,8 +5044,8 @@ pmap_update(pmap_t pm) PMAP_COUNT(shootdown_ipis); } #endif - - KASSERTMSG(curcpu()->ci_pmap_cur != pm + KASSERTMSG(pm == pmap_kernel() + || curcpu()->ci_pmap_cur != pm || pm->pm_pai[0].pai_asid == curcpu()->ci_pmap_asid_cur, "pmap/asid %p/%#x != %s cur pmap/asid %p/%#x", pm, pm->pm_pai[0].pai_asid, curcpu()->ci_data.cpu_name,