Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


New Shadow paging implementation to allow pluggable shadow paging implementations
[palacios.git] / Kconfig
1 mainmenu "Palacios VMM Configuration"
2
3 menu "Target Configuration"
4
5
6 config KITTEN
7         bool "Set defaults needed for the Kitten OS"
8         default y
9         help
10           This enables the necesary options to compile Palacios with Kitten
11
12
13 config CRAY_XT
14         bool "Red Storm (Cray XT3/XT4)"
15         help
16           Support for Cray XT3 and XT4 systems.
17
18 config SVM
19         bool "AMD SVM Support"
20         default y
21         help
22           Compile with support for AMD SVM
23
24 config VMX
25         bool "Intel VMX Support"
26         default y
27         help 
28           Compile with support for Intel VMX
29
30
31 config MULTITHREAD_OS
32         bool "Compile for a multi threaded OS"
33         default y
34         help 
35           This allows Palacios to use OS thread mechanisms
36
37
38 config MAX_CPUS
39         int "Maximum number of cpus"
40         range 1 255
41         default "16"
42         help 
43           Specifies the maximum number of hardware cpus Palacios can support
44
45           For uniprocessor environments, set this to 1
46
47
48 config SOCKET
49         bool "Include Network Socket Support"
50         default y
51         help 
52           Enable networking support in Palacios
53
54
55
56
57 config TELEMETRY
58         bool "Enable VMM telemetry support"
59         default n
60         help 
61           Enable the telemetry framework in Palacios
62           -----
63           This is a framwork that allows components of palacios to record 
64           information that is periodically reported to the log output.
65           Telemetry is automatically collected for vmexits. Subsystem telemetry 
66           is configured separately
67
68
69 config SHADOW_PAGING_TELEMETRY
70         bool "Enable Shadow Paging Telemetry"
71         default y
72         depends on TELEMETRY
73         help
74           Enable telemetry information for shadow paging 
75
76 config SYMBIOTIC_SWAP_TELEMETRY
77         bool "Enable Symbiotic Swap Telemetry"
78         default n
79         depends on TELEMETRY && SYMBIOTIC_SWAP
80         help 
81           Enable the telemetry information for the symbiotic swap subsystem
82
83
84 config PASSTHROUGH_VIDEO
85         bool "Enable Passthrough Video"
86         default y
87         help 
88           Configures Palacios to map a guest's framebuffer directly 
89           to the hardware framebuffer
90
91 config INSTRUMENT_VMM
92         bool "Enable VMM instrumentation"
93         default n
94         help 
95           Enable the instrumentation framework
96           --------
97           This is much heavier weight than profiling
98
99 config EXPERIMENTAL
100         bool "Enable Experimental options"
101         default n
102         help 
103           This allows the selection of experimental features. This includes incomplete or unreviewed code. 
104           Only enable this feature if you are working on the features in question. 
105           IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features. 
106           Any code that violates this will be immediately deleted without warning. 
107           -- 
108           The purpose of this option is to allow features under development to be committed to the mainline
109           to more easily track changes and provide access to multiple developers
110
111 config VNET
112         depends on EXPERIMENTAL
113         bool "Enable Vnet in Palacios"
114         default n
115         help
116           Enable the Vnet in Palacios
117
118 endmenu
119
120
121 source "Kconfig.stdlibs"
122
123
124
125 menu "Virtual Paging"
126
127 config SHADOW_PAGING
128         bool "Enable shadow paging"
129         default y
130         help 
131            Enables shadow paging for virtual machines
132
133
134 config SHADOW_PAGING_VTLB
135         bool "Virtual TLB"
136         default y
137         depends on SHADOW_PAGING
138         help 
139            Enables Virtual TLB implemenation for shadow paging
140
141 endmenu
142
143
144 menu "Symbiotic Functions"
145
146 config SYMBIOTIC
147         bool "Enable Symbiotic Functionality"
148         default n
149         help 
150           Enable Symbiotic components of the VMM
151
152
153 config SYMBIOTIC_SWAP
154         bool "Symbiotic Swap"
155         default n
156         depends on SYMBIOTIC && EXPERIMENTAL
157         help 
158           This enables the symbiotic swap architecture
159
160 endmenu
161
162
163
164 menu "Debug configuration"
165
166 config CONFIG_DEBUG_INFO
167         bool "Compile with Debug information"
168         default n
169         help 
170          This adds the -g flag to the compilation flags
171
172
173 ## Is unwind information useful
174
175 config DEBUG_ON
176         bool "Enable Debugging"
177         default y
178         help
179           This turns on debugging support
180
181
182 config DEBUG_SHADOW_PAGING
183         bool "Shadow paging"
184         default n
185         depends on DEBUG_ON
186         help 
187           This turns on debugging for the shadow paging system
188
189
190 config DEBUG_NESTED_PAGING
191         bool "Nested paging"
192         default n
193         depends on DEBUG_ON
194         help 
195           This turns on debugging for the nested paging system
196
197
198 config DEBUG_CTRL_REGS
199         bool "Control registers"
200         default n
201         depends on DEBUG_ON
202         help 
203           This turns on debugging for the control register handlers
204
205
206 config DEBUG_INTERRUPTS
207         bool "Interrupts"
208         default n
209         depends on DEBUG_ON
210         help 
211           This turns on debugging for the interrupt system
212
213
214
215 config DEBUG_IO
216         bool "IO"
217         default n
218         depends on DEBUG_ON
219         help 
220           This turns on debugging for the IO handlers
221
222
223 config DEBUG_EMULATOR
224         bool "Instruction Emulator"
225         default n
226         depends on DEBUG_ON
227         help 
228           This turns on debugging for the Instruction Emulator
229
230
231 config DEBUG_XED
232         bool "XED"
233         default n
234         depends on DEBUG_ON
235         help 
236           This turns on debugging for the Xed Decoder
237
238 config DEBUG_HALT
239         bool "Halt"
240         default n
241         depends on DEBUG_ON
242         help 
243           This turns on debugging for the halt instruction handler
244
245 config DEBUG_DEV_MGR
246         bool "Device Manager"
247         default n
248         depends on DEBUG_ON
249         help 
250           This turns on debugging for the device manager
251
252
253
254
255 endmenu
256
257
258 menu "BIOS Selection"
259
260 config ROMBIOS_PATH
261         string "Path to pre-built ROMBIOS binary"
262         default "./bios/rombios/BIOS-bochs-latest"
263         help
264           This is the rombios that will be used for the guests
265
266 config VGABIOS_PATH
267         string "Path to pre-built VGABIOS binary"
268         default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
269         help
270           This is the vgabios that will be used for the guests
271
272 config VMXASSIST_PATH
273         string "Path to pre-built VMXASSIST binary"
274         depends on VMX
275         default "./bios/vmxassist/vmxassist.bin"
276         help
277           This is vmxassist image to boot real mode guests on 
278           Intel VMX Platforms
279
280 endmenu
281
282
283 source "palacios/src/devices/Kconfig"
284