Powerpc: separate CONFIG_RELOCATABLE from CONFIG_CRASHDUMP in boot code
Fix head_64.S so that we can build a relocatable kernel that isn't necessarily a crash-dump kernel Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Sonny Rao <sonnyrao@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
8f4da26e9b
commit
928a319781
1 changed files with 2 additions and 4 deletions
|
@ -97,7 +97,7 @@ __secondary_hold_acknowledge:
|
||||||
.llong hvReleaseData-KERNELBASE
|
.llong hvReleaseData-KERNELBASE
|
||||||
#endif /* CONFIG_PPC_ISERIES */
|
#endif /* CONFIG_PPC_ISERIES */
|
||||||
|
|
||||||
#ifdef CONFIG_CRASH_DUMP
|
#ifdef CONFIG_RELOCATABLE
|
||||||
/* This flag is set to 1 by a loader if the kernel should run
|
/* This flag is set to 1 by a loader if the kernel should run
|
||||||
* at the loaded address instead of the linked address. This
|
* at the loaded address instead of the linked address. This
|
||||||
* is used by kexec-tools to keep the the kdump kernel in the
|
* is used by kexec-tools to keep the the kdump kernel in the
|
||||||
|
@ -385,12 +385,10 @@ _STATIC(__after_prom_start)
|
||||||
/* process relocations for the final address of the kernel */
|
/* process relocations for the final address of the kernel */
|
||||||
lis r25,PAGE_OFFSET@highest /* compute virtual base of kernel */
|
lis r25,PAGE_OFFSET@highest /* compute virtual base of kernel */
|
||||||
sldi r25,r25,32
|
sldi r25,r25,32
|
||||||
#ifdef CONFIG_CRASH_DUMP
|
|
||||||
lwz r7,__run_at_load-_stext(r26)
|
lwz r7,__run_at_load-_stext(r26)
|
||||||
cmplwi cr0,r7,1 /* kdump kernel ? - stay where we are */
|
cmplwi cr0,r7,1 /* flagged to stay where we are ? */
|
||||||
bne 1f
|
bne 1f
|
||||||
add r25,r25,r26
|
add r25,r25,r26
|
||||||
#endif
|
|
||||||
1: mr r3,r25
|
1: mr r3,r25
|
||||||
bl .relocate
|
bl .relocate
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue