|
|
1.1 root 1: # Startup code for standalone system
2: # Self-relocating version used by boot itself.
3:
4: .globl _end
5: .globl _main
6: .globl __rtt
7: .globl _edata
8:
9: .set PHYSUBA,0x20006000 # uba 0
10: .set PHYSMBA0,0x20010000 # mba 0
11: .set PHYSMBA1,0x20012000 # mba 1
12: .set PHYSUMEM,0x2013e000 # unibus memory
13:
14: .set HIGH,31 # mask for total disable
15:
16: .word 0x0
17: mtpr $HIGH,$IPL # just in case
18: movl $RELOC,sp
19: movl $1,*$PHYSMBA0+4 # init
20: movl $1,*$PHYSMBA1+4 # init
21: movl $1,*$PHYSUBA+4 # init
22: subl3 $_edata,$_end,r0
23: subl3 $RELOC,$_edata,r1
24: movc5 $0,(sp),$0,r0,(r1)
25: movc3 aend,*$0,(sp) # relocate
26: jmp *astart
27: start:
28: calls $0,_main
29: movl $RELOC,sp
30: jmp start
31:
32: __rtt:
33: .word 0x0
34: movl $RELOC,sp
35: jmp *$start
36:
37: .data
38: astart: .long start
39: aend: .long _end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.