diff options
author | Peter Chubb <peterc@gelato.unsw.edu.au> | 2005-08-22 17:50:00 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-08-23 07:41:56 -0700 |
commit | a4cce10492358b33d33bb43f98284c80482037e8 (patch) | |
tree | 868c53b157ceacf5be84004f9ecc464b794256c2 | |
parent | 62d75f3753647656323b0365faa43fc1a8f7be97 (diff) |
[IA64] Fix simulator boot (for real this time).
Thanks to Stephane, we've now worked out the real cause of the
`Linux will not boot on simulator' problem. Turns out it's a stack
overflow because the stack pointer wasn't being initialised properly
in boot_head.S (it was being initialised to the lowest instead of the
highest address of the stack, so the first push started to overwrite
data in the BSS).
Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au>
Signed-off-by: Tony Luck <tony.luck@intel.com>
-rw-r--r-- | arch/ia64/hp/sim/boot/boot_head.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ia64/hp/sim/boot/boot_head.S b/arch/ia64/hp/sim/boot/boot_head.S index 9364199e563..1c8c7e6a9a5 100644 --- a/arch/ia64/hp/sim/boot/boot_head.S +++ b/arch/ia64/hp/sim/boot/boot_head.S @@ -22,7 +22,7 @@ GLOBAL_ENTRY(_start) .save rp, r0 .body movl gp = __gp - movl sp = stack_mem + movl sp = stack_mem+16384-16 bsw.1 br.call.sptk.many rp=start_bootloader END(_start) |