Kernel Panic on DREAMPLUG: Alignment Fault 1

Ian Lepore ian at FreeBSD.org
Sun Aug 4 13:03:33 UTC 2013


On Sat, 2013-08-03 at 17:31 +0100, Andrew Turner wrote:
> On Sat, 03 Aug 2013 08:04:41 -0600
> Ian Lepore <ian at FreeBSD.org> wrote:
> > On Sat, 2013-08-03 at 08:32 +0100, Andrew Turner wrote:
> > > Can you try the patch at [1]. It should fix the stack alignment in
> > > exceptions. I suspect gcc is working in this case because it doesn't
> > > generate any instructions that rely on the stack alignment, where
> > > clang does.
> > > 
> > > Andrew
> > > 
> > > [1] http://people.freebsd.org/~andrew/trapframe_align2.diff
> > 
> > It's actually not clang vs gcc, it's EABI vs OABI on armv5te.  EABI
> > fails the same with clang and gcc.
> > 
> > With your patch and gcc EABI I get:
> > 
> > ...
> > da1: 40.000MB/s transfers
> > da1: 15193MB (31116288 512 byte sectors: 255H 63S/T 1936C)
> > da1: quirks=0x3<NO_SYNC_CACHE,NO_6_BYTE>
> > Fatal kernel mode data abort: 'Alignment Fault 1'
> > trapframe: Fatal kernel mode data abort: 'Alignment Fault 1'
> > trapframe: Fatal kernel mode data abort: 'Alignment Fault 1'
> > trapframe: Fatal kernel mode data abort: 'Alignment Fault 1'
> > [lots more lines of that]
> > trapframe: Fatal kernel mode data abort: 'Alignment Fault 1'
> > trapframe: Fatal kernel mode data abort: 'Alignment Fault 1'
> > Fatal kernel mode prefetch abort at 0xFatal kernel mode data abort:
> > 'Alignment Fault 1' trapframe: Fatal kernel mode data abort:
> > 'Alignment Fault 1' trapframe: Fatal kernel mode data abort:
> > 'Alignment Fault 1'
> > 
> > And it just continued like that for quite a while, mostly data abort
> > with the occasional prefetch abort thrown in.  Eventually it locked
> > hard.
> 
> It looks like I missed setting the alignment in one of the ARMv4/5
> macros. I have an updated patch at [1].
> 
> [1] http://people.freebsd.org/~andrew/trapframe_align3.diff

No change in behavior with align3 compared to align2.





More information about the freebsd-arm mailing list