Index: sys/arch/arm/arm/efi_machdep.c =================================================================== RCS file: /cvsroot/src/sys/arch/arm/arm/efi_machdep.c,v retrieving revision 1.2 diff -u -p -r1.2 efi_machdep.c --- sys/arch/arm/arm/efi_machdep.c 3 May 2022 20:12:27 -0000 1.2 +++ sys/arch/arm/arm/efi_machdep.c 18 Dec 2022 11:18:47 -0000 @@ -111,13 +111,15 @@ arm_efirt_md_map_range(vaddr_t va, paddr case ARM_EFIRT_MEM_CODE: /* need write permission because fw devs */ prot = VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE; + flags = prot; break; case ARM_EFIRT_MEM_DATA: prot = VM_PROT_READ | VM_PROT_WRITE; + flags = prot; break; case ARM_EFIRT_MEM_MMIO: prot = VM_PROT_READ | VM_PROT_WRITE; - flags = PMAP_DEV; + flags = prot | PMAP_DEV; break; default: panic("%s: unsupported type %d", __func__, type); Index: sys/arch/arm/arm32/pmap.c =================================================================== RCS file: /cvsroot/src/sys/arch/arm/arm32/pmap.c,v retrieving revision 1.437 diff -u -p -r1.437 pmap.c --- sys/arch/arm/arm32/pmap.c 3 May 2022 20:12:28 -0000 1.437 +++ sys/arch/arm/arm32/pmap.c 18 Dec 2022 11:18:49 -0000 @@ -6379,7 +6379,7 @@ pmap_bootstrap(vaddr_t vstart, vaddr_t v kcpuset_create(&efipm->pm_active, true); kcpuset_create(&efipm->pm_onproc, true); #endif - mutex_init(&efipm->pm_lock, MUTEX_DEFAULT, IPL_VM); + mutex_init(&efipm->pm_lock, MUTEX_DEFAULT, IPL_NONE); #endif VPRINTF("locks ");