Changeset View
Changeset View
Standalone View
Standalone View
powerpc/aim/locore64.S
Context not available. | |||||
.align 3 | .align 3 | ||||
0: nop | 0: nop | ||||
bl 1f | bl 1f | ||||
.llong __tocbase + 0x8000 | .llong __tocbase + 0x8000 - . | ||||
1: mflr %r2 | 1: mflr %r2 | ||||
ld %r2,0(%r2) | ld %r1,0(%r2) | ||||
add %r2,%r1,%r2 | |||||
/* Set up the stack pointer */ | /* Set up the stack pointer */ | ||||
ld %r1,TOC_REF(tmpstk)(%r2) | ld %r1,TOC_REF(tmpstk)(%r2) | ||||
addi %r1,%r1,TMPSTKSZ-48 | addi %r1,%r1,TMPSTKSZ-96 | ||||
/* Relocate kernel */ | |||||
std %r3,48(%r1) | |||||
std %r4,56(%r1) | |||||
std %r5,64(%r1) | |||||
std %r6,72(%r1) | |||||
bl 1f | |||||
.llong _DYNAMIC-. | |||||
1: mflr %r3 | |||||
ld %r4,0(%r3) | |||||
add %r3,%r4,%r3 | |||||
ld %r4,-0x8000(%r2) /* First TOC entry is TOC base */ | |||||
subf %r4,%r4,%r2 /* Subtract from real TOC base to get base */ | |||||
bl elf_reloc_self | |||||
nop | |||||
ld %r3,48(%r1) | |||||
ld %r4,56(%r1) | |||||
ld %r5,64(%r1) | |||||
ld %r6,72(%r1) | |||||
/* Switch to 64-bit mode */ | /* Switch to 64-bit mode */ | ||||
mfmsr %r9 | mfmsr %r9 | ||||
li %r8,1 | li %r8,1 | ||||
Context not available. | |||||
.align 3 | .align 3 | ||||
0: nop | 0: nop | ||||
bl 1f | bl 1f | ||||
.llong __tocbase + 0x8000 | .llong __tocbase + 0x8000 - . | ||||
1: mflr %r2 | 1: mflr %r2 | ||||
ld %r2,0(%r2) | ld %r1,0(%r2) | ||||
add %r2,%r1,%r2 | |||||
/* Set up the stack pointer */ | /* Set up the stack pointer */ | ||||
ld %r1,TOC_REF(tmpstk)(%r2) | ld %r1,TOC_REF(tmpstk)(%r2) | ||||
addi %r1,%r1,TMPSTKSZ-48 | addi %r1,%r1,TMPSTKSZ-96 | ||||
/* Relocate kernel */ | |||||
std %r3,48(%r1) | |||||
std %r4,56(%r1) | |||||
std %r5,64(%r1) | |||||
std %r6,72(%r1) | |||||
bl 1f | |||||
.llong _DYNAMIC-. | |||||
1: mflr %r3 | |||||
ld %r4,0(%r3) | |||||
add %r3,%r4,%r3 | |||||
ld %r4,-0x8000(%r2) /* First TOC entry is TOC base */ | |||||
subf %r4,%r4,%r2 /* Subtract from real TOC base to get base */ | |||||
bl elf_reloc_self | |||||
nop | |||||
ld %r3,48(%r1) | |||||
ld %r4,56(%r1) | |||||
ld %r5,64(%r1) | |||||
ld %r6,72(%r1) | |||||
/* Switch to 64-bit mode */ | /* Switch to 64-bit mode */ | ||||
mfmsr %r9 | mfmsr %r9 | ||||
li %r8,1 | li %r8,1 | ||||
Context not available. |