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