[PATCH 1/3] Support BE8 mode kernel modules relocation

Catalin Marinas 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
> setup_return().
> 
> 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.

-- 
Catalin





More information about the linux-arm-kernel mailing list