From faa3fd222aeef0cf51bb55ec3192e8a41b177c85 Mon Sep 17 00:00:00 2001 From: Andrew Turner Date: Thu, 1 Feb 2018 14:26:26 +0000 Subject: [PATCH] Only promote userspace mappings to superpages. This was dropped in r328510, however due to the break-before-make requirement on arm64 is is currently unsafe to promote kernel pages. Sponsored by: DARPA, AFRL --- sys/arm64/arm64/pmap.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 04f45a93147..64efc54eb97 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -3076,12 +3076,13 @@ validate: } #if VM_NRESERVLEVEL > 0 - if ((mpte == NULL || mpte->wire_count == NL3PG) && - pmap_superpages_enabled() && - (m->flags & PG_FICTITIOUS) == 0 && - vm_reserv_level_iffullpop(m) == 0) { - pmap_promote_l2(pmap, pde, va, &lock); - } + if (pmap != pmap_kernel() && + (mpte == NULL || mpte->wire_count == NL3PG) && + pmap_superpages_enabled() && + (m->flags & PG_FICTITIOUS) == 0 && + vm_reserv_level_iffullpop(m) == 0) { + pmap_promote_l2(pmap, pde, va, &lock); + } #endif if (lock != NULL)