On Thu, Jan 12, 2006 at 05:22:47PM +0000, David Vrabel wrote:
> Russell King wrote:
> > BTW, it's worth noting that the new EABI stuff has it's own set of
> > problems. We have r0 to r6 to pass 32-bit or 64-bit arguments.
> > With EABI, 64-bit arguments will be aligned to an _even_ numbered
> > register.
>
> Is there a reason for this alignment requirement?
I think it comes from the 64-bit accessing instructions (ldrd/strd)
having the restriction that they only take an even numbered 32-bit
register. The immediately consecutive higher numbered 32-bit
egister is used as the other half of the number.
Think about it as the x86 32-bit eax register being made up of
16-bit ah and al registers. Only we call then r0, r1 etc not
eax, ah and al (and they're twice the size.)
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
-
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]