Revision ad96090a
b/Makefile.objs | ||
---|---|---|
127 | 127 |
# libhw |
128 | 128 |
|
129 | 129 |
hw-obj-y = |
130 |
hw-obj-y += loader.o |
|
130 |
hw-obj-y += vl.o loader.o
|
|
131 | 131 |
hw-obj-y += virtio.o virtio-console.o |
132 | 132 |
hw-obj-$(CONFIG_VIRTIO_PCI) += virtio-pci.o |
133 | 133 |
hw-obj-y += fw_cfg.o pci.o pci_host.o pcie_host.o |
... | ... | |
216 | 216 |
libdis-$(CONFIG_S390_DIS) += s390-dis.o |
217 | 217 |
libdis-$(CONFIG_SH4_DIS) += sh4-dis.o |
218 | 218 |
libdis-$(CONFIG_SPARC_DIS) += sparc-dis.o |
219 |
|
|
220 |
vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS) |
|
221 |
|
|
222 |
vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS) |
|
223 |
|
|
224 |
vl.o: qemu-options.h |
|
225 |
|
|
226 |
qemu-options.h: $(SRC_PATH)/qemu-options.hx |
|
227 |
$(call quiet-command,sh $(SRC_PATH)/hxtool -h < $< > $@," GEN $(TARGET_DIR)$@") |
|
228 |
|
b/Makefile.target | ||
---|---|---|
161 | 161 |
# System emulator target |
162 | 162 |
ifdef CONFIG_SOFTMMU |
163 | 163 |
|
164 |
obj-y = vl.o cpus.o monitor.o machine.o gdbstub.o
|
|
164 |
obj-y = arch_init.o cpus.o monitor.o machine.o gdbstub.o
|
|
165 | 165 |
obj-y += qemu-timer.o |
166 | 166 |
# virtio has to be here due to weird dependency between PCI and virtio-net. |
167 | 167 |
# need to fix this properly |
... | ... | |
285 | 285 |
|
286 | 286 |
obj-alpha-y = alpha_palcode.o |
287 | 287 |
|
288 |
main.o vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS) |
|
289 |
|
|
290 |
vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS) |
|
291 |
|
|
292 |
vl.o: qemu-options.h |
|
288 |
main.o: QEMU_CFLAGS+=$(GPROF_CFLAGS) |
|
293 | 289 |
|
294 | 290 |
monitor.o: qemu-monitor.h |
295 | 291 |
|
... | ... | |
311 | 307 |
gdbstub-xml.c: $(TARGET_XML_FILES) $(SRC_PATH)/feature_to_c.sh |
312 | 308 |
$(call quiet-command,rm -f $@ && $(SHELL) $(SRC_PATH)/feature_to_c.sh $@ $(TARGET_XML_FILES)," GEN $(TARGET_DIR)$@") |
313 | 309 |
|
314 |
qemu-options.h: $(SRC_PATH)/qemu-options.hx |
|
315 |
$(call quiet-command,sh $(SRC_PATH)/hxtool -h < $< > $@," GEN $(TARGET_DIR)$@") |
|
316 |
|
|
317 | 310 |
qemu-monitor.h: $(SRC_PATH)/qemu-monitor.hx |
318 | 311 |
$(call quiet-command,sh $(SRC_PATH)/hxtool -h < $< > $@," GEN $(TARGET_DIR)$@") |
319 | 312 |
|
320 | 313 |
clean: |
321 | 314 |
rm -f *.o *.a *~ $(PROGS) nwfpe/*.o fpu/*.o |
322 | 315 |
rm -f *.d */*.d tcg/*.o ide/*.o |
323 |
rm -f qemu-options.h qemu-monitor.h gdbstub-xml.c
|
|
316 |
rm -f qemu-monitor.h gdbstub-xml.c |
|
324 | 317 |
|
325 | 318 |
install: all |
326 | 319 |
ifneq ($(PROGS),) |
b/arch_init.c | ||
---|---|---|
1 |
/* |
|
2 |
* QEMU System Emulator |
|
3 |
* |
|
4 |
* Copyright (c) 2003-2008 Fabrice Bellard |
|
5 |
* |
|
6 |
* Permission is hereby granted, free of charge, to any person obtaining a copy |
|
7 |
* of this software and associated documentation files (the "Software"), to deal |
|
8 |
* in the Software without restriction, including without limitation the rights |
|
9 |
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|
10 |
* copies of the Software, and to permit persons to whom the Software is |
|
11 |
* furnished to do so, subject to the following conditions: |
|
12 |
* |
|
13 |
* The above copyright notice and this permission notice shall be included in |
|
14 |
* all copies or substantial portions of the Software. |
|
15 |
* |
|
16 |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
17 |
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
18 |
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|
19 |
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
20 |
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|
21 |
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|
22 |
* THE SOFTWARE. |
|
23 |
*/ |
|
24 |
#include <stdint.h> |
|
25 |
#include <stdarg.h> |
|
26 |
#ifndef _WIN32 |
|
27 |
#include <sys/mman.h> |
|
28 |
#endif |
|
29 |
#include "config.h" |
|
30 |
#include "monitor.h" |
|
31 |
#include "sysemu.h" |
|
32 |
#include "arch_init.h" |
|
33 |
#include "audio/audio.h" |
|
34 |
#include "hw/pc.h" |
|
35 |
#include "hw/pci.h" |
|
36 |
#include "hw/audiodev.h" |
|
37 |
#include "kvm.h" |
|
38 |
#include "migration.h" |
|
39 |
#include "net.h" |
|
40 |
#include "gdbstub.h" |
|
41 |
#include "hw/smbios.h" |
|
42 |
|
|
43 |
#ifdef TARGET_SPARC |
|
44 |
int graphic_width = 1024; |
|
45 |
int graphic_height = 768; |
|
46 |
int graphic_depth = 8; |
|
47 |
#else |
|
48 |
int graphic_width = 800; |
|
49 |
int graphic_height = 600; |
|
50 |
int graphic_depth = 15; |
|
51 |
#endif |
|
52 |
|
|
53 |
const char arch_config_name[] = CONFIG_QEMU_CONFDIR "/target-" TARGET_ARCH ".conf"; |
|
54 |
|
|
55 |
#if defined(TARGET_ALPHA) |
|
56 |
#define QEMU_ARCH QEMU_ARCH_ALPHA |
|
57 |
#elif defined(TARGET_ARM) |
|
58 |
#define QEMU_ARCH QEMU_ARCH_ARM |
|
59 |
#elif defined(TARGET_CRIS) |
|
60 |
#define QEMU_ARCH QEMU_ARCH_CRIS |
|
61 |
#elif defined(TARGET_I386) |
|
62 |
#define QEMU_ARCH QEMU_ARCH_I386 |
|
63 |
#elif defined(TARGET_M68K) |
|
64 |
#define QEMU_ARCH QEMU_ARCH_M68K |
|
65 |
#elif defined(TARGET_MICROBLAZE) |
|
66 |
#define QEMU_ARCH QEMU_ARCH_MICROBLAZE |
|
67 |
#elif defined(TARGET_MIPS) |
|
68 |
#define QEMU_ARCH QEMU_ARCH_MIPS |
|
69 |
#elif defined(TARGET_PPC) |
|
70 |
#define QEMU_ARCH QEMU_ARCH_PPC |
|
71 |
#elif defined(TARGET_S390X) |
|
72 |
#define QEMU_ARCH QEMU_ARCH_S390X |
|
73 |
#elif defined(TARGET_SH4) |
|
74 |
#define QEMU_ARCH QEMU_ARCH_SH4 |
|
75 |
#elif defined(TARGET_SPARC) |
|
76 |
#define QEMU_ARCH QEMU_ARCH_SPARC |
|
77 |
#endif |
|
78 |
|
|
79 |
const uint32_t arch_type = QEMU_ARCH; |
|
80 |
|
|
81 |
/***********************************************************/ |
|
82 |
/* ram save/restore */ |
|
83 |
|
|
84 |
#define RAM_SAVE_FLAG_FULL 0x01 /* Obsolete, not used anymore */ |
|
85 |
#define RAM_SAVE_FLAG_COMPRESS 0x02 |
|
86 |
#define RAM_SAVE_FLAG_MEM_SIZE 0x04 |
|
87 |
#define RAM_SAVE_FLAG_PAGE 0x08 |
|
88 |
#define RAM_SAVE_FLAG_EOS 0x10 |
|
89 |
|
|
90 |
static int is_dup_page(uint8_t *page, uint8_t ch) |
|
91 |
{ |
|
92 |
uint32_t val = ch << 24 | ch << 16 | ch << 8 | ch; |
|
93 |
uint32_t *array = (uint32_t *)page; |
|
94 |
int i; |
|
95 |
|
|
96 |
for (i = 0; i < (TARGET_PAGE_SIZE / 4); i++) { |
|
97 |
if (array[i] != val) { |
|
98 |
return 0; |
|
99 |
} |
|
100 |
} |
|
101 |
|
|
102 |
return 1; |
|
103 |
} |
|
104 |
|
|
105 |
static int ram_save_block(QEMUFile *f) |
|
106 |
{ |
|
107 |
static ram_addr_t current_addr = 0; |
|
108 |
ram_addr_t saved_addr = current_addr; |
|
109 |
ram_addr_t addr = 0; |
|
110 |
int found = 0; |
|
111 |
|
|
112 |
while (addr < last_ram_offset) { |
|
113 |
if (cpu_physical_memory_get_dirty(current_addr, MIGRATION_DIRTY_FLAG)) { |
|
114 |
uint8_t *p; |
|
115 |
|
|
116 |
cpu_physical_memory_reset_dirty(current_addr, |
|
117 |
current_addr + TARGET_PAGE_SIZE, |
|
118 |
MIGRATION_DIRTY_FLAG); |
|
119 |
|
|
120 |
p = qemu_get_ram_ptr(current_addr); |
|
121 |
|
|
122 |
if (is_dup_page(p, *p)) { |
|
123 |
qemu_put_be64(f, current_addr | RAM_SAVE_FLAG_COMPRESS); |
|
124 |
qemu_put_byte(f, *p); |
|
125 |
} else { |
|
126 |
qemu_put_be64(f, current_addr | RAM_SAVE_FLAG_PAGE); |
|
127 |
qemu_put_buffer(f, p, TARGET_PAGE_SIZE); |
|
128 |
} |
|
129 |
|
|
130 |
found = 1; |
|
131 |
break; |
|
132 |
} |
|
133 |
addr += TARGET_PAGE_SIZE; |
|
134 |
current_addr = (saved_addr + addr) % last_ram_offset; |
|
135 |
} |
|
136 |
|
|
137 |
return found; |
|
138 |
} |
|
139 |
|
|
140 |
static uint64_t bytes_transferred; |
|
141 |
|
|
142 |
static ram_addr_t ram_save_remaining(void) |
|
143 |
{ |
|
144 |
ram_addr_t addr; |
|
145 |
ram_addr_t count = 0; |
|
146 |
|
|
147 |
for (addr = 0; addr < last_ram_offset; addr += TARGET_PAGE_SIZE) { |
|
148 |
if (cpu_physical_memory_get_dirty(addr, MIGRATION_DIRTY_FLAG)) { |
|
149 |
count++; |
|
150 |
} |
|
151 |
} |
|
152 |
|
|
153 |
return count; |
|
154 |
} |
|
155 |
|
|
156 |
uint64_t ram_bytes_remaining(void) |
|
157 |
{ |
|
158 |
return ram_save_remaining() * TARGET_PAGE_SIZE; |
|
159 |
} |
|
160 |
|
|
161 |
uint64_t ram_bytes_transferred(void) |
|
162 |
{ |
|
163 |
return bytes_transferred; |
|
164 |
} |
|
165 |
|
|
166 |
uint64_t ram_bytes_total(void) |
|
167 |
{ |
|
168 |
return last_ram_offset; |
|
169 |
} |
|
170 |
|
|
171 |
int ram_save_live(Monitor *mon, QEMUFile *f, int stage, void *opaque) |
|
172 |
{ |
|
173 |
ram_addr_t addr; |
|
174 |
uint64_t bytes_transferred_last; |
|
175 |
double bwidth = 0; |
|
176 |
uint64_t expected_time = 0; |
|
177 |
|
|
178 |
if (stage < 0) { |
|
179 |
cpu_physical_memory_set_dirty_tracking(0); |
|
180 |
return 0; |
|
181 |
} |
|
182 |
|
|
183 |
if (cpu_physical_sync_dirty_bitmap(0, TARGET_PHYS_ADDR_MAX) != 0) { |
|
184 |
qemu_file_set_error(f); |
|
185 |
return 0; |
|
186 |
} |
|
187 |
|
|
188 |
if (stage == 1) { |
|
189 |
bytes_transferred = 0; |
|
190 |
|
|
191 |
/* Make sure all dirty bits are set */ |
|
192 |
for (addr = 0; addr < last_ram_offset; addr += TARGET_PAGE_SIZE) { |
|
193 |
if (!cpu_physical_memory_get_dirty(addr, MIGRATION_DIRTY_FLAG)) { |
|
194 |
cpu_physical_memory_set_dirty(addr); |
|
195 |
} |
|
196 |
} |
|
197 |
|
|
198 |
/* Enable dirty memory tracking */ |
|
199 |
cpu_physical_memory_set_dirty_tracking(1); |
|
200 |
|
|
201 |
qemu_put_be64(f, last_ram_offset | RAM_SAVE_FLAG_MEM_SIZE); |
|
202 |
} |
|
203 |
|
|
204 |
bytes_transferred_last = bytes_transferred; |
|
205 |
bwidth = qemu_get_clock_ns(rt_clock); |
|
206 |
|
|
207 |
while (!qemu_file_rate_limit(f)) { |
|
208 |
int ret; |
|
209 |
|
|
210 |
ret = ram_save_block(f); |
|
211 |
bytes_transferred += ret * TARGET_PAGE_SIZE; |
|
212 |
if (ret == 0) { /* no more blocks */ |
|
213 |
break; |
|
214 |
} |
|
215 |
} |
|
216 |
|
|
217 |
bwidth = qemu_get_clock_ns(rt_clock) - bwidth; |
|
218 |
bwidth = (bytes_transferred - bytes_transferred_last) / bwidth; |
|
219 |
|
|
220 |
/* if we haven't transferred anything this round, force expected_time to a |
|
221 |
* a very high value, but without crashing */ |
|
222 |
if (bwidth == 0) { |
|
223 |
bwidth = 0.000001; |
|
224 |
} |
|
225 |
|
|
226 |
/* try transferring iterative blocks of memory */ |
|
227 |
if (stage == 3) { |
|
228 |
/* flush all remaining blocks regardless of rate limiting */ |
|
229 |
while (ram_save_block(f) != 0) { |
|
230 |
bytes_transferred += TARGET_PAGE_SIZE; |
|
231 |
} |
|
232 |
cpu_physical_memory_set_dirty_tracking(0); |
|
233 |
} |
|
234 |
|
|
235 |
qemu_put_be64(f, RAM_SAVE_FLAG_EOS); |
|
236 |
|
|
237 |
expected_time = ram_save_remaining() * TARGET_PAGE_SIZE / bwidth; |
|
238 |
|
|
239 |
return (stage == 2) && (expected_time <= migrate_max_downtime()); |
|
240 |
} |
|
241 |
|
|
242 |
int ram_load(QEMUFile *f, void *opaque, int version_id) |
|
243 |
{ |
|
244 |
ram_addr_t addr; |
|
245 |
int flags; |
|
246 |
|
|
247 |
if (version_id != 3) { |
|
248 |
return -EINVAL; |
|
249 |
} |
|
250 |
|
|
251 |
do { |
|
252 |
addr = qemu_get_be64(f); |
|
253 |
|
|
254 |
flags = addr & ~TARGET_PAGE_MASK; |
|
255 |
addr &= TARGET_PAGE_MASK; |
|
256 |
|
|
257 |
if (flags & RAM_SAVE_FLAG_MEM_SIZE) { |
|
258 |
if (addr != last_ram_offset) { |
|
259 |
return -EINVAL; |
|
260 |
} |
|
261 |
} |
|
262 |
|
|
263 |
if (flags & RAM_SAVE_FLAG_COMPRESS) { |
|
264 |
uint8_t ch = qemu_get_byte(f); |
|
265 |
memset(qemu_get_ram_ptr(addr), ch, TARGET_PAGE_SIZE); |
|
266 |
#ifndef _WIN32 |
|
267 |
if (ch == 0 && |
|
268 |
(!kvm_enabled() || kvm_has_sync_mmu())) { |
|
269 |
madvise(qemu_get_ram_ptr(addr), TARGET_PAGE_SIZE, |
|
270 |
MADV_DONTNEED); |
|
271 |
} |
|
272 |
#endif |
|
273 |
} else if (flags & RAM_SAVE_FLAG_PAGE) { |
|
274 |
qemu_get_buffer(f, qemu_get_ram_ptr(addr), TARGET_PAGE_SIZE); |
|
275 |
} |
|
276 |
if (qemu_file_has_error(f)) { |
|
277 |
return -EIO; |
|
278 |
} |
|
279 |
} while (!(flags & RAM_SAVE_FLAG_EOS)); |
|
280 |
|
|
281 |
return 0; |
|
282 |
} |
|
283 |
|
|
284 |
void qemu_service_io(void) |
|
285 |
{ |
|
286 |
qemu_notify_event(); |
|
287 |
} |
|
288 |
|
|
289 |
#ifdef HAS_AUDIO |
|
290 |
struct soundhw soundhw[] = { |
|
291 |
#ifdef HAS_AUDIO_CHOICE |
|
292 |
#if defined(TARGET_I386) || defined(TARGET_MIPS) |
|
293 |
{ |
|
294 |
"pcspk", |
|
295 |
"PC speaker", |
|
296 |
0, |
|
297 |
1, |
|
298 |
{ .init_isa = pcspk_audio_init } |
|
299 |
}, |
|
300 |
#endif |
|
301 |
|
|
302 |
#ifdef CONFIG_SB16 |
|
303 |
{ |
|
304 |
"sb16", |
|
305 |
"Creative Sound Blaster 16", |
|
306 |
0, |
|
307 |
1, |
|
308 |
{ .init_isa = SB16_init } |
|
309 |
}, |
|
310 |
#endif |
|
311 |
|
|
312 |
#ifdef CONFIG_CS4231A |
|
313 |
{ |
|
314 |
"cs4231a", |
|
315 |
"CS4231A", |
|
316 |
0, |
|
317 |
1, |
|
318 |
{ .init_isa = cs4231a_init } |
|
319 |
}, |
|
320 |
#endif |
|
321 |
|
|
322 |
#ifdef CONFIG_ADLIB |
|
323 |
{ |
|
324 |
"adlib", |
|
325 |
#ifdef HAS_YMF262 |
|
326 |
"Yamaha YMF262 (OPL3)", |
|
327 |
#else |
|
328 |
"Yamaha YM3812 (OPL2)", |
|
329 |
#endif |
|
330 |
0, |
|
331 |
1, |
|
332 |
{ .init_isa = Adlib_init } |
|
333 |
}, |
|
334 |
#endif |
|
335 |
|
|
336 |
#ifdef CONFIG_GUS |
|
337 |
{ |
|
338 |
"gus", |
|
339 |
"Gravis Ultrasound GF1", |
|
340 |
0, |
|
341 |
1, |
|
342 |
{ .init_isa = GUS_init } |
|
343 |
}, |
|
344 |
#endif |
|
345 |
|
|
346 |
#ifdef CONFIG_AC97 |
|
347 |
{ |
|
348 |
"ac97", |
|
349 |
"Intel 82801AA AC97 Audio", |
|
350 |
0, |
|
351 |
0, |
|
352 |
{ .init_pci = ac97_init } |
|
353 |
}, |
|
354 |
#endif |
|
355 |
|
|
356 |
#ifdef CONFIG_ES1370 |
|
357 |
{ |
|
358 |
"es1370", |
|
359 |
"ENSONIQ AudioPCI ES1370", |
|
360 |
0, |
|
361 |
0, |
|
362 |
{ .init_pci = es1370_init } |
|
363 |
}, |
|
364 |
#endif |
|
365 |
|
|
366 |
#endif /* HAS_AUDIO_CHOICE */ |
|
367 |
|
|
368 |
{ NULL, NULL, 0, 0, { NULL } } |
|
369 |
}; |
|
370 |
|
|
371 |
void select_soundhw(const char *optarg) |
|
372 |
{ |
|
373 |
struct soundhw *c; |
|
374 |
|
|
375 |
if (*optarg == '?') { |
|
376 |
show_valid_cards: |
|
377 |
|
|
378 |
printf("Valid sound card names (comma separated):\n"); |
|
379 |
for (c = soundhw; c->name; ++c) { |
|
380 |
printf ("%-11s %s\n", c->name, c->descr); |
|
381 |
} |
|
382 |
printf("\n-soundhw all will enable all of the above\n"); |
|
383 |
exit(*optarg != '?'); |
|
384 |
} |
|
385 |
else { |
|
386 |
size_t l; |
|
387 |
const char *p; |
|
388 |
char *e; |
|
389 |
int bad_card = 0; |
|
390 |
|
|
391 |
if (!strcmp(optarg, "all")) { |
|
392 |
for (c = soundhw; c->name; ++c) { |
|
393 |
c->enabled = 1; |
|
394 |
} |
|
395 |
return; |
|
396 |
} |
|
397 |
|
|
398 |
p = optarg; |
|
399 |
while (*p) { |
|
400 |
e = strchr(p, ','); |
|
401 |
l = !e ? strlen(p) : (size_t) (e - p); |
|
402 |
|
|
403 |
for (c = soundhw; c->name; ++c) { |
|
404 |
if (!strncmp(c->name, p, l) && !c->name[l]) { |
|
405 |
c->enabled = 1; |
|
406 |
break; |
|
407 |
} |
|
408 |
} |
|
409 |
|
|
410 |
if (!c->name) { |
|
411 |
if (l > 80) { |
|
412 |
fprintf(stderr, |
|
413 |
"Unknown sound card name (too big to show)\n"); |
|
414 |
} |
|
415 |
else { |
|
416 |
fprintf(stderr, "Unknown sound card name `%.*s'\n", |
|
417 |
(int) l, p); |
|
418 |
} |
|
419 |
bad_card = 1; |
|
420 |
} |
|
421 |
p += l + (e != NULL); |
|
422 |
} |
|
423 |
|
|
424 |
if (bad_card) { |
|
425 |
goto show_valid_cards; |
|
426 |
} |
|
427 |
} |
|
428 |
} |
|
429 |
#else |
|
430 |
void select_soundhw(const char *optarg) |
|
431 |
{ |
|
432 |
} |
|
433 |
#endif |
|
434 |
|
|
435 |
int qemu_uuid_parse(const char *str, uint8_t *uuid) |
|
436 |
{ |
|
437 |
int ret; |
|
438 |
|
|
439 |
if (strlen(str) != 36) { |
|
440 |
return -1; |
|
441 |
} |
|
442 |
|
|
443 |
ret = sscanf(str, UUID_FMT, &uuid[0], &uuid[1], &uuid[2], &uuid[3], |
|
444 |
&uuid[4], &uuid[5], &uuid[6], &uuid[7], &uuid[8], &uuid[9], |
|
445 |
&uuid[10], &uuid[11], &uuid[12], &uuid[13], &uuid[14], |
|
446 |
&uuid[15]); |
|
447 |
|
|
448 |
if (ret != 16) { |
|
449 |
return -1; |
|
450 |
} |
|
451 |
#ifdef TARGET_I386 |
|
452 |
smbios_add_field(1, offsetof(struct smbios_type_1, uuid), 16, uuid); |
|
453 |
#endif |
|
454 |
return 0; |
|
455 |
} |
|
456 |
|
|
457 |
void do_acpitable_option(const char *optarg) |
|
458 |
{ |
|
459 |
#ifdef TARGET_I386 |
|
460 |
if (acpi_table_add(optarg) < 0) { |
|
461 |
fprintf(stderr, "Wrong acpi table provided\n"); |
|
462 |
exit(1); |
|
463 |
} |
|
464 |
#endif |
|
465 |
} |
|
466 |
|
|
467 |
void do_smbios_option(const char *optarg) |
|
468 |
{ |
|
469 |
#ifdef TARGET_I386 |
|
470 |
if (smbios_entry_add(optarg) < 0) { |
|
471 |
fprintf(stderr, "Wrong smbios provided\n"); |
|
472 |
exit(1); |
|
473 |
} |
|
474 |
#endif |
|
475 |
} |
|
476 |
|
|
477 |
void cpudef_init(void) |
|
478 |
{ |
|
479 |
#if defined(cpudef_setup) |
|
480 |
cpudef_setup(); /* parse cpu definitions in target config file */ |
|
481 |
#endif |
|
482 |
} |
|
483 |
|
|
484 |
int audio_available(void) |
|
485 |
{ |
|
486 |
#ifdef HAS_AUDIO |
|
487 |
return 1; |
|
488 |
#else |
|
489 |
return 0; |
|
490 |
#endif |
|
491 |
} |
|
492 |
|
|
493 |
int kvm_available(void) |
|
494 |
{ |
|
495 |
#ifdef CONFIG_KVM |
|
496 |
return 1; |
|
497 |
#else |
|
498 |
return 0; |
|
499 |
#endif |
|
500 |
} |
|
501 |
|
|
502 |
int xen_available(void) |
|
503 |
{ |
|
504 |
#ifdef CONFIG_XEN |
|
505 |
return 1; |
|
506 |
#else |
|
507 |
return 0; |
|
508 |
#endif |
|
509 |
} |
b/arch_init.h | ||
---|---|---|
1 |
#ifndef QEMU_ARCH_INIT_H |
|
2 |
#define QEMU_ARCH_INIT_H |
|
3 |
|
|
4 |
extern const char arch_config_name[]; |
|
5 |
|
|
6 |
enum { |
|
7 |
QEMU_ARCH_ALL = -1, |
|
8 |
QEMU_ARCH_ALPHA = 1, |
|
9 |
QEMU_ARCH_ARM = 2, |
|
10 |
QEMU_ARCH_CRIS = 4, |
|
11 |
QEMU_ARCH_I386 = 8, |
|
12 |
QEMU_ARCH_M68K = 16, |
|
13 |
QEMU_ARCH_MICROBLAZE = 32, |
|
14 |
QEMU_ARCH_MIPS = 64, |
|
15 |
QEMU_ARCH_PPC = 128, |
|
16 |
QEMU_ARCH_S390X = 256, |
|
17 |
QEMU_ARCH_SH4 = 512, |
|
18 |
QEMU_ARCH_SPARC = 1024, |
|
19 |
}; |
|
20 |
|
|
21 |
extern const uint32_t arch_type; |
|
22 |
|
|
23 |
void select_soundhw(const char *optarg); |
|
24 |
int ram_save_live(Monitor *mon, QEMUFile *f, int stage, void *opaque); |
|
25 |
int ram_load(QEMUFile *f, void *opaque, int version_id); |
|
26 |
void do_acpitable_option(const char *optarg); |
|
27 |
void do_smbios_option(const char *optarg); |
|
28 |
void cpudef_init(void); |
|
29 |
int audio_available(void); |
|
30 |
int kvm_available(void); |
|
31 |
int xen_available(void); |
|
32 |
|
|
33 |
#endif |
b/qemu-options.hx | ||
---|---|---|
1 | 1 |
HXCOMM Use DEFHEADING() to define headings in both help text and texi |
2 | 2 |
HXCOMM Text between STEXI and ETEXI are copied to texi version and |
3 | 3 |
HXCOMM discarded from C version |
4 |
HXCOMM DEF(option, HAS_ARG/0, opt_enum, opt_help) is used to construct |
|
5 |
HXCOMM option structures, enums and help message. |
|
4 |
HXCOMM DEF(option, HAS_ARG/0, opt_enum, opt_help, arch_mask) is used to |
|
5 |
HXCOMM construct option structures, enums and help message for specified |
|
6 |
HXCOMM architectures. |
|
6 | 7 |
HXCOMM HXCOMM can be used for comments, discarded from both texi and C |
7 | 8 |
|
8 | 9 |
DEFHEADING(Standard options:) |
... | ... | |
11 | 12 |
ETEXI |
12 | 13 |
|
13 | 14 |
DEF("help", 0, QEMU_OPTION_h, |
14 |
"-h or -help display this help and exit\n") |
|
15 |
"-h or -help display this help and exit\n", QEMU_ARCH_ALL)
|
|
15 | 16 |
STEXI |
16 | 17 |
@item -h |
17 | 18 |
@findex -h |
... | ... | |
19 | 20 |
ETEXI |
20 | 21 |
|
21 | 22 |
DEF("version", 0, QEMU_OPTION_version, |
22 |
"-version display version information and exit\n") |
|
23 |
"-version display version information and exit\n", QEMU_ARCH_ALL)
|
|
23 | 24 |
STEXI |
24 | 25 |
@item -version |
25 | 26 |
@findex -version |
... | ... | |
27 | 28 |
ETEXI |
28 | 29 |
|
29 | 30 |
DEF("M", HAS_ARG, QEMU_OPTION_M, |
30 |
"-M machine select emulated machine (-M ? for list)\n") |
|
31 |
"-M machine select emulated machine (-M ? for list)\n", QEMU_ARCH_ALL)
|
|
31 | 32 |
STEXI |
32 | 33 |
@item -M @var{machine} |
33 | 34 |
@findex -M |
... | ... | |
35 | 36 |
ETEXI |
36 | 37 |
|
37 | 38 |
DEF("cpu", HAS_ARG, QEMU_OPTION_cpu, |
38 |
"-cpu cpu select CPU (-cpu ? for list)\n") |
|
39 |
"-cpu cpu select CPU (-cpu ? for list)\n", QEMU_ARCH_ALL)
|
|
39 | 40 |
STEXI |
40 | 41 |
@item -cpu @var{model} |
41 | 42 |
@findex -cpu |
... | ... | |
49 | 50 |
" offline CPUs for hotplug, etc\n" |
50 | 51 |
" cores= number of CPU cores on one socket\n" |
51 | 52 |
" threads= number of threads on one CPU core\n" |
52 |
" sockets= number of discrete sockets in the system\n") |
|
53 |
" sockets= number of discrete sockets in the system\n", |
|
54 |
QEMU_ARCH_ALL) |
|
53 | 55 |
STEXI |
54 | 56 |
@item -smp @var{n}[,cores=@var{cores}][,threads=@var{threads}][,sockets=@var{sockets}][,maxcpus=@var{maxcpus}] |
55 | 57 |
@findex -smp |
... | ... | |
64 | 66 |
ETEXI |
65 | 67 |
|
66 | 68 |
DEF("numa", HAS_ARG, QEMU_OPTION_numa, |
67 |
"-numa node[,mem=size][,cpus=cpu[-cpu]][,nodeid=node]\n") |
|
69 |
"-numa node[,mem=size][,cpus=cpu[-cpu]][,nodeid=node]\n", QEMU_ARCH_ALL)
|
|
68 | 70 |
STEXI |
69 | 71 |
@item -numa @var{opts} |
70 | 72 |
@findex -numa |
... | ... | |
73 | 75 |
ETEXI |
74 | 76 |
|
75 | 77 |
DEF("fda", HAS_ARG, QEMU_OPTION_fda, |
76 |
"-fda/-fdb file use 'file' as floppy disk 0/1 image\n") |
|
77 |
DEF("fdb", HAS_ARG, QEMU_OPTION_fdb, "") |
|
78 |
"-fda/-fdb file use 'file' as floppy disk 0/1 image\n", QEMU_ARCH_ALL)
|
|
79 |
DEF("fdb", HAS_ARG, QEMU_OPTION_fdb, "", QEMU_ARCH_ALL)
|
|
78 | 80 |
STEXI |
79 | 81 |
@item -fda @var{file} |
80 | 82 |
@item -fdb @var{file} |
... | ... | |
85 | 87 |
ETEXI |
86 | 88 |
|
87 | 89 |
DEF("hda", HAS_ARG, QEMU_OPTION_hda, |
88 |
"-hda/-hdb file use 'file' as IDE hard disk 0/1 image\n") |
|
89 |
DEF("hdb", HAS_ARG, QEMU_OPTION_hdb, "") |
|
90 |
"-hda/-hdb file use 'file' as IDE hard disk 0/1 image\n", QEMU_ARCH_ALL)
|
|
91 |
DEF("hdb", HAS_ARG, QEMU_OPTION_hdb, "", QEMU_ARCH_ALL)
|
|
90 | 92 |
DEF("hdc", HAS_ARG, QEMU_OPTION_hdc, |
91 |
"-hdc/-hdd file use 'file' as IDE hard disk 2/3 image\n") |
|
92 |
DEF("hdd", HAS_ARG, QEMU_OPTION_hdd, "") |
|
93 |
"-hdc/-hdd file use 'file' as IDE hard disk 2/3 image\n", QEMU_ARCH_ALL)
|
|
94 |
DEF("hdd", HAS_ARG, QEMU_OPTION_hdd, "", QEMU_ARCH_ALL)
|
|
93 | 95 |
STEXI |
94 | 96 |
@item -hda @var{file} |
95 | 97 |
@item -hdb @var{file} |
... | ... | |
103 | 105 |
ETEXI |
104 | 106 |
|
105 | 107 |
DEF("cdrom", HAS_ARG, QEMU_OPTION_cdrom, |
106 |
"-cdrom file use 'file' as IDE cdrom image (cdrom is ide1 master)\n") |
|
108 |
"-cdrom file use 'file' as IDE cdrom image (cdrom is ide1 master)\n", |
|
109 |
QEMU_ARCH_ALL) |
|
107 | 110 |
STEXI |
108 | 111 |
@item -cdrom @var{file} |
109 | 112 |
@findex -cdrom |
... | ... | |
117 | 120 |
" [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]\n" |
118 | 121 |
" [,cache=writethrough|writeback|none][,format=f][,serial=s]\n" |
119 | 122 |
" [,addr=A][,id=name][,aio=threads|native][,readonly=on|off]\n" |
120 |
" use 'file' as a drive image\n") |
|
123 |
" use 'file' as a drive image\n", QEMU_ARCH_ALL)
|
|
121 | 124 |
STEXI |
122 | 125 |
@item -drive @var{option}[,@var{option}[,@var{option}[,...]]] |
123 | 126 |
@findex -drive |
... | ... | |
226 | 229 |
DEF("set", HAS_ARG, QEMU_OPTION_set, |
227 | 230 |
"-set group.id.arg=value\n" |
228 | 231 |
" set <arg> parameter for item <id> of type <group>\n" |
229 |
" i.e. -set drive.$id.file=/path/to/image\n") |
|
232 |
" i.e. -set drive.$id.file=/path/to/image\n", QEMU_ARCH_ALL)
|
|
230 | 233 |
STEXI |
231 | 234 |
@item -set |
232 | 235 |
@findex -set |
... | ... | |
235 | 238 |
|
236 | 239 |
DEF("global", HAS_ARG, QEMU_OPTION_global, |
237 | 240 |
"-global driver.property=value\n" |
238 |
" set a global default for a driver property\n") |
|
241 |
" set a global default for a driver property\n", |
|
242 |
QEMU_ARCH_ALL) |
|
239 | 243 |
STEXI |
240 | 244 |
@item -global |
241 | 245 |
@findex -global |
... | ... | |
243 | 247 |
ETEXI |
244 | 248 |
|
245 | 249 |
DEF("mtdblock", HAS_ARG, QEMU_OPTION_mtdblock, |
246 |
"-mtdblock file use 'file' as on-board Flash memory image\n") |
|
250 |
"-mtdblock file use 'file' as on-board Flash memory image\n", |
|
251 |
QEMU_ARCH_ALL) |
|
247 | 252 |
STEXI |
248 | 253 |
@item -mtdblock @var{file} |
249 | 254 |
@findex -mtdblock |
... | ... | |
251 | 256 |
ETEXI |
252 | 257 |
|
253 | 258 |
DEF("sd", HAS_ARG, QEMU_OPTION_sd, |
254 |
"-sd file use 'file' as SecureDigital card image\n") |
|
259 |
"-sd file use 'file' as SecureDigital card image\n", QEMU_ARCH_ALL)
|
|
255 | 260 |
STEXI |
256 | 261 |
@item -sd @var{file} |
257 | 262 |
@findex -sd |
... | ... | |
259 | 264 |
ETEXI |
260 | 265 |
|
261 | 266 |
DEF("pflash", HAS_ARG, QEMU_OPTION_pflash, |
262 |
"-pflash file use 'file' as a parallel flash image\n") |
|
267 |
"-pflash file use 'file' as a parallel flash image\n", QEMU_ARCH_ALL)
|
|
263 | 268 |
STEXI |
264 | 269 |
@item -pflash @var{file} |
265 | 270 |
@findex -pflash |
... | ... | |
268 | 273 |
|
269 | 274 |
DEF("boot", HAS_ARG, QEMU_OPTION_boot, |
270 | 275 |
"-boot [order=drives][,once=drives][,menu=on|off]\n" |
271 |
" 'drives': floppy (a), hard disk (c), CD-ROM (d), network (n)\n") |
|
276 |
" 'drives': floppy (a), hard disk (c), CD-ROM (d), network (n)\n", |
|
277 |
QEMU_ARCH_ALL) |
|
272 | 278 |
STEXI |
273 | 279 |
@item -boot [order=@var{drives}][,once=@var{drives}][,menu=on|off] |
274 | 280 |
@findex -boot |
... | ... | |
294 | 300 |
ETEXI |
295 | 301 |
|
296 | 302 |
DEF("snapshot", 0, QEMU_OPTION_snapshot, |
297 |
"-snapshot write to temporary files instead of disk image files\n") |
|
303 |
"-snapshot write to temporary files instead of disk image files\n", |
|
304 |
QEMU_ARCH_ALL) |
|
298 | 305 |
STEXI |
299 | 306 |
@item -snapshot |
300 | 307 |
@findex -snapshot |
... | ... | |
305 | 312 |
|
306 | 313 |
DEF("m", HAS_ARG, QEMU_OPTION_m, |
307 | 314 |
"-m megs set virtual RAM size to megs MB [default=" |
308 |
stringify(DEFAULT_RAM_SIZE) "]\n") |
|
315 |
stringify(DEFAULT_RAM_SIZE) "]\n", QEMU_ARCH_ALL)
|
|
309 | 316 |
STEXI |
310 | 317 |
@item -m @var{megs} |
311 | 318 |
@findex -m |
... | ... | |
315 | 322 |
ETEXI |
316 | 323 |
|
317 | 324 |
DEF("mem-path", HAS_ARG, QEMU_OPTION_mempath, |
318 |
"-mem-path FILE provide backing storage for guest RAM\n") |
|
325 |
"-mem-path FILE provide backing storage for guest RAM\n", QEMU_ARCH_ALL)
|
|
319 | 326 |
STEXI |
320 | 327 |
@item -mem-path @var{path} |
321 | 328 |
Allocate guest RAM from a temporarily created file in @var{path}. |
... | ... | |
323 | 330 |
|
324 | 331 |
#ifdef MAP_POPULATE |
325 | 332 |
DEF("mem-prealloc", 0, QEMU_OPTION_mem_prealloc, |
326 |
"-mem-prealloc preallocate guest memory (use with -mem-path)\n") |
|
333 |
"-mem-prealloc preallocate guest memory (use with -mem-path)\n", |
|
334 |
QEMU_ARCH_ALL) |
|
327 | 335 |
STEXI |
328 | 336 |
@item -mem-prealloc |
329 | 337 |
Preallocate memory when using -mem-path. |
... | ... | |
331 | 339 |
#endif |
332 | 340 |
|
333 | 341 |
DEF("k", HAS_ARG, QEMU_OPTION_k, |
334 |
"-k language use keyboard layout (for example 'fr' for French)\n") |
|
342 |
"-k language use keyboard layout (for example 'fr' for French)\n", |
|
343 |
QEMU_ARCH_ALL) |
|
335 | 344 |
STEXI |
336 | 345 |
@item -k @var{language} |
337 | 346 |
@findex -k |
... | ... | |
352 | 361 |
ETEXI |
353 | 362 |
|
354 | 363 |
|
355 |
#ifdef HAS_AUDIO |
|
356 | 364 |
DEF("audio-help", 0, QEMU_OPTION_audio_help, |
357 |
"-audio-help print list of audio drivers and their options\n")
|
|
358 |
#endif
|
|
365 |
"-audio-help print list of audio drivers and their options\n",
|
|
366 |
QEMU_ARCH_ALL)
|
|
359 | 367 |
STEXI |
360 | 368 |
@item -audio-help |
361 | 369 |
@findex -audio-help |
... | ... | |
363 | 371 |
parameters. |
364 | 372 |
ETEXI |
365 | 373 |
|
366 |
#ifdef HAS_AUDIO |
|
367 | 374 |
DEF("soundhw", HAS_ARG, QEMU_OPTION_soundhw, |
368 | 375 |
"-soundhw c1,... enable audio support\n" |
369 | 376 |
" and only specified sound cards (comma separated list)\n" |
370 | 377 |
" use -soundhw ? to get the list of supported cards\n" |
371 |
" use -soundhw all to enable all of them\n") |
|
372 |
#endif |
|
378 |
" use -soundhw all to enable all of them\n", QEMU_ARCH_ALL) |
|
373 | 379 |
STEXI |
374 | 380 |
@item -soundhw @var{card1}[,@var{card2},...] or -soundhw all |
375 | 381 |
@findex -soundhw |
... | ... | |
397 | 403 |
ETEXI |
398 | 404 |
|
399 | 405 |
DEF("usb", 0, QEMU_OPTION_usb, |
400 |
"-usb enable the USB driver (will be the default soon)\n") |
|
406 |
"-usb enable the USB driver (will be the default soon)\n", |
|
407 |
QEMU_ARCH_ALL) |
|
401 | 408 |
STEXI |
402 | 409 |
USB options: |
403 | 410 |
@table @option |
... | ... | |
408 | 415 |
ETEXI |
409 | 416 |
|
410 | 417 |
DEF("usbdevice", HAS_ARG, QEMU_OPTION_usbdevice, |
411 |
"-usbdevice name add the host or guest USB device 'name'\n") |
|
418 |
"-usbdevice name add the host or guest USB device 'name'\n", |
|
419 |
QEMU_ARCH_ALL) |
|
412 | 420 |
STEXI |
413 | 421 |
|
414 | 422 |
@item -usbdevice @var{devname} |
... | ... | |
457 | 465 |
" prop=value,... sets driver properties\n" |
458 | 466 |
" use -device ? to print all possible drivers\n" |
459 | 467 |
" use -device driver,? to print all possible options\n" |
460 |
" use -device driver,option=? to print a help for value\n") |
|
468 |
" use -device driver,option=? to print a help for value\n", |
|
469 |
QEMU_ARCH_ALL) |
|
461 | 470 |
STEXI |
462 | 471 |
@item -device @var{driver}[,@var{option}[=@var{value}][,...]] |
463 | 472 |
@findex -device |
... | ... | |
472 | 481 |
DEF("name", HAS_ARG, QEMU_OPTION_name, |
473 | 482 |
"-name string1[,process=string2]\n" |
474 | 483 |
" set the name of the guest\n" |
475 |
" string1 sets the window title and string2 the process name (on Linux)\n") |
|
484 |
" string1 sets the window title and string2 the process name (on Linux)\n", |
|
485 |
QEMU_ARCH_ALL) |
|
476 | 486 |
STEXI |
477 | 487 |
@item -name @var{name} |
478 | 488 |
@findex -name |
... | ... | |
484 | 494 |
|
485 | 495 |
DEF("uuid", HAS_ARG, QEMU_OPTION_uuid, |
486 | 496 |
"-uuid %08x-%04x-%04x-%04x-%012x\n" |
487 |
" specify machine UUID\n") |
|
497 |
" specify machine UUID\n", QEMU_ARCH_ALL)
|
|
488 | 498 |
STEXI |
489 | 499 |
@item -uuid @var{uuid} |
490 | 500 |
@findex -uuid |
... | ... | |
504 | 514 |
ETEXI |
505 | 515 |
|
506 | 516 |
DEF("nographic", 0, QEMU_OPTION_nographic, |
507 |
"-nographic disable graphical output and redirect serial I/Os to console\n") |
|
517 |
"-nographic disable graphical output and redirect serial I/Os to console\n", |
|
518 |
QEMU_ARCH_ALL) |
|
508 | 519 |
STEXI |
509 | 520 |
@item -nographic |
510 | 521 |
@findex -nographic |
... | ... | |
517 | 528 |
|
518 | 529 |
#ifdef CONFIG_CURSES |
519 | 530 |
DEF("curses", 0, QEMU_OPTION_curses, |
520 |
"-curses use a curses/ncurses interface instead of SDL\n") |
|
531 |
"-curses use a curses/ncurses interface instead of SDL\n", |
|
532 |
QEMU_ARCH_ALL) |
|
521 | 533 |
#endif |
522 | 534 |
STEXI |
523 | 535 |
@item -curses |
... | ... | |
529 | 541 |
|
530 | 542 |
#ifdef CONFIG_SDL |
531 | 543 |
DEF("no-frame", 0, QEMU_OPTION_no_frame, |
532 |
"-no-frame open SDL window without a frame and window decorations\n") |
|
544 |
"-no-frame open SDL window without a frame and window decorations\n", |
|
545 |
QEMU_ARCH_ALL) |
|
533 | 546 |
#endif |
534 | 547 |
STEXI |
535 | 548 |
@item -no-frame |
... | ... | |
541 | 554 |
|
542 | 555 |
#ifdef CONFIG_SDL |
543 | 556 |
DEF("alt-grab", 0, QEMU_OPTION_alt_grab, |
544 |
"-alt-grab use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)\n") |
|
557 |
"-alt-grab use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)\n", |
|
558 |
QEMU_ARCH_ALL) |
|
545 | 559 |
#endif |
546 | 560 |
STEXI |
547 | 561 |
@item -alt-grab |
... | ... | |
551 | 565 |
|
552 | 566 |
#ifdef CONFIG_SDL |
553 | 567 |
DEF("ctrl-grab", 0, QEMU_OPTION_ctrl_grab, |
554 |
"-ctrl-grab use Right-Ctrl to grab mouse (instead of Ctrl-Alt)\n") |
|
568 |
"-ctrl-grab use Right-Ctrl to grab mouse (instead of Ctrl-Alt)\n", |
|
569 |
QEMU_ARCH_ALL) |
|
555 | 570 |
#endif |
556 | 571 |
STEXI |
557 | 572 |
@item -ctrl-grab |
... | ... | |
561 | 576 |
|
562 | 577 |
#ifdef CONFIG_SDL |
563 | 578 |
DEF("no-quit", 0, QEMU_OPTION_no_quit, |
564 |
"-no-quit disable SDL window close capability\n") |
|
579 |
"-no-quit disable SDL window close capability\n", QEMU_ARCH_ALL)
|
|
565 | 580 |
#endif |
566 | 581 |
STEXI |
567 | 582 |
@item -no-quit |
... | ... | |
571 | 586 |
|
572 | 587 |
#ifdef CONFIG_SDL |
573 | 588 |
DEF("sdl", 0, QEMU_OPTION_sdl, |
574 |
"-sdl enable SDL\n") |
|
589 |
"-sdl enable SDL\n", QEMU_ARCH_ALL)
|
|
575 | 590 |
#endif |
576 | 591 |
STEXI |
577 | 592 |
@item -sdl |
... | ... | |
580 | 595 |
ETEXI |
581 | 596 |
|
582 | 597 |
DEF("portrait", 0, QEMU_OPTION_portrait, |
583 |
"-portrait rotate graphical output 90 deg left (only PXA LCD)\n") |
|
598 |
"-portrait rotate graphical output 90 deg left (only PXA LCD)\n", |
|
599 |
QEMU_ARCH_ALL) |
|
584 | 600 |
STEXI |
585 | 601 |
@item -portrait |
586 | 602 |
@findex -portrait |
... | ... | |
589 | 605 |
|
590 | 606 |
DEF("vga", HAS_ARG, QEMU_OPTION_vga, |
591 | 607 |
"-vga [std|cirrus|vmware|xenfb|none]\n" |
592 |
" select video card type\n") |
|
608 |
" select video card type\n", QEMU_ARCH_ALL)
|
|
593 | 609 |
STEXI |
594 | 610 |
@item -vga @var{type} |
595 | 611 |
@findex -vga |
... | ... | |
615 | 631 |
ETEXI |
616 | 632 |
|
617 | 633 |
DEF("full-screen", 0, QEMU_OPTION_full_screen, |
618 |
"-full-screen start in full screen\n") |
|
634 |
"-full-screen start in full screen\n", QEMU_ARCH_ALL)
|
|
619 | 635 |
STEXI |
620 | 636 |
@item -full-screen |
621 | 637 |
@findex -full-screen |
622 | 638 |
Start in full screen. |
623 | 639 |
ETEXI |
624 | 640 |
|
625 |
#if defined(TARGET_PPC) || defined(TARGET_SPARC) |
|
626 | 641 |
DEF("g", 1, QEMU_OPTION_g , |
627 |
"-g WxH[xDEPTH] Set the initial graphical resolution and depth\n")
|
|
628 |
#endif
|
|
642 |
"-g WxH[xDEPTH] Set the initial graphical resolution and depth\n",
|
|
643 |
QEMU_ARCH_PPC | QEMU_ARCH_SPARC)
|
|
629 | 644 |
STEXI |
630 | 645 |
@item -g @var{width}x@var{height}[x@var{depth}] |
631 | 646 |
@findex -g |
... | ... | |
633 | 648 |
ETEXI |
634 | 649 |
|
635 | 650 |
DEF("vnc", HAS_ARG, QEMU_OPTION_vnc , |
636 |
"-vnc display start a VNC server on display\n") |
|
651 |
"-vnc display start a VNC server on display\n", QEMU_ARCH_ALL)
|
|
637 | 652 |
STEXI |
638 | 653 |
@item -vnc @var{display}[,@var{option}[,@var{option}[,...]]] |
639 | 654 |
@findex -vnc |
... | ... | |
749 | 764 |
|
750 | 765 |
DEFHEADING() |
751 | 766 |
|
752 |
#ifdef TARGET_I386 |
|
753 | 767 |
DEFHEADING(i386 target only:) |
754 |
#endif |
|
755 | 768 |
STEXI |
756 | 769 |
@table @option |
757 | 770 |
ETEXI |
758 | 771 |
|
759 |
#ifdef TARGET_I386 |
|
760 | 772 |
DEF("win2k-hack", 0, QEMU_OPTION_win2k_hack, |
761 |
"-win2k-hack use it when installing Windows 2000 to avoid a disk full bug\n")
|
|
762 |
#endif
|
|
773 |
"-win2k-hack use it when installing Windows 2000 to avoid a disk full bug\n",
|
|
774 |
QEMU_ARCH_I386)
|
|
763 | 775 |
STEXI |
764 | 776 |
@item -win2k-hack |
765 | 777 |
@findex -win2k-hack |
... | ... | |
768 | 780 |
slows down the IDE transfers). |
769 | 781 |
ETEXI |
770 | 782 |
|
771 |
#ifdef TARGET_I386 |
|
772 | 783 |
HXCOMM Deprecated by -rtc |
773 |
DEF("rtc-td-hack", 0, QEMU_OPTION_rtc_td_hack, "") |
|
774 |
#endif |
|
784 |
DEF("rtc-td-hack", 0, QEMU_OPTION_rtc_td_hack, "", QEMU_ARCH_I386) |
|
775 | 785 |
|
776 |
#ifdef TARGET_I386 |
|
777 | 786 |
DEF("no-fd-bootchk", 0, QEMU_OPTION_no_fd_bootchk, |
778 |
"-no-fd-bootchk disable boot signature checking for floppy disks\n")
|
|
779 |
#endif
|
|
787 |
"-no-fd-bootchk disable boot signature checking for floppy disks\n",
|
|
788 |
QEMU_ARCH_I386)
|
|
780 | 789 |
STEXI |
781 | 790 |
@item -no-fd-bootchk |
782 | 791 |
@findex -no-fd-bootchk |
... | ... | |
785 | 794 |
TODO: check reference to Bochs BIOS. |
786 | 795 |
ETEXI |
787 | 796 |
|
788 |
#ifdef TARGET_I386 |
|
789 | 797 |
DEF("no-acpi", 0, QEMU_OPTION_no_acpi, |
790 |
"-no-acpi disable ACPI\n") |
|
791 |
#endif |
|
798 |
"-no-acpi disable ACPI\n", QEMU_ARCH_I386) |
|
792 | 799 |
STEXI |
793 | 800 |
@item -no-acpi |
794 | 801 |
@findex -no-acpi |
... | ... | |
797 | 804 |
only). |
798 | 805 |
ETEXI |
799 | 806 |
|
800 |
#ifdef TARGET_I386 |
|
801 | 807 |
DEF("no-hpet", 0, QEMU_OPTION_no_hpet, |
802 |
"-no-hpet disable HPET\n") |
|
803 |
#endif |
|
808 |
"-no-hpet disable HPET\n", QEMU_ARCH_I386) |
|
804 | 809 |
STEXI |
805 | 810 |
@item -no-hpet |
806 | 811 |
@findex -no-hpet |
807 | 812 |
Disable HPET support. |
808 | 813 |
ETEXI |
809 | 814 |
|
810 |
#ifdef TARGET_I386 |
|
811 | 815 |
DEF("balloon", HAS_ARG, QEMU_OPTION_balloon, |
812 | 816 |
"-balloon none disable balloon device\n" |
813 | 817 |
"-balloon virtio[,addr=str]\n" |
814 |
" enable virtio balloon device (default)\n") |
|
815 |
#endif |
|
818 |
" enable virtio balloon device (default)\n", QEMU_ARCH_ALL) |
|
816 | 819 |
STEXI |
817 | 820 |
@item -balloon none |
818 | 821 |
@findex -balloon |
... | ... | |
822 | 825 |
@var{addr}. |
823 | 826 |
ETEXI |
824 | 827 |
|
825 |
#ifdef TARGET_I386 |
|
826 | 828 |
DEF("acpitable", HAS_ARG, QEMU_OPTION_acpitable, |
827 | 829 |
"-acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n][,asl_compiler_id=str][,asl_compiler_rev=n][,data=file1[:file2]...]\n" |
828 |
" ACPI table description\n") |
|
829 |
#endif |
|
830 |
" ACPI table description\n", QEMU_ARCH_I386) |
|
830 | 831 |
STEXI |
831 | 832 |
@item -acpitable [sig=@var{str}][,rev=@var{n}][,oem_id=@var{str}][,oem_table_id=@var{str}][,oem_rev=@var{n}] [,asl_compiler_id=@var{str}][,asl_compiler_rev=@var{n}][,data=@var{file1}[:@var{file2}]...] |
832 | 833 |
@findex -acpitable |
833 | 834 |
Add ACPI table with specified header fields and context from specified files. |
834 | 835 |
ETEXI |
835 | 836 |
|
836 |
#ifdef TARGET_I386 |
|
837 | 837 |
DEF("smbios", HAS_ARG, QEMU_OPTION_smbios, |
838 | 838 |
"-smbios file=binary\n" |
839 | 839 |
" load SMBIOS entry from binary file\n" |
... | ... | |
841 | 841 |
" specify SMBIOS type 0 fields\n" |
842 | 842 |
"-smbios type=1[,manufacturer=str][,product=str][,version=str][,serial=str]\n" |
843 | 843 |
" [,uuid=uuid][,sku=str][,family=str]\n" |
844 |
" specify SMBIOS type 1 fields\n") |
|
845 |
#endif |
|
844 |
" specify SMBIOS type 1 fields\n", QEMU_ARCH_I386) |
|
846 | 845 |
STEXI |
847 | 846 |
@item -smbios file=@var{binary} |
848 | 847 |
@findex -smbios |
... | ... | |
856 | 855 |
Specify SMBIOS type 1 fields |
857 | 856 |
ETEXI |
858 | 857 |
|
859 |
#ifdef TARGET_I386 |
|
860 | 858 |
DEFHEADING() |
861 |
#endif |
|
862 | 859 |
STEXI |
863 | 860 |
@end table |
864 | 861 |
ETEXI |
... | ... | |
870 | 867 |
|
871 | 868 |
HXCOMM Legacy slirp options (now moved to -net user): |
872 | 869 |
#ifdef CONFIG_SLIRP |
873 |
DEF("tftp", HAS_ARG, QEMU_OPTION_tftp, "") |
|
874 |
DEF("bootp", HAS_ARG, QEMU_OPTION_bootp, "") |
|
875 |
DEF("redir", HAS_ARG, QEMU_OPTION_redir, "") |
|
870 |
DEF("tftp", HAS_ARG, QEMU_OPTION_tftp, "", QEMU_ARCH_ALL)
|
|
871 |
DEF("bootp", HAS_ARG, QEMU_OPTION_bootp, "", QEMU_ARCH_ALL)
|
|
872 |
DEF("redir", HAS_ARG, QEMU_OPTION_redir, "", QEMU_ARCH_ALL)
|
|
876 | 873 |
#ifndef _WIN32 |
877 |
DEF("smb", HAS_ARG, QEMU_OPTION_smb, "") |
|
874 |
DEF("smb", HAS_ARG, QEMU_OPTION_smb, "", QEMU_ARCH_ALL)
|
|
878 | 875 |
#endif |
879 | 876 |
#endif |
880 | 877 |
|
... | ... | |
920 | 917 |
"-net dump[,vlan=n][,file=f][,len=n]\n" |
921 | 918 |
" dump traffic on vlan 'n' to file 'f' (max n bytes per packet)\n" |
922 | 919 |
"-net none use it alone to have zero network devices. If no -net option\n" |
923 |
" is provided, the default is '-net nic -net user'\n") |
|
920 |
" is provided, the default is '-net nic -net user'\n", QEMU_ARCH_ALL)
|
|
924 | 921 |
DEF("netdev", HAS_ARG, QEMU_OPTION_netdev, |
925 | 922 |
"-netdev [" |
926 | 923 |
#ifdef CONFIG_SLIRP |
... | ... | |
930 | 927 |
#ifdef CONFIG_VDE |
931 | 928 |
"vde|" |
932 | 929 |
#endif |
933 |
"socket],id=str[,option][,option][,...]\n") |
|
930 |
"socket],id=str[,option][,option][,...]\n", QEMU_ARCH_ALL)
|
|
934 | 931 |
STEXI |
935 | 932 |
@item -net nic[,vlan=@var{n}][,macaddr=@var{mac}][,model=@var{type}] [,name=@var{name}][,addr=@var{addr}][,vectors=@var{v}] |
936 | 933 |
@findex -net |
... | ... | |
1203 | 1200 |
#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) |
1204 | 1201 |
"-chardev parport,id=id,path=path\n" |
1205 | 1202 |
#endif |
1203 |
, QEMU_ARCH_ALL |
|
1206 | 1204 |
) |
1207 | 1205 |
|
1208 | 1206 |
STEXI |
... | ... | |
1410 | 1408 |
"-bt vhci[,vlan=n]\n" \ |
1411 | 1409 |
" add host computer to virtual scatternet 'n' using VHCI\n" \ |
1412 | 1410 |
"-bt device:dev[,vlan=n]\n" \ |
1413 |
" emulate a bluetooth device 'dev' in scatternet 'n'\n") |
|
1411 |
" emulate a bluetooth device 'dev' in scatternet 'n'\n", |
|
1412 |
QEMU_ARCH_ALL) |
|
1414 | 1413 |
STEXI |
1415 | 1414 |
@table @option |
1416 | 1415 |
|
... | ... | |
1481 | 1480 |
ETEXI |
1482 | 1481 |
|
1483 | 1482 |
DEF("kernel", HAS_ARG, QEMU_OPTION_kernel, \ |
1484 |
"-kernel bzImage use 'bzImage' as kernel image\n") |
|
1483 |
"-kernel bzImage use 'bzImage' as kernel image\n", QEMU_ARCH_ALL)
|
|
1485 | 1484 |
STEXI |
1486 | 1485 |
@item -kernel @var{bzImage} |
1487 | 1486 |
@findex -kernel |
... | ... | |
1490 | 1489 |
ETEXI |
1491 | 1490 |
|
1492 | 1491 |
DEF("append", HAS_ARG, QEMU_OPTION_append, \ |
1493 |
"-append cmdline use 'cmdline' as kernel command line\n") |
|
1492 |
"-append cmdline use 'cmdline' as kernel command line\n", QEMU_ARCH_ALL)
|
|
1494 | 1493 |
STEXI |
1495 | 1494 |
@item -append @var{cmdline} |
1496 | 1495 |
@findex -append |
... | ... | |
1498 | 1497 |
ETEXI |
1499 | 1498 |
|
1500 | 1499 |
DEF("initrd", HAS_ARG, QEMU_OPTION_initrd, \ |
1501 |
"-initrd file use 'file' as initial ram disk\n") |
|
1500 |
"-initrd file use 'file' as initial ram disk\n", QEMU_ARCH_ALL)
|
|
1502 | 1501 |
STEXI |
1503 | 1502 |
@item -initrd @var{file} |
1504 | 1503 |
@findex -initrd |
... | ... | |
1525 | 1524 |
ETEXI |
1526 | 1525 |
|
1527 | 1526 |
DEF("serial", HAS_ARG, QEMU_OPTION_serial, \ |
1528 |
"-serial dev redirect the serial port to char device 'dev'\n") |
|
1527 |
"-serial dev redirect the serial port to char device 'dev'\n", |
|
1528 |
QEMU_ARCH_ALL) |
|
1529 | 1529 |
STEXI |
1530 | 1530 |
@item -serial @var{dev} |
1531 | 1531 |
@findex -serial |
... | ... | |
1653 | 1653 |
ETEXI |
1654 | 1654 |
|
1655 | 1655 |
DEF("parallel", HAS_ARG, QEMU_OPTION_parallel, \ |
1656 |
"-parallel dev redirect the parallel port to char device 'dev'\n") |
|
1656 |
"-parallel dev redirect the parallel port to char device 'dev'\n", |
|
1657 |
QEMU_ARCH_ALL) |
|
1657 | 1658 |
STEXI |
1658 | 1659 |
@item -parallel @var{dev} |
1659 | 1660 |
@findex -parallel |
... | ... | |
1669 | 1670 |
ETEXI |
1670 | 1671 |
|
1671 | 1672 |
DEF("monitor", HAS_ARG, QEMU_OPTION_monitor, \ |
1672 |
"-monitor dev redirect the monitor to char device 'dev'\n") |
|
1673 |
"-monitor dev redirect the monitor to char device 'dev'\n", |
|
1674 |
QEMU_ARCH_ALL) |
|
1673 | 1675 |
STEXI |
1674 | 1676 |
@item -monitor @var{dev} |
1675 | 1677 |
@findex -monitor |
... | ... | |
1679 | 1681 |
non graphical mode. |
1680 | 1682 |
ETEXI |
1681 | 1683 |
DEF("qmp", HAS_ARG, QEMU_OPTION_qmp, \ |
1682 |
"-qmp dev like -monitor but opens in 'control' mode\n") |
|
1684 |
"-qmp dev like -monitor but opens in 'control' mode\n", |
|
1685 |
QEMU_ARCH_ALL) |
|
1683 | 1686 |
STEXI |
1684 | 1687 |
@item -qmp @var{dev} |
1685 | 1688 |
@findex -qmp |
... | ... | |
1687 | 1690 |
ETEXI |
1688 | 1691 |
|
1689 | 1692 |
DEF("mon", HAS_ARG, QEMU_OPTION_mon, \ |
1690 |
"-mon chardev=[name][,mode=readline|control][,default]\n") |
|
1693 |
"-mon chardev=[name][,mode=readline|control][,default]\n", QEMU_ARCH_ALL)
|
|
1691 | 1694 |
STEXI |
1692 | 1695 |
@item -mon chardev=[name][,mode=readline|control][,default] |
1693 | 1696 |
@findex -mon |
... | ... | |
1695 | 1698 |
ETEXI |
1696 | 1699 |
|
1697 | 1700 |
DEF("debugcon", HAS_ARG, QEMU_OPTION_debugcon, \ |
1698 |
"-debugcon dev redirect the debug console to char device 'dev'\n") |
|
1701 |
"-debugcon dev redirect the debug console to char device 'dev'\n", |
|
1702 |
QEMU_ARCH_ALL) |
|
1699 | 1703 |
STEXI |
1700 | 1704 |
@item -debugcon @var{dev} |
1701 | 1705 |
@findex -debugcon |
... | ... | |
1707 | 1711 |
ETEXI |
1708 | 1712 |
|
1709 | 1713 |
DEF("pidfile", HAS_ARG, QEMU_OPTION_pidfile, \ |
1710 |
"-pidfile file write PID to 'file'\n") |
|
1714 |
"-pidfile file write PID to 'file'\n", QEMU_ARCH_ALL)
|
|
1711 | 1715 |
STEXI |
1712 | 1716 |
@item -pidfile @var{file} |
1713 | 1717 |
@findex -pidfile |
... | ... | |
1716 | 1720 |
ETEXI |
1717 | 1721 |
|
1718 | 1722 |
DEF("singlestep", 0, QEMU_OPTION_singlestep, \ |
1719 |
"-singlestep always run in singlestep mode\n") |
|
1723 |
"-singlestep always run in singlestep mode\n", QEMU_ARCH_ALL)
|
|
1720 | 1724 |
STEXI |
1721 | 1725 |
@item -singlestep |
1722 | 1726 |
@findex -singlestep |
... | ... | |
1724 | 1728 |
ETEXI |
1725 | 1729 |
|
1726 | 1730 |
DEF("S", 0, QEMU_OPTION_S, \ |
1727 |
"-S freeze CPU at startup (use 'c' to start execution)\n") |
|
1731 |
"-S freeze CPU at startup (use 'c' to start execution)\n", |
|
1732 |
QEMU_ARCH_ALL) |
|
1728 | 1733 |
STEXI |
1729 | 1734 |
@item -S |
1730 | 1735 |
@findex -S |
... | ... | |
1732 | 1737 |
ETEXI |
1733 | 1738 |
|
1734 | 1739 |
DEF("gdb", HAS_ARG, QEMU_OPTION_gdb, \ |
1735 |
"-gdb dev wait for gdb connection on 'dev'\n") |
|
1740 |
"-gdb dev wait for gdb connection on 'dev'\n", QEMU_ARCH_ALL)
|
|
1736 | 1741 |
STEXI |
1737 | 1742 |
@item -gdb @var{dev} |
1738 | 1743 |
@findex -gdb |
... | ... | |
1746 | 1751 |
ETEXI |
1747 | 1752 |
|
1748 | 1753 |
DEF("s", 0, QEMU_OPTION_s, \ |
1749 |
"-s shorthand for -gdb tcp::" DEFAULT_GDBSTUB_PORT "\n") |
|
1754 |
"-s shorthand for -gdb tcp::" DEFAULT_GDBSTUB_PORT "\n", |
|
1755 |
QEMU_ARCH_ALL) |
|
1750 | 1756 |
STEXI |
1751 | 1757 |
@item -s |
1752 | 1758 |
@findex -s |
... | ... | |
1755 | 1761 |
ETEXI |
1756 | 1762 |
|
1757 | 1763 |
DEF("d", HAS_ARG, QEMU_OPTION_d, \ |
1758 |
"-d item1,... output log to /tmp/qemu.log (use -d ? for a list of log items)\n") |
|
1764 |
"-d item1,... output log to /tmp/qemu.log (use -d ? for a list of log items)\n", |
|
1765 |
QEMU_ARCH_ALL) |
|
1759 | 1766 |
STEXI |
1760 | 1767 |
@item -d |
1761 | 1768 |
@findex -d |
... | ... | |
1765 | 1772 |
DEF("hdachs", HAS_ARG, QEMU_OPTION_hdachs, \ |
1766 | 1773 |
"-hdachs c,h,s[,t]\n" \ |
1767 | 1774 |
" force hard disk 0 physical geometry and the optional BIOS\n" \ |
1768 |
" translation (t=none or lba) (usually qemu can guess them)\n") |
|
1775 |
" translation (t=none or lba) (usually qemu can guess them)\n", |
|
1776 |
QEMU_ARCH_ALL) |
|
1769 | 1777 |
STEXI |
1770 | 1778 |
@item -hdachs @var{c},@var{h},@var{s},[,@var{t}] |
1771 | 1779 |
@findex -hdachs |
... | ... | |
1777 | 1785 |
ETEXI |
1778 | 1786 |
|
1779 | 1787 |
DEF("L", HAS_ARG, QEMU_OPTION_L, \ |
1780 |
"-L path set the directory for the BIOS, VGA BIOS and keymaps\n") |
|
1788 |
"-L path set the directory for the BIOS, VGA BIOS and keymaps\n", |
|
1789 |
QEMU_ARCH_ALL) |
|
1781 | 1790 |
STEXI |
1782 | 1791 |
@item -L @var{path} |
1783 | 1792 |
@findex -L |
... | ... | |
1785 | 1794 |
ETEXI |
1786 | 1795 |
|
1787 | 1796 |
DEF("bios", HAS_ARG, QEMU_OPTION_bios, \ |
1788 |
"-bios file set the filename for the BIOS\n") |
|
1797 |
"-bios file set the filename for the BIOS\n", QEMU_ARCH_ALL)
|
|
1789 | 1798 |
STEXI |
1790 | 1799 |
@item -bios @var{file} |
1791 | 1800 |
@findex -bios |
1792 | 1801 |
Set the filename for the BIOS. |
1793 | 1802 |
ETEXI |
1794 | 1803 |
|
1795 |
#ifdef CONFIG_KVM |
|
1796 | 1804 |
DEF("enable-kvm", 0, QEMU_OPTION_enable_kvm, \ |
1797 |
"-enable-kvm enable KVM full virtualization support\n") |
|
1798 |
#endif |
|
1805 |
"-enable-kvm enable KVM full virtualization support\n", QEMU_ARCH_ALL) |
|
1799 | 1806 |
STEXI |
1800 | 1807 |
@item -enable-kvm |
1801 | 1808 |
@findex -enable-kvm |
... | ... | |
1803 | 1810 |
if KVM support is enabled when compiling. |
1804 | 1811 |
ETEXI |
1805 | 1812 |
|
1806 |
#ifdef CONFIG_XEN |
|
1807 | 1813 |
DEF("xen-domid", HAS_ARG, QEMU_OPTION_xen_domid, |
1808 |
"-xen-domid id specify xen guest domain id\n") |
|
1814 |
"-xen-domid id specify xen guest domain id\n", QEMU_ARCH_ALL)
|
|
1809 | 1815 |
DEF("xen-create", 0, QEMU_OPTION_xen_create, |
1810 | 1816 |
"-xen-create create domain using xen hypercalls, bypassing xend\n" |
1811 |
" warning: should not be used when xend is in use\n") |
|
1817 |
" warning: should not be used when xend is in use\n", |
|
1818 |
QEMU_ARCH_ALL) |
|
1812 | 1819 |
DEF("xen-attach", 0, QEMU_OPTION_xen_attach, |
1813 | 1820 |
"-xen-attach attach to existing xen domain\n" |
1814 |
" xend will use this when starting qemu\n")
|
|
1815 |
#endif
|
|
1821 |
" xend will use this when starting qemu\n",
|
|
1822 |
QEMU_ARCH_ALL)
|
|
1816 | 1823 |
STEXI |
1817 | 1824 |
@item -xen-domid @var{id} |
1818 | 1825 |
@findex -xen-domid |
... | ... | |
1828 | 1835 |
ETEXI |
1829 | 1836 |
|
1830 | 1837 |
DEF("no-reboot", 0, QEMU_OPTION_no_reboot, \ |
1831 |
"-no-reboot exit instead of rebooting\n") |
|
1838 |
"-no-reboot exit instead of rebooting\n", QEMU_ARCH_ALL)
|
|
1832 | 1839 |
STEXI |
1833 | 1840 |
@item -no-reboot |
1834 | 1841 |
@findex -no-reboot |
... | ... | |
1836 | 1843 |
ETEXI |
1837 | 1844 |
|
1838 | 1845 |
DEF("no-shutdown", 0, QEMU_OPTION_no_shutdown, \ |
1839 |
"-no-shutdown stop before shutdown\n") |
|
1846 |
"-no-shutdown stop before shutdown\n", QEMU_ARCH_ALL)
|
|
1840 | 1847 |
STEXI |
1841 | 1848 |
@item -no-shutdown |
1842 | 1849 |
@findex -no-shutdown |
... | ... | |
1847 | 1854 |
|
1848 | 1855 |
DEF("loadvm", HAS_ARG, QEMU_OPTION_loadvm, \ |
1849 | 1856 |
"-loadvm [tag|id]\n" \ |
1850 |
" start right away with a saved state (loadvm in monitor)\n") |
|
1857 |
" start right away with a saved state (loadvm in monitor)\n", |
|
1858 |
QEMU_ARCH_ALL) |
|
1851 | 1859 |
STEXI |
1852 | 1860 |
@item -loadvm @var{file} |
1853 | 1861 |
@findex -loadvm |
... | ... | |
1856 | 1864 |
|
1857 | 1865 |
#ifndef _WIN32 |
1858 | 1866 |
DEF("daemonize", 0, QEMU_OPTION_daemonize, \ |
1859 |
"-daemonize daemonize QEMU after initializing\n") |
|
1867 |
"-daemonize daemonize QEMU after initializing\n", QEMU_ARCH_ALL)
|
|
1860 | 1868 |
#endif |
1861 | 1869 |
STEXI |
1862 | 1870 |
@item -daemonize |
... | ... | |
1868 | 1876 |
ETEXI |
1869 | 1877 |
|
1870 | 1878 |
DEF("option-rom", HAS_ARG, QEMU_OPTION_option_rom, \ |
1871 |
"-option-rom rom load a file, rom, into the option ROM space\n") |
|
1879 |
"-option-rom rom load a file, rom, into the option ROM space\n", |
|
1880 |
QEMU_ARCH_ALL) |
|
1872 | 1881 |
STEXI |
1873 | 1882 |
@item -option-rom @var{file} |
1874 | 1883 |
@findex -option-rom |
... | ... | |
1878 | 1887 |
|
1879 | 1888 |
DEF("clock", HAS_ARG, QEMU_OPTION_clock, \ |
1880 | 1889 |
"-clock force the use of the given methods for timer alarm.\n" \ |
1881 |
" To see what timers are available use -clock ?\n") |
|
1890 |
" To see what timers are available use -clock ?\n", |
|
1891 |
QEMU_ARCH_ALL) |
|
1882 | 1892 |
STEXI |
1883 | 1893 |
@item -clock @var{method} |
1884 | 1894 |
@findex -clock |
... | ... | |
1887 | 1897 |
ETEXI |
1888 | 1898 |
|
1889 | 1899 |
HXCOMM Options deprecated by -rtc |
1890 |
DEF("localtime", 0, QEMU_OPTION_localtime, "") |
|
1891 |
DEF("startdate", HAS_ARG, QEMU_OPTION_startdate, "") |
|
1900 |
DEF("localtime", 0, QEMU_OPTION_localtime, "", QEMU_ARCH_ALL)
|
|
1901 |
DEF("startdate", HAS_ARG, QEMU_OPTION_startdate, "", QEMU_ARCH_ALL)
|
|
1892 | 1902 |
|
1893 |
#ifdef TARGET_I386 |
|
1894 | 1903 |
DEF("rtc", HAS_ARG, QEMU_OPTION_rtc, \ |
1895 | 1904 |
"-rtc [base=utc|localtime|date][,clock=host|vm][,driftfix=none|slew]\n" \ |
1896 |
" set the RTC base and clock, enable drift fix for clock ticks\n") |
Also available in: Unified diff