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)