-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathKconfig
252 lines (192 loc) · 4.48 KB
/
Kconfig
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
mainmenu "This is a configure for nemu-mips32"
choice
prompt "Machine selection"
default MARCH_MIPS32_R1
config MARCH_BENCH
bool "optimized for microbench"
select NEMU_TRAP
select XLNX_ULITE
select NEMU_CLOCK
select BRAM
select DDR
select NEMU_VGA_CTRL
select MMU_CACHE
select DECODE_CACHE
config MARCH_MIPS32_R1
bool "mips32 release 1"
select DELAYSLOT
select EXCEPTION
select PAGING
select INTR
select NEMU_TRAP
select XLNX_ULITE
select BRAM
select DDR
config MARCH_NOOP
bool "noop (no intr)"
select DELAYSLOT
select EXCEPTION
select PAGING
select NEMU_TRAP
select XLNX_ULITE
select BRAM
select DDR
endchoice
menu "NEMU-MIPS32 features"
if ! MARCH_BENCH
config DELAYSLOT
bool "Delayslot support"
config PAGING
bool "Paging mode support"
config INTR
bool "Interrupt support"
depends on !MARCH_NOOP
config EXCEPTION
bool "Exception support"
endif
config CMDLINE_ADDR
hex "The cmdline address"
default 0xbfc10000
config MMU_CACHE
bool "Cache mmu results"
config DECODE_CACHE
bool "Cache decode results"
endmenu
menu "NEMU-MIPS32 debug options"
config INSTR_PERF
bool "Profile instruction frequency"
default n
config MMU_CACHE_PERF
bool "Profile mmu cache hit rate"
default n
config DECODE_CACHE_PERF
bool "Profile decode cache hit rate"
default n
config ELF_PERF
bool "Profilling the executed elf file"
default n
choice
prompt "Profiling selection"
depends on ELF_PERF
config ELF_PERF_TIME
bool "Profilling time the executed elf file"
config ELF_PERF_INSTR
bool "Profilling instrs the executed elf file"
endchoice
config DIFF_WITH_QEMU
bool "Diff test with qemu"
depends on MARCH_NOOP
config INSTR_LOG
bool "Log all executed instructions"
default n
config FUNCTION_TRACE_LOG
bool "Log function trace"
default n
config BACKTRACE_LOG
bool "Log all functions in current stack frame"
depends on FUNCTION_TRACE_LOG=y
endmenu
menu "Kernel debug options"
config KERNEL_DEBUG_SERIAL
bool "Kernel debug serial (cpr $7, 1)"
depends on KERNEL_ELF_PATH != ""
config CHECK_IMAGE
bool "Check the consistence of kernel image"
config WARN_PC_EQUALS_ZERO
bool "Warning when PC is zero"
config DUMP_SYSCALL
bool "Dump syscalls (posix)"
endmenu
menu "Device simulation"
config GRAPHICS
bool "enable window (by SDL)"
default n
menuconfig BRAM
bool "Block RAM (1 MB)"
config BRAM_BASE
hex "address of block RAM"
range 0x00000000 0x20000000
depends on BRAM=y
default 0x1fc00000
menuconfig DDR
bool "DDR (128 MB, main memory)"
config DDR_BASE
hex "address of DDR"
range 0x00000000 0x20000000
depends on DDR=y
default 0x00000000
menuconfig NEMU_TRAP
bool "nemu trap"
config NEMU_TRAP_BASE
hex "address of nemu trap"
range 0x00000000 0x20000000
depends on NEMU_TRAP=y
default 0x10000000
menuconfig NEMU_KEYBOARD
bool "nemu keyboard"
config NEMU_KEYBOARD_BASE
hex "address of nemu keyboard"
range 0x00000000 0x20000000
depends on NEMU_KEYBOARD=y
default 0x1fe94000
menuconfig NEMU_PMU
bool "nemu pmu (for compatibility)"
config NEMU_PMU_BASE
hex "address of nemu pmu"
range 0x00000000 0x20000000
depends on NEMU_PMU=y
default 0x1fe95000
menuconfig NEMU_CLOCK
bool "nemu clock"
config NEMU_CLOCK_BASE
hex "address of nemu clock"
range 0x00000000 0x20000000
depends on NEMU_CLOCK=y
default 0x10002000
menuconfig NEMU_VGA
bool "nemu vga"
depends on GRAPHICS=y
select NEMU_VGA_CTRL
config NEMU_VGA_BASE
hex "address of nemu vga"
range 0x00000000 0x20000000
depends on NEMU_VGA=y
default 0x10400000
config NEMU_VGA_CTRL
bool "nemu vga controller"
depends on NEMU_VGA=y
config NEMU_VGA_CTRL_BASE
hex "address of nemu vga controller"
range 0x00000000 0x20000000
depends on NEMU_VGA_CTRL=y
default 0x10003000
config NEMU_DISK
bool "nemu disk controller"
config NEMU_DISK_BASE
hex "base addr of nemu disk controller"
default 0x1fe97000
menuconfig XLNX_ULITE
bool "Xilinx Uartlite device"
config XLNX_ULITE_BASE
hex "address of uartlite"
range 0x00000000 0x20000000
depends on XLNX_ULITE=y
default 0x1fe50000
menuconfig XLNX_SPI
bool "Xilinx spi device"
config XLNX_SPI_BASE
hex "address of spi"
range 0x00000000 0x20000000
depends on XLNX_SPI=y
default 0x1fe80000
menuconfig NETWORK
bool "network simulation"
config XLNX_ELITE
bool "xilinx etherlite"
depends on NETWORK
config XLNX_ELITE_BASE
hex "address of xilinx etherlite"
range 0x00000000 0x20000000
depends on XLNX_ELITE=y
default 0x1ff00000
endmenu