Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 118269
b: refs/heads/master
c: 8b8b0cc
h: refs/heads/master
i:
  118267: d3c1cce
v: v3
  • Loading branch information
Milton Miller authored and Paul Mackerras committed Oct 31, 2008
1 parent ae01a6d commit ceaf30f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 62a8bd6c9246c0e1f19dfb8fc65ad7c4f7cac8bb
refs/heads/master: 8b8b0cc1c736ddca39b60bb098bd0a23daaa495f
30 changes: 19 additions & 11 deletions trunk/arch/powerpc/kernel/head_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,6 @@ __secondary_hold_spinloop:
__secondary_hold_acknowledge:
.llong 0x0

/* This flag is set by purgatory if we should be a kdump kernel. */
/* Do not move this variable as purgatory knows about it. */
.globl __kdump_flag
__kdump_flag:
.llong 0x0

#ifdef CONFIG_PPC_ISERIES
/*
* At offset 0x20, there is a pointer to iSeries LPAR data.
Expand All @@ -112,6 +106,20 @@ __kdump_flag:
.llong hvReleaseData-KERNELBASE
#endif /* CONFIG_PPC_ISERIES */

#ifdef CONFIG_CRASH_DUMP
/* This flag is set to 1 by a loader if the kernel should run
* at the loaded address instead of the linked address. This
* is used by kexec-tools to keep the the kdump kernel in the
* crash_kernel region. The loader is responsible for
* observing the alignment requirement.
*/
/* Do not move this variable as kexec-tools knows about it. */
. = 0x5c
.globl __run_at_load
__run_at_load:
.long 0x72756e30 /* "run0" -- relocate to 0 by default */
#endif

. = 0x60
/*
* The following code is used to hold secondary processors
Expand Down Expand Up @@ -1391,8 +1399,8 @@ _STATIC(__after_prom_start)
lis r25,PAGE_OFFSET@highest /* compute virtual base of kernel */
sldi r25,r25,32
#ifdef CONFIG_CRASH_DUMP
ld r7,__kdump_flag-_stext(r26)
cmpldi cr0,r7,1 /* kdump kernel ? - stay where we are */
lwz r7,__run_at_load-_stext(r26)
cmplwi cr0,r7,1 /* kdump kernel ? - stay where we are */
bne 1f
add r25,r25,r26
#endif
Expand All @@ -1416,11 +1424,11 @@ _STATIC(__after_prom_start)
#ifdef CONFIG_CRASH_DUMP
/*
* Check if the kernel has to be running as relocatable kernel based on the
* variable __kdump_flag, if it is set the kernel is treated as relocatable
* variable __run_at_load, if it is set the kernel is treated as relocatable
* kernel, otherwise it will be moved to PHYSICAL_START
*/
ld r7,__kdump_flag-_stext(r26)
cmpldi cr0,r7,1
lwz r7,__run_at_load-_stext(r26)
cmplwi cr0,r7,1
bne 3f

li r5,__end_interrupts - _stext /* just copy interrupts */
Expand Down

0 comments on commit ceaf30f

Please sign in to comment.