From 4d0ffd18f5fe2fd268201181dd927b53daf76735 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Mon, 5 Dec 2022 09:59:12 -0500 Subject: [PATCH 27/52] vm_fault: Disable use of pmap_enter(psind = 1) on mips This is to work around a bug in pmap_enter(); the bug can be triggered by running file(1). This functionality was implemented for testing purposes and is unrelated to largepage support, so it can be fixed later. --- sys/vm/vm_fault.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index d29bed658df0..32e8dd26b945 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -287,7 +287,7 @@ vm_fault_soft_fast(struct faultstate *fs, vm_offset_t vaddr, vm_prot_t prot, { vm_page_t m, m_map; #if (defined(__aarch64__) || defined(__amd64__) || (defined(__arm__) && \ - __ARM_ARCH >= 6) || defined(__i386__) || defined(__mips__) || \ + __ARM_ARCH >= 6) || defined(__i386__) || /* defined(__mips__) || */ \ defined(__riscv)) && VM_NRESERVLEVEL > 0 vm_page_t m_super; int flags; @@ -303,7 +303,7 @@ vm_fault_soft_fast(struct faultstate *fs, vm_offset_t vaddr, vm_prot_t prot, m_map = m; psind = 0; #if (defined(__aarch64__) || defined(__amd64__) || (defined(__arm__) && \ - __ARM_ARCH >= 6) || defined(__i386__) || defined(__mips__) || \ + __ARM_ARCH >= 6) || defined(__i386__) || /* defined(__mips__) || */ \ defined(__riscv)) && VM_NRESERVLEVEL > 0 if ((m->flags & PG_FICTITIOUS) == 0 && (m_super = vm_reserv_to_superpage(m)) != NULL && @@ -529,7 +529,7 @@ vm_fault_populate(struct faultstate *fs, vm_prot_t prot, int fault_type, pidx += npages, m = vm_page_next(&m[npages - 1])) { vaddr = fs->entry->start + IDX_TO_OFF(pidx) - fs->entry->offset; #if defined(__aarch64__) || defined(__amd64__) || (defined(__arm__) && \ - __ARM_ARCH >= 6) || defined(__i386__) || defined(__mips__) || \ + __ARM_ARCH >= 6) || defined(__i386__) || /* defined(__mips__) || */ \ defined(__riscv) psind = m->psind; if (psind > 0 && ((vaddr & (pagesizes[psind] - 1)) != 0 || -- 2.41.0