Merge remote-tracking branch 'scott/next' into next
Freescale updates from Scott: << Highlights include 32-bit booke relocatable support, e6500 hardware tablewalk support, various e500 SPE fixes, some new/revived boards, and e6500 deeper idle and altivec powerdown modes. >>
This commit is contained in:
@@ -294,6 +294,11 @@ n:
|
||||
* you want to access various offsets within it). On ppc32 this is
|
||||
* identical to LOAD_REG_IMMEDIATE.
|
||||
*
|
||||
* LOAD_REG_ADDR_PIC(rn, name)
|
||||
* Loads the address of label 'name' into register 'run'. Use this when
|
||||
* the kernel doesn't run at the linked or relocated address. Please
|
||||
* note that this macro will clobber the lr register.
|
||||
*
|
||||
* LOAD_REG_ADDRBASE(rn, name)
|
||||
* ADDROFF(name)
|
||||
* LOAD_REG_ADDRBASE loads part of the address of label 'name' into
|
||||
@@ -304,6 +309,14 @@ n:
|
||||
* LOAD_REG_ADDRBASE(rX, name)
|
||||
* ld rY,ADDROFF(name)(rX)
|
||||
*/
|
||||
|
||||
/* Be careful, this will clobber the lr register. */
|
||||
#define LOAD_REG_ADDR_PIC(reg, name) \
|
||||
bl 0f; \
|
||||
0: mflr reg; \
|
||||
addis reg,reg,(name - 0b)@ha; \
|
||||
addi reg,reg,(name - 0b)@l;
|
||||
|
||||
#ifdef __powerpc64__
|
||||
#define LOAD_REG_IMMEDIATE(reg,expr) \
|
||||
lis reg,(expr)@highest; \
|
||||
|
Reference in New Issue
Block a user