Statistics
| Branch: | Revision:

root / qemu-monitor.hx @ 79c4f6b0

History | View | Annotate | Download (17.8 kB)

1
HXCOMM Use DEFHEADING() to define headings in both help text and texi
2
HXCOMM Text between STEXI and ETEXI are copied to texi version and
3
HXCOMM discarded from C version
4
HXCOMM DEF(command, args, callback, arg_string, help) is used to construct
5
HXCOMM monitor commands
6
HXCOMM HXCOMM can be used for comments, discarded from both texi and C
7

    
8
STEXI
9
@table @option
10
ETEXI
11

    
12
    { "help|?", "s?", help_cmd, "[cmd]", "show the help" },
13
STEXI
14
@item help or ? [@var{cmd}]
15
Show the help for all commands or just for command @var{cmd}.
16
ETEXI
17

    
18
    { "commit", "s", do_commit,
19
      "device|all", "commit changes to the disk images (if -snapshot is used) or backing files" },
20
STEXI
21
@item commit
22
Commit changes to the disk images (if -snapshot is used) or backing files.
23
ETEXI
24

    
25
    { "info", "s?", do_info,
26
      "[subcommand]", "show various information about the system state" },
27
STEXI
28
@item info @var{subcommand}
29
Show various information about the system state.
30

    
31
@table @option
32
@item info version
33
show the version of QEMU
34
@item info network
35
show the various VLANs and the associated devices
36
@item info chardev
37
show the character devices
38
@item info block
39
show the block devices
40
@item info block
41
show block device statistics
42
@item info registers
43
show the cpu registers
44
@item info cpus
45
show infos for each CPU
46
@item info history
47
show the command line history
48
@item info irq
49
show the interrupts statistics (if available)
50
@item info pic
51
show i8259 (PIC) state
52
@item info pci
53
show emulated PCI device info
54
@item info tlb
55
show virtual to physical memory mappings (i386 only)
56
@item info mem
57
show the active virtual memory mappings (i386 only)
58
@item info hpet
59
show state of HPET (i386 only)
60
@item info kqemu
61
show KQEMU information
62
@item info kvm
63
show KVM information
64
@item info usb
65
show USB devices plugged on the virtual USB hub
66
@item info usbhost
67
show all USB host devices
68
@item info profile
69
show profiling information
70
@item info capture
71
show information about active capturing
72
@item info snapshots
73
show list of VM snapshots
74
@item info status
75
show the current VM status (running|paused)
76
@item info pcmcia
77
show guest PCMCIA status
78
@item info mice
79
show which guest mouse is receiving events
80
@item info vnc
81
show the vnc server status
82
@item info name
83
show the current VM name
84
@item info uuid
85
show the current VM UUID
86
@item info cpustats
87
show CPU statistics
88
@item info usernet
89
show user network stack connection states
90
@item info migrate
91
show migration status
92
@item info balloon
93
show balloon information
94
@item info qtree
95
show device tree
96
@end table
97
ETEXI
98

    
99
    { "q|quit", "", do_quit,
100
      "", "quit the emulator" },
101
STEXI
102
@item q or quit
103
Quit the emulator.
104
ETEXI
105

    
106
    { "eject", "-fB", do_eject,
107
      "[-f] device", "eject a removable medium (use -f to force it)" },
108
STEXI
109
@item eject [-f] @var{device}
110
Eject a removable medium (use -f to force it).
111
ETEXI
112

    
113
    { "change", "BFs?", do_change,
114
      "device filename [format]", "change a removable medium, optional format" },
115
STEXI
116
@item change @var{device} @var{setting}
117

    
118
Change the configuration of a device.
119

    
120
@table @option
121
@item change @var{diskdevice} @var{filename} [@var{format}]
122
Change the medium for a removable disk device to point to @var{filename}. eg
123

    
124
@example
125
(qemu) change ide1-cd0 /path/to/some.iso
126
@end example
127

    
128
@var{format} is optional.
129

    
130
@item change vnc @var{display},@var{options}
131
Change the configuration of the VNC server. The valid syntax for @var{display}
132
and @var{options} are described at @ref{sec_invocation}. eg
133

    
134
@example
135
(qemu) change vnc localhost:1
136
@end example
137

    
138
@item change vnc password [@var{password}]
139

    
140
Change the password associated with the VNC server. If the new password is not
141
supplied, the monitor will prompt for it to be entered. VNC passwords are only
142
significant up to 8 letters. eg
143

    
144
@example
145
(qemu) change vnc password
146
Password: ********
147
@end example
148

    
149
@end table
150
ETEXI
151

    
152
    { "screendump", "F", do_screen_dump,
153
      "filename", "save screen into PPM image 'filename'" },
154
STEXI
155
@item screendump @var{filename}
156
Save screen into PPM image @var{filename}.
157
ETEXI
158

    
159
    { "logfile", "F", do_logfile,
160
      "filename", "output logs to 'filename'" },
161
STEXI
162
@item logfile @var{filename}
163
Output logs to @var{filename}.
164
ETEXI
165

    
166
    { "log", "s", do_log,
167
      "item1[,...]", "activate logging of the specified items to '/tmp/qemu.log'" },
168
STEXI
169
@item log @var{item1}[,...]
170
Activate logging of the specified items to @file{/tmp/qemu.log}.
171
ETEXI
172

    
173
    { "savevm", "s?", do_savevm,
174
      "[tag|id]", "save a VM snapshot. If no tag or id are provided, a new snapshot is created" },
175
STEXI
176
@item savevm [@var{tag}|@var{id}]
177
Create a snapshot of the whole virtual machine. If @var{tag} is
178
provided, it is used as human readable identifier. If there is already
179
a snapshot with the same tag or ID, it is replaced. More info at
180
@ref{vm_snapshots}.
181
ETEXI
182

    
183
    { "loadvm", "s", do_loadvm,
184
      "tag|id", "restore a VM snapshot from its tag or id" },
185
STEXI
186
@item loadvm @var{tag}|@var{id}
187
Set the whole virtual machine to the snapshot identified by the tag
188
@var{tag} or the unique snapshot ID @var{id}.
189
ETEXI
190

    
191
    { "delvm", "s", do_delvm,
192
      "tag|id", "delete a VM snapshot from its tag or id" },
193
STEXI
194
@item delvm @var{tag}|@var{id}
195
Delete the snapshot identified by @var{tag} or @var{id}.
196
ETEXI
197

    
198
    { "singlestep", "s?", do_singlestep,
199
      "[on|off]", "run emulation in singlestep mode or switch to normal mode", },
200
STEXI
201
@item singlestep [off]
202
Run the emulation in single step mode.
203
If called with option off, the emulation returns to normal mode.
204
ETEXI
205

    
206
    { "stop", "", do_stop,
207
      "", "stop emulation", },
208
STEXI
209
@item stop
210
Stop emulation.
211
ETEXI
212

    
213
    { "c|cont", "", do_cont,
214
      "", "resume emulation", },
215
STEXI
216
@item c or cont
217
Resume emulation.
218
ETEXI
219

    
220
    { "gdbserver", "s?", do_gdbserver,
221
      "[device]", "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", },
222
STEXI
223
@item gdbserver [@var{port}]
224
Start gdbserver session (default @var{port}=1234)
225
ETEXI
226

    
227
    { "x", "/l", do_memory_dump,
228
      "/fmt addr", "virtual memory dump starting at 'addr'", },
229
STEXI
230
@item x/fmt @var{addr}
231
Virtual memory dump starting at @var{addr}.
232
ETEXI
233

    
234
    { "xp", "/l", do_physical_memory_dump,
235
      "/fmt addr", "physical memory dump starting at 'addr'", },
236
STEXI
237
@item xp /@var{fmt} @var{addr}
238
Physical memory dump starting at @var{addr}.
239

    
240
@var{fmt} is a format which tells the command how to format the
241
data. Its syntax is: @option{/@{count@}@{format@}@{size@}}
242

    
243
@table @var
244
@item count
245
is the number of items to be dumped.
246

    
247
@item format
248
can be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
249
c (char) or i (asm instruction).
250

    
251
@item size
252
can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
253
@code{h} or @code{w} can be specified with the @code{i} format to
254
respectively select 16 or 32 bit code instruction size.
255

    
256
@end table
257

    
258
Examples:
259
@itemize
260
@item
261
Dump 10 instructions at the current instruction pointer:
262
@example
263
(qemu) x/10i $eip
264
0x90107063:  ret
265
0x90107064:  sti
266
0x90107065:  lea    0x0(%esi,1),%esi
267
0x90107069:  lea    0x0(%edi,1),%edi
268
0x90107070:  ret
269
0x90107071:  jmp    0x90107080
270
0x90107073:  nop
271
0x90107074:  nop
272
0x90107075:  nop
273
0x90107076:  nop
274
@end example
275

    
276
@item
277
Dump 80 16 bit values at the start of the video memory.
278
@smallexample
279
(qemu) xp/80hx 0xb8000
280
0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
281
0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
282
0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
283
0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
284
0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
285
0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
286
0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
287
0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
288
0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
289
0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
290
@end smallexample
291
@end itemize
292
ETEXI
293

    
294
    { "p|print", "/l", do_print,
295
      "/fmt expr", "print expression value (use $reg for CPU register access)", },
296
STEXI
297
@item p or print/@var{fmt} @var{expr}
298

    
299
Print expression value. Only the @var{format} part of @var{fmt} is
300
used.
301
ETEXI
302

    
303
    { "i", "/ii.", do_ioport_read,
304
      "/fmt addr", "I/O port read" },
305
STEXI
306
Read I/O port.
307
ETEXI
308

    
309

    
310
    { "sendkey", "si?", do_sendkey,
311
      "keys [hold_ms]", "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)" },
312
STEXI
313
@item sendkey @var{keys}
314

    
315
Send @var{keys} to the emulator. @var{keys} could be the name of the
316
key or @code{#} followed by the raw value in either decimal or hexadecimal
317
format. Use @code{-} to press several keys simultaneously. Example:
318
@example
319
sendkey ctrl-alt-f1
320
@end example
321

    
322
This command is useful to send keys that your graphical user interface
323
intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
324
ETEXI
325

    
326
    { "system_reset", "", do_system_reset,
327
      "", "reset the system" },
328
STEXI
329
@item system_reset
330

    
331
Reset the system.
332
ETEXI
333

    
334
    { "system_powerdown", "", do_system_powerdown,
335
      "", "send system power down event" },
336
STEXI
337
@item system_powerdown
338

    
339
Power down the system (if supported).
340
ETEXI
341

    
342
    { "sum", "ii", do_sum,
343
      "addr size", "compute the checksum of a memory region" },
344
STEXI
345
@item sum @var{addr} @var{size}
346

    
347
Compute the checksum of a memory region.
348
ETEXI
349

    
350
    { "usb_add", "s", do_usb_add,
351
      "device", "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')" },
352
STEXI
353
@item usb_add @var{devname}
354

    
355
Add the USB device @var{devname}.  For details of available devices see
356
@ref{usb_devices}
357
ETEXI
358

    
359
    { "usb_del", "s", do_usb_del,
360
      "device", "remove USB device 'bus.addr'" },
361
STEXI
362
@item usb_del @var{devname}
363

    
364
Remove the USB device @var{devname} from the QEMU virtual USB
365
hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
366
command @code{info usb} to see the devices you can remove.
367
ETEXI
368

    
369
    { "cpu", "i", do_cpu_set,
370
      "index", "set the default CPU" },
371
STEXI
372
Set the default CPU.
373
ETEXI
374

    
375
    { "mouse_move", "sss?", do_mouse_move,
376
      "dx dy [dz]", "send mouse move events" },
377
STEXI
378
@item mouse_move @var{dx} @var{dy} [@var{dz}]
379
Move the active mouse to the specified coordinates @var{dx} @var{dy}
380
with optional scroll axis @var{dz}.
381
ETEXI
382

    
383
    { "mouse_button", "i", do_mouse_button,
384
      "state", "change mouse button state (1=L, 2=M, 4=R)" },
385
STEXI
386
@item mouse_button @var{val}
387
Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
388
ETEXI
389

    
390
    { "mouse_set", "i", do_mouse_set,
391
      "index", "set which mouse device receives events" },
392
STEXI
393
@item mouse_set @var{index}
394
Set which mouse device receives events at given @var{index}, index
395
can be obtained with
396
@example
397
info mice
398
@end example
399
ETEXI
400

    
401
#ifdef HAS_AUDIO
402
    { "wavcapture", "si?i?i?", do_wav_capture,
403
      "path [frequency [bits [channels]]]",
404
      "capture audio to a wave file (default frequency=44100 bits=16 channels=2)" },
405
#endif
406
STEXI
407
@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
408
Capture audio into @var{filename}. Using sample rate @var{frequency}
409
bits per sample @var{bits} and number of channels @var{channels}.
410

    
411
Defaults:
412
@itemize @minus
413
@item Sample rate = 44100 Hz - CD quality
414
@item Bits = 16
415
@item Number of channels = 2 - Stereo
416
@end itemize
417
ETEXI
418

    
419
#ifdef HAS_AUDIO
420
    { "stopcapture", "i", do_stop_capture,
421
      "capture index", "stop capture" },
422
#endif
423
STEXI
424
@item stopcapture @var{index}
425
Stop capture with a given @var{index}, index can be obtained with
426
@example
427
info capture
428
@end example
429
ETEXI
430

    
431
    { "memsave", "lis", do_memory_save,
432
      "addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", },
433
STEXI
434
@item memsave @var{addr} @var{size} @var{file}
435
save to disk virtual memory dump starting at @var{addr} of size @var{size}.
436
ETEXI
437

    
438
    { "pmemsave", "lis", do_physical_memory_save,
439
      "addr size file", "save to disk physical memory dump starting at 'addr' of size 'size'", },
440
STEXI
441
@item pmemsave @var{addr} @var{size} @var{file}
442
save to disk physical memory dump starting at @var{addr} of size @var{size}.
443
ETEXI
444

    
445
    { "boot_set", "s", do_boot_set,
446
      "bootdevice", "define new values for the boot device list" },
447
STEXI
448
@item boot_set @var{bootdevicelist}
449

    
450
Define new values for the boot device list. Those values will override
451
the values specified on the command line through the @code{-boot} option.
452

    
453
The values that can be specified here depend on the machine type, but are
454
the same that can be specified in the @code{-boot} command line option.
455
ETEXI
456

    
457
#if defined(TARGET_I386)
458
    { "nmi", "i", do_inject_nmi,
459
      "cpu", "inject an NMI on the given CPU", },
460
#endif
461
STEXI
462
@item nmi @var{cpu}
463
Inject an NMI on the given CPU (x86 only).
464
ETEXI
465

    
466
    { "migrate", "-ds", do_migrate,
467
      "[-d] uri", "migrate to URI (using -d to not wait for completion)" },
468
STEXI
469
@item migrate [-d] @var{uri}
470
Migrate to @var{uri} (using -d to not wait for completion).
471
ETEXI
472

    
473
    { "migrate_cancel", "", do_migrate_cancel,
474
      "", "cancel the current VM migration" },
475
STEXI
476
@item migrate_cancel
477
Cancel the current VM migration.
478
ETEXI
479

    
480
    { "migrate_set_speed", "s", do_migrate_set_speed,
481
      "value", "set maximum speed (in bytes) for migrations" },
482
STEXI
483
@item migrate_set_speed @var{value}
484
Set maximum speed to @var{value} (in bytes) for migrations.
485
ETEXI
486

    
487
    { "migrate_set_downtime", "s", do_migrate_set_downtime,
488
      "value", "set maximum tolerated downtime (in seconds) for migrations" },
489

    
490
STEXI
491
@item migrate_set_downtime @var{second}
492
Set maximum tolerated downtime (in seconds) for migration.
493
ETEXI
494

    
495
#if defined(TARGET_I386)
496
    { "drive_add", "ss", drive_hot_add, "[[<domain>:]<bus>:]<slot>\n"
497
                                         "[file=file][,if=type][,bus=n]\n"
498
                                        "[,unit=m][,media=d][index=i]\n"
499
                                        "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
500
                                        "[snapshot=on|off][,cache=on|off]",
501
                                        "add drive to PCI storage controller" },
502
#endif
503
STEXI
504
@item drive_add
505
Add drive to PCI storage controller.
506
ETEXI
507

    
508
#if defined(TARGET_I386)
509
    { "pci_add", "sss?", pci_device_hot_add, "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...", "hot-add PCI device" },
510
#endif
511
STEXI
512
@item pci_add
513
Hot-add PCI device.
514
ETEXI
515

    
516
#if defined(TARGET_I386)
517
    { "pci_del", "s", pci_device_hot_remove, "[[<domain>:]<bus>:]<slot>", "hot remove PCI device" },
518
#endif
519
STEXI
520
@item pci_del
521
Hot remove PCI device.
522
ETEXI
523

    
524
    { "host_net_add", "ss?", net_host_device_add,
525
      "tap|user|socket|vde|dump [options]", "add host VLAN client" },
526
STEXI
527
@item host_net_add
528
Add host VLAN client.
529
ETEXI
530

    
531
    { "host_net_remove", "is", net_host_device_remove,
532
      "vlan_id name", "remove host VLAN client" },
533
STEXI
534
@item host_net_remove
535
Remove host VLAN client.
536
ETEXI
537

    
538
#ifdef CONFIG_SLIRP
539
    { "hostfwd_add", "ss?s?", net_slirp_hostfwd_add,
540
      "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
541
      "redirect TCP or UDP connections from host to guest (requires -net user)" },
542
    { "hostfwd_remove", "ss?s?", net_slirp_hostfwd_remove,
543
      "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
544
      "remove host-to-guest TCP or UDP redirection" },
545
#endif
546
STEXI
547
@item host_net_redir
548
Redirect TCP or UDP connections from host to guest (requires -net user).
549
ETEXI
550

    
551
    { "balloon", "i", do_balloon,
552
      "target", "request VM to change it's memory allocation (in MB)" },
553
STEXI
554
@item balloon @var{value}
555
Request VM to change its memory allocation to @var{value} (in MB).
556
ETEXI
557

    
558
    { "set_link", "ss", do_set_link,
559
      "name up|down", "change the link status of a network adapter" },
560
STEXI
561
@item set_link @var{name} [up|down]
562
Set link @var{name} up or down.
563
ETEXI
564

    
565
    { "watchdog_action", "s", do_watchdog_action,
566
      "[reset|shutdown|poweroff|pause|debug|none]", "change watchdog action" },
567
STEXI
568
@item watchdog_action
569
Change watchdog action.
570
ETEXI
571

    
572
    { "acl_show", "s", do_acl_show, "aclname",
573
      "list rules in the access control list" },
574
STEXI
575
@item acl_show @var{aclname}
576
List all the matching rules in the access control list, and the default
577
policy. There are currently two named access control lists,
578
@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
579
certificate distinguished name, and SASL username respectively.
580
ETEXI
581

    
582
    { "acl_policy", "ss", do_acl_policy, "aclname allow|deny",
583
      "set default access control list policy" },
584
STEXI
585
@item acl_policy @var{aclname} @code{allow|deny}
586
Set the default access control list policy, used in the event that
587
none of the explicit rules match. The default policy at startup is
588
always @code{deny}.
589
ETEXI
590

    
591
    { "acl_add", "sssi?", do_acl_add, "aclname match allow|deny [index]",
592
      "add a match rule to the access control list" },
593
STEXI
594
@item acl_allow @var{aclname} @var{match} @code{allow|deny} [@var{index}]
595
Add a match rule to the access control list, allowing or denying access.
596
The match will normally be an exact username or x509 distinguished name,
597
but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
598
allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
599
normally be appended to the end of the ACL, but can be inserted
600
earlier in the list if the optional @var{index} parameter is supplied.
601
ETEXI
602

    
603
    { "acl_remove", "ss", do_acl_remove, "aclname match",
604
      "remove a match rule from the access control list" },
605
STEXI
606
@item acl_remove @var{aclname} @var{match}
607
Remove the specified match rule from the access control list.
608
ETEXI
609

    
610
    { "acl_reset", "s", do_acl_reset, "aclname",
611
      "reset the access control list" },
612
STEXI
613
@item acl_remove @var{aclname} @var{match}
614
Remove all matches from the access control list, and set the default
615
policy back to @code{deny}.
616
ETEXI
617

    
618
#if defined(TARGET_I386)
619
    { "mce", "iillll", do_inject_mce, "cpu bank status mcgstatus addr misc", "inject a MCE on the given CPU"},
620
#endif
621
STEXI
622
@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
623
Inject an MCE on the given CPU (x86 only).
624
ETEXI
625

    
626
STEXI
627
@end table
628
ETEXI