summaryrefslogtreecommitdiffstats
path: root/arch/alpha/boot/head.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/alpha/boot/head.S')
-rw-r--r--arch/alpha/boot/head.S122
1 files changed, 0 insertions, 122 deletions
diff --git a/arch/alpha/boot/head.S b/arch/alpha/boot/head.S
deleted file mode 100644
index b06812b..0000000
--- a/arch/alpha/boot/head.S
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * arch/alpha/boot/head.S
- *
- * initial bootloader stuff..
- */
-
-
- .set noreorder
- .globl __start
- .ent __start
-__start:
- br $29,2f
-2: ldgp $29,0($29)
- jsr $26,start_kernel
- call_pal PAL_halt
- .end __start
-
- .align 5
- .globl wrent
- .ent wrent
-wrent:
- .prologue 0
- call_pal PAL_wrent
- ret ($26)
- .end wrent
-
- .align 5
- .globl wrkgp
- .ent wrkgp
-wrkgp:
- .prologue 0
- call_pal PAL_wrkgp
- ret ($26)
- .end wrkgp
-
- .align 5
- .globl switch_to_osf_pal
- .ent switch_to_osf_pal
-switch_to_osf_pal:
- subq $30,128,$30
- .frame $30,128,$26
- stq $26,0($30)
- stq $1,8($30)
- stq $2,16($30)
- stq $3,24($30)
- stq $4,32($30)
- stq $5,40($30)
- stq $6,48($30)
- stq $7,56($30)
- stq $8,64($30)
- stq $9,72($30)
- stq $10,80($30)
- stq $11,88($30)
- stq $12,96($30)
- stq $13,104($30)
- stq $14,112($30)
- stq $15,120($30)
- .prologue 0
-
- stq $30,0($17) /* save KSP in PCB */
-
- bis $30,$30,$20 /* a4 = KSP */
- br $17,1f
-
- ldq $26,0($30)
- ldq $1,8($30)
- ldq $2,16($30)
- ldq $3,24($30)
- ldq $4,32($30)
- ldq $5,40($30)
- ldq $6,48($30)
- ldq $7,56($30)
- ldq $8,64($30)
- ldq $9,72($30)
- ldq $10,80($30)
- ldq $11,88($30)
- ldq $12,96($30)
- ldq $13,104($30)
- ldq $14,112($30)
- ldq $15,120($30)
- addq $30,128,$30
- ret ($26)
-1: call_pal PAL_swppal
- .end switch_to_osf_pal
-
- .align 3
- .globl tbi
- .ent tbi
-tbi:
- .prologue 0
- call_pal PAL_tbi
- ret ($26)
- .end tbi
-
- .align 3
- .globl halt
- .ent halt
-halt:
- .prologue 0
- call_pal PAL_halt
- .end halt
-
-/* $16 - new stack page */
- .align 3
- .globl move_stack
- .ent move_stack
-move_stack:
- .prologue 0
- lda $0, 0x1fff($31)
- and $0, $30, $1 /* Stack offset */
- or $1, $16, $16 /* New stack pointer */
- mov $30, $1
- mov $16, $2
-1: ldq $3, 0($1) /* Move the stack */
- addq $1, 8, $1
- stq $3, 0($2)
- and $0, $1, $4
- addq $2, 8, $2
- bne $4, 1b
- mov $16, $30
- ret ($26)
- .end move_stack