Hello,
Here is a patch to fix following problem in booting time,
WARNING: clock lost 16832 days
WARNING: CHECK AND RESET THE DATE!
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff3802e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff3802e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff3802e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff3802e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff3802e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff3802e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff3802e
To avoid wrong L1 pde cached in TLB,
we should flush TLB after L1 pde destroyed (*pl1pd = L1_TYPE_INV)
Jeunder
Index: sys/arch/arm/arm/pmap7.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/arm/pmap7.c,v
retrieving revision 1.27
diff -u -p -u -r1.27 pmap7.c
--- sys/arch/arm/arm/pmap7.c 19 Jul 2016 02:26:15 -0000 1.27
+++ sys/arch/arm/arm/pmap7.c 11 Oct 2016 18:15:37 -0000
@@ -876,6 +876,8 @@ pmap_free_l2_bucket(pmap_t pm, struct l2
if (l1pd == (L1_C_DOM(pm->pm_domain) | L1_TYPE_C)) {
*pl1pd = L1_TYPE_INV;
PTE_SYNC(pl1pd);
+ if (curproc && curproc->p_vmspace->vm_map.pmap == pm)
+ cpu_tlb_flushID_SE(l1idx << L1_S_SHIFT);
}
/*
--
View this message in context:
http://openbsd-archive.7691.n7.nabble.com/Patch-to-fix-armv7-pmap-fault-fixup-va-00008000-ftype-tp306322.html
Sent from the openbsd port - arm mailing list archive at Nabble.com.