Re: armv7 really isn't a strict-alignment architecture

2018-02-28 Thread Brandon Bergren
> > > > Date: Tue, 27 Feb 2018 22:30:43 +0100 (CET) > > > > From: Mark Kettenis > > > > ... > > > > The stack needs 8-byte alignment, so .align 3. In a "bad" kernel I > > > > have lying around the stack is properly aligned though. But esym > > > > isn't because .data

Re: armv7 really isn't a strict-alignment architecture

2018-02-27 Thread Brandon Bergren
Other stuff from my local diffs: * kernel_text should really be in locore0.S, or in the linker script, right now I suspect that it would cause random ddb issues because it isn't actually pointing at the start of the kernel text currently. * sys/arch/armv7/armv7/armv7_machdep.c: - msgbufphys

Re: armv7 really isn't a strict-alignment architecture

2018-02-27 Thread Brandon Bergren
On Tue, Feb 27, 2018, at 3:40 PM, Mark Kettenis wrote: > > Date: Tue, 27 Feb 2018 22:30:43 +0100 (CET) > > From: Mark Kettenis > > > > > From: Brandon Bergren > > > Date: Tue, 27 Feb 2018 15:05:43 -0600 > > > > > > Oh geez, I just figured

Re: armv7 really isn't a strict-alignment architecture

2018-02-27 Thread Mark Kettenis
> Date: Tue, 27 Feb 2018 22:30:43 +0100 (CET) > From: Mark Kettenis > > > From: Brandon Bergren > > Date: Tue, 27 Feb 2018 15:05:43 -0600 > > > > Oh geez, I just figured out what my own crash was -- svcstk is not > > being aligned properly in

Re: armv7 really isn't a strict-alignment architecture

2018-02-27 Thread Mark Kettenis
> From: Brandon Bergren > Date: Tue, 27 Feb 2018 15:05:43 -0600 > > Oh geez, I just figured out what my own crash was -- svcstk is not > being aligned properly in sys/arch/arm/arm/locore.S, so depending on > the link order, the address of the service stack could be in

Re: armv7 really isn't a strict-alignment architecture

2018-02-27 Thread Brandon Bergren
Oh geez, I just figured out what my own crash was -- svcstk is not being aligned properly in sys/arch/arm/arm/locore.S, so depending on the link order, the address of the service stack could be in some random place in .bss. I *think* it's supposed to be .align 8 anyway to be

Re: armv7 really isn't a strict-alignment architecture

2018-02-27 Thread Mark Kettenis
> Date: Tue, 27 Feb 2018 23:09:24 +1100 > From: Jonathan Gray > > On Thu, Feb 22, 2018 at 10:51:12PM +0100, Mark Kettenis wrote: > > I hate to loose yet another strict-alignment canary, but the reality > > is that the rest of the world assumes that armv7 supports unaligned > >

Re: armv7 really isn't a strict-alignment architecture

2018-02-27 Thread Jonathan Gray
On Thu, Feb 22, 2018 at 10:51:12PM +0100, Mark Kettenis wrote: > I hate to loose yet another strict-alignment canary, but the reality > is that the rest of the world assumes that armv7 supports unaligned > access which means that compilers generate code that assumes this > works when compiling

Re: armv7 really isn't a strict-alignment architecture

2018-02-23 Thread Brandon Bergren
Apparently, the control bit only controls whether the cpu will automatically do fixups for word or smaller single load/store. Targeting an unaligned address with a *multiple* load/store instruction will still fault. Over in Linux land, there's this giant grody handler that has emulation for the

Re: armv7 really isn't a strict-alignment architecture

2018-02-23 Thread Mark Kettenis
> Date: Fri, 23 Feb 2018 12:11:23 +0100 > From: "Boudewijn Dijkstra" > > Op Thu, 22 Feb 2018 22:51:12 +0100 schreef Mark Kettenis > : > > I hate to loose yet another strict-alignment canary, but the reality > > is that the rest of the

Re: armv7 really isn't a strict-alignment architecture

2018-02-23 Thread Boudewijn Dijkstra
Op Thu, 22 Feb 2018 22:51:12 +0100 schreef Mark Kettenis : I hate to loose yet another strict-alignment canary, but the reality is that the rest of the world assumes that armv7 supports unaligned access which means that compilers generate code that assumes this works

Re: armv7 really isn't a strict-alignment architecture

2018-02-22 Thread Brandon Bergren
No dice. Still seeing lockup / watchdog reset at some point before consinit(). I guess I'll try messing with the CCR from the bootloader instead to see what state it's in before transfer-of-control. I still suspect an alignment issue, as it happens reliably on the kernel images that it happens

Re: armv7 really isn't a strict-alignment architecture

2018-02-22 Thread Brandon Bergren
FWIW I've been chasing a failure on beaglebone black where a random subset of relinked kernels fail to get as far as console init and am pretty flummoxed about it. Turning off the strictness might fix whatever issue that was, and save me the pain of soldering on a JTAG connector and learning

armv7 really isn't a strict-alignment architecture

2018-02-22 Thread Mark Kettenis
I hate to loose yet another strict-alignment canary, but the reality is that the rest of the world assumes that armv7 supports unaligned access which means that compilers generate code that assumes this works when compiling code for armv7 and later (e.g. NEON code) and that hand-written assembler