Weird kernel mode data abort panic on Zedboard.
Oleksandr Tymoshenko
gonzo at bluezbox.com
Tue Mar 5 01:21:12 UTC 2013
On 3/4/2013 4:49 PM, Thomas Skibo wrote:
>
> Hello, again.
>
> I thought I'd describe this kernel panic and see if anyone has seen
> anything similar. This is on the Zedboard (ARM Cortex-A9 armv6).
>
> I can consistently panic the kernel by ftp'ing files to a local
> filesystem. It crashes every fourth time or so in the same manner.
> The specific fault is a 'Permission Fault (P)' on the first page of
> data in a file buf.
>
> The fault occurs in ffs_write() when it attempts to uiomove/copyin
> data from user space to the file buf. The first write faults but
> copyin() catches the fault and then calls vfs_bio_clrbuf() which tries
> to zero out the buf data. It's the second fault that causes the panic.
>
> Using Xilinx's XMD tool, I can walk the page table in physical memory
> and find the PTE. It is always okay and has priviledged read and
> write permissions. Curiously, sometimes I get another permission
> fault if I try to read from the fault address in the debugger. That
> tells me there is a stale TLB entry without read permissions either.
> The other buf pages seem okay.
>
> Any ideas? I can duplicate this with l2 cache turned off. I can also
> duplicate it using a USB-ethernet interface instead of the Zynq cgem
> ethernet interface so it's not that driver.
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.
More information about the freebsd-arm
mailing list