[PATCH 1/3] Support BE8 mode kernel modules relocation
catalin.marinas at arm.com
Wed Jan 19 12:32:33 EST 2011
On Wed, 2011-01-19 at 06:21 +0000, Stanley.Miao wrote:
> 2011/1/18 Catalin Marinas <catalin.marinas at arm.com>:
> > BTW (not related to modules, but since you are looking at this), when
> > we copy the sigreturn_codes to the vectors page in early_trap_init(),
> > do they get there in little endian form (as required by BE8)?
> No, they get there in big endian.They are read as data in the function
> retcode = KERN_SIGRETURN_CODE + (idx << 2) + thumb;
This retcode here is an address in the vectors page which is set to LR
when invoking the signal handler. All fine here.
But the sigreturn_codes array contains instructions which get copied to
the vectors page in the early_trap_init() function. This array has this
instructions in big endian format but they should be converted to little
endian when copied to the vectors page.
More information about the linux-arm-kernel