Re: [linux-usb-devel] Re: need for packed attribute

Russell King
2006-01-12T17:34:24Z

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