|
|
1.1 root 1: /* srt0.c 4.8 81/04/03 */
2: /* Tahoe version. 82/11/09 */
3:
4: #include "../machine/mtpr.h"
5: #define LOCORE
6:
7: /*
8: * Startup code for standalone system
9: */
10:
11: .globl _end
12: .globl _main
13: .globl __rtt
14: .globl _openfirst
15: .globl _start
16:
17: .set HIGH,31 # mask for total disable
18:
19: #ifndef REL
20: .word 0x00 # 'call' by relsrt0.
21: #endif
22: _start:
23: mtpr $HIGH,$IPL # just in case
24: movl $RELOC,sp
1.1.1.2 ! root 25:
1.1 root 26: movl $0x800,r0 /* source address to copy from */
27: movl $RELOC,r1 /* destination address */
28: movl aend,r2 /* length */
1.1.1.2 ! root 29: addl2 r2,r0
! 30: addl2 r2,r1
1.1 root 31: mvloop:
1.1.1.2 ! root 32: decl r0
! 33: decl r1
1.1 root 34: movb (r0),(r1)
35: decl r2
1.1.1.2 ! root 36: bgeq mvloop
! 37:
1.1 root 38: mtpr $0,$PACC
39: jmp *abegin
1.1.1.2 ! root 40:
1.1 root 41: begin:
42: movl $1,_openfirst
43: callf $4,_main
44: jmp begin
45:
46: __rtt:
47: .word 0x0
48: jmp begin
49:
50: .data
51: abegin: .long begin
1.1.1.2 ! root 52: aend: .long _end-RELOC-0x800
! 53: aedata: .long _edata-RELOC-0x800
1.1 root 54: .globl _entry
55: .set _entry,0x800
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.