Weird kernel mode data abort panic on Zedboard.

Thomas Skibo ThomasSkibo at sbcglobal.net
Tue Mar 5 06:08:44 UTC 2013


Oleksandr Tymoshenko :
>
> Just a hunch here - looks like TLB entry is not update properly. Might
> be missing
> PTE_SYNC in pmap-v6.c. Or current PTE_SYNC implementation does not cover
> all requirements for your platform. I'd say latter - but without proper
> debugging
> it's just guesswork.
>

Thanks.  On my platform, PMAP_NEEDS_PTE_SYNC was 0 and I convinced 
myself earlier that the page tables were properly configured with 
write-through caching and didn't need PTE_SYNC() anyway.

But, I just forced it use the run-time configurable pmap_needs_pte_sync 
variable which is set to 1 upon initialization and the problem went 
away.  Setting pmap_needs_pte_sync to 0 subsequently didn't make the 
problem reappear so maybe it has something to do with early 
initialization of the page tables.

I'll get more time to look at it later in the week.

By the way, PTE_SYNC() doesn't properly write-back the level 2 cache on 
my platform because it needs physical addresses.  But, it looks like 
that doesn't matter.

--Thomas

-- 
--------
Thomas Skibo
ThomasSkibo at sbcglobal.net



More information about the freebsd-arm mailing list