spec
1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include "overlay.h"
/*
* ROM spec file
*/
beginseg
name "kernel"
flags BOOT OBJECT
entry boot
address 0x80200000
stack bootStack + STACKSIZE
include "kernel.o"
include "$(ROOT)/usr/lib/PR/rspboot.o"
include "$(ROOT)/usr/lib/PR/gspF3DEX2.xbus.o"
endseg
beginseg
name "cfb"
flags OBJECT
address 0x80000400
include "cfb.o"
endseg
/*
* Note that the "plain" and "texture" overlays are both given
* the same virtual (direct mapped) address, and thus will occupy
* the same physical memory locations.
*/
beginseg
name "plain"
flags OBJECT
after "cfb"
include "plain.o"
endseg
beginseg
name "texture"
flags OBJECT
after "cfb"
include "texture.o"
endseg
beginseg
name "rsp_cfb"
flags OBJECT
number CFB_SEGMENT
include "rsp_cfb.o"
endseg
/*
* Use two "waves" to create ELF binaries with distinct symbol tables.
* This will allow "plain" and "texture" to use the same procedure or
* data names without a conflict.
*
* Although "drawSquare" is exported by both overlay, it has the same
* virtual address since it is the first procedure in each segment.
* Thus the "kernel" segment is identical in either wave. This is important
* since makerom only includes the first reference of any segment into
* the rom.
*/
beginwave
name "plain"
include "kernel"
include "cfb"
include "plain"
include "rsp_cfb"
endwave
beginwave
name "texture"
include "kernel"
include "cfb"
include "texture"
include "rsp_cfb"
endwave