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")
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff