On Sat, Mar 19, 2016 at 11:36:14AM +0100, Peter Oruba wrote:
> Hello,
>
> I was testing the most recent ARMv7 snapshot on my Cubieboard2 and got the
> crash documented in the attached file. Please let me know if I can be of any
> help.
>
> Thanks,
> Peter
>
Hi,
unfortunately that issue is known but not yet resolved.
There's a temporary workaround for it. I think it would be better to
only flush the TLB for a specified VA, not the entire TLB. I have not
yet cooked a diff for that though.
Patrick
diff --git sys/arch/arm/include/pmap.h sys/arch/arm/include/pmap.h
index f8a4c9e..50338a9 100644
--- sys/arch/arm/include/pmap.h
+++ sys/arch/arm/include/pmap.h
@@ -328,6 +328,8 @@ do {
\
}; \
cpu_drain_writebuf(); \
} \
+ asm("mcr p15, 0, r0, c8, c7, 0 /* Invalidate entire unified TLB */");
\
+ cpu_drain_writebuf(); \
} while (/*CONSTCOND*/0)
#define PTE_SYNC_RANGE(pte, cnt)
\
@@ -344,6 +346,8 @@ do {
\
}; \
cpu_drain_writebuf(); \
} \
+ asm("mcr p15, 0, r0, c8, c7, 0 /* Invalidate entire unified TLB */");
\
+ cpu_drain_writebuf(); \
} while (/*CONSTCOND*/0)
#define l1pte_valid(pde) (((pde) & L1_TYPE_MASK) != L1_TYPE_INV)