diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-01-03 17:49:53 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-01-03 17:49:53 +0000 |
commit | eb7a5bf93aaa4be1d7c6181100ab7639e74d67f7 (patch) | |
tree | 5746fea1605ff013be9b78a1556aaad7615d664a /arch/alpha/kernel/head.S | |
parent | 80ea5b1e15398277650e1197957053b5a71c08bc (diff) |
Merge with Linux 2.1.131 plus some more MIPS goodies.
Diffstat (limited to 'arch/alpha/kernel/head.S')
-rw-r--r-- | arch/alpha/kernel/head.S | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/arch/alpha/kernel/head.S b/arch/alpha/kernel/head.S index 92e11a82e..8ba50462b 100644 --- a/arch/alpha/kernel/head.S +++ b/arch/alpha/kernel/head.S @@ -9,8 +9,6 @@ #include <asm/system.h> -#define halt call_pal PAL_halt - .globl swapper_pg_dir .globl _stext swapper_pg_dir=SWAPPER_PGD @@ -29,28 +27,28 @@ __start: lda $30,0x4000($8) /* ... and then we can start the kernel. */ jsr $26,start_kernel - halt + call_pal PAL_halt .end __start #ifdef __SMP__ .align 3 .globl __start_cpu .ent __start_cpu - /* on entry here from SRM console, the HWPCB of this processor */ - /* has been loaded, and $27 contains the task pointer */ + /* On entry here from SRM console, the HWPCB of this processor + has been loaded, and $27 contains the task pointer */ __start_cpu: .prologue 0 - /* first order of business, load the GP */ + /* First order of business, load the GP */ br $26,1f 1: ldgp $29,0($26) /* We need to get current loaded up with our first task... */ - lda $8,0($27) - /* set FEN */ + mov $27,$8 + /* Set FEN */ lda $16,1($31) call_pal PAL_wrfen /* ... and then we can start the processor. */ jsr $26,start_secondary - halt + call_pal PAL_halt .end __start_cpu #endif /* __SMP__ */ @@ -121,10 +119,20 @@ whami: .globl wripir .ent wripir wripir: + .prologue 0 call_pal PAL_wripir ret ($26) .end wripir + .align 3 + .globl wrvptptr + .ent wrvptptr +wrvptptr: + .prologue 0 + call_pal PAL_wrvptptr + ret ($26) + .end wrvptptr + # # The following two functions are needed for supporting SRM PALcode # on the PC164 (at least), since that PALcode manages the interrupt @@ -152,3 +160,17 @@ cserve_dis: call_pal PAL_cserve ret ($26) .end cserve_dis + + # + # It is handy, on occasion, to make halt actually just loop. + # Putting it here means we dont have to recompile the whole + # kernel. + # + + .align 3 + .globl halt + .ent halt +halt: + .prologue 0 + call_pal PAL_halt + .end halt |