OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [uclinux/] [uClinux-2.0.x/] [arch/] [alpha/] [boot/] [head.S] - Blame information for rev 1765

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 199 simons
/*
2
 * arch/alpha/boot/head.S
3
 *
4
 * initial bootloader stuff..
5
 */
6
 
7
#include 
8
 
9
#define halt .long PAL_halt
10
 
11
        .set noreorder
12
        .globl  __start
13
        .ent    __start
14
__start:
15
        bis     $31,$31,$31
16
        br      1f
17
        /* room for the initial PCB, which comes here */
18
        .quad   0,0,0,0,0,0,0,0
19
1:      br      $27,2f
20
2:      ldgp    $29,0($27)
21
        lda     $27,start_kernel
22
        jsr     $26,($27),start_kernel
23
        halt
24
        .end __start
25
 
26
        .align 5
27
        .globl  wrent
28
        .ent    wrent
29
wrent:
30
        .long PAL_wrent
31
        ret ($26)
32
        .end wrent
33
 
34
        .align 5
35
        .globl  wrkgp
36
        .ent    wrkgp
37
wrkgp:
38
        .long PAL_wrkgp
39
        ret ($26)
40
        .end wrkgp
41
 
42
        .align 5
43
        .globl  switch_to_osf_pal
44
        .ent    switch_to_osf_pal
45
switch_to_osf_pal:
46
        subq    $30,128,$30
47
        stq     $26,0($30)
48
        stq     $1,8($30)
49
        stq     $2,16($30)
50
        stq     $3,24($30)
51
        stq     $4,32($30)
52
        stq     $5,40($30)
53
        stq     $6,48($30)
54
        stq     $7,56($30)
55
        stq     $8,64($30)
56
        stq     $9,72($30)
57
        stq     $10,80($30)
58
        stq     $11,88($30)
59
        stq     $12,96($30)
60
        stq     $13,104($30)
61
        stq     $14,112($30)
62
        stq     $15,120($30)
63
 
64
        stq     $30,0($17)      /* save KSP in PCB */
65
 
66
        bis     $30,$30,$20     /* a4 = KSP */
67
        br      $17,__do_swppal
68
 
69
        ldq     $26,0($30)
70
        ldq     $1,8($30)
71
        ldq     $2,16($30)
72
        ldq     $3,24($30)
73
        ldq     $4,32($30)
74
        ldq     $5,40($30)
75
        ldq     $6,48($30)
76
        ldq     $7,56($30)
77
        ldq     $8,64($30)
78
        ldq     $9,72($30)
79
        ldq     $10,80($30)
80
        ldq     $11,88($30)
81
        ldq     $12,96($30)
82
        ldq     $13,104($30)
83
        ldq     $14,112($30)
84
        ldq     $15,120($30)
85
        addq    $30,128,$30
86
        ret ($26)
87
 
88
__do_swppal:
89
        .long   PAL_swppal
90
        .end    switch_to_osf_pal
91
 
92
.globl  dispatch
93
.ent    dispatch
94
dispatch:
95
        subq    $30,80,$30
96
        stq     $26,0($30)
97
        stq     $29,8($30)
98
 
99
        stq     $8,16($30)
100
        stq     $9,24($30)
101
        stq     $10,32($30)
102
        stq     $11,40($30)
103
        stq     $12,48($30)
104
        stq     $13,56($30)
105
        stq     $14,64($30)
106
        stq     $15,72($30)
107
 
108
        lda     $1,0x10000000           /* hwrpb */
109
        ldq     $2,0xc0($1)             /* crb offset */
110
        addq    $2,$1,$2                /* crb */
111
        ldq     $27,0($2)               /* dispatch procedure value */
112
 
113
        ldq     $2,8($27)               /* dispatch call address */
114
        jsr     $26,($2)                /* call it (weird VMS call seq) */
115
 
116
        ldq     $26,0($30)
117
        ldq     $29,8($30)
118
 
119
        ldq     $8,16($30)
120
        ldq     $9,24($30)
121
        ldq     $10,32($30)
122
        ldq     $11,40($30)
123
        ldq     $12,48($30)
124
        ldq     $13,56($30)
125
        ldq     $14,64($30)
126
        ldq     $15,72($30)
127
 
128
        addq    $30,80,$30
129
        ret     $31,($26)
130
.end    dispatch
131
 
132
        .align 3
133
        .globl  tbi
134
        .ent    tbi
135
tbi:
136
        .long PAL_tbi
137
        ret     ($26)
138
        .end tbi
139
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.