> > > > 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
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
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
> 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
> 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
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
> 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
> >
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
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
> 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
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
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
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
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
14 matches
Mail list logo