> From: Daniel Walker [mailto:[email protected]]
> On Wed, 2006-01-04 at 10:28 +0100, kus Kusche Klaus wrote:
> > > From: Daniel Walker
> > > Ok, yet another patch. This one uses the correct lowlevel
> calls, and I
> > > fixed the call ordering.
> >
> > Hmm, I have no deep knowledge of ARM assembler programming,
> > but your patch branches to a C subroutine without setting up a
> > return address in the lr register.
> >
> > Hence, the return in trace_irqs_... jumps to god-knows-where,
> > but not back to the next instruction.
> >
> > As a wild guess, I replaced the "b trace_irqs_..." with
> > "bl trace_irqs_...".
>
> Ok .
>
> > With this change, the kernel boots fine, but the system seems to go
> > into an infinite loop as soon as the first usermode processes start.
> > Most likely, my change messes up the lr register of some surrounding
> > context.
>
> That's odd. Do you have an OOPS, or is it just a silent hang?
No Oops, just a silent hang.
But as far as I can tell, the macros are used in code parts where just
jumps, but no calls are made (e.g. syscall entry / exit sequence)
and the lr register contains data which should not be messed up by
subroutine calls.
--
Klaus Kusche (Software Development - Control Systems)
KEBA AG Gewerbepark Urfahr, A-4041 Linz, Austria (Europe)
Tel: +43 / 732 / 7090-3120 Fax: +43 / 732 / 7090-6301
E-Mail: [email protected] WWW: www.keba.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]