Statistics
| Branch: | Revision:

root / qemu-monitor.hx @ 9869622e

History | View | Annotate | Download (29 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
    {
13
        .name       = "help|?",
14
        .args_type  = "name:s?",
15
        .params     = "[cmd]",
16
        .help       = "show the help",
17
        .mhandler.cmd = do_help_cmd,
18
    },
19

    
20
STEXI
21
@item help or ? [@var{cmd}]
22
@findex help
23
Show the help for all commands or just for command @var{cmd}.
24
ETEXI
25

    
26
    {
27
        .name       = "commit",
28
        .args_type  = "device:B",
29
        .params     = "device|all",
30
        .help       = "commit changes to the disk images (if -snapshot is used) or backing files",
31
        .mhandler.cmd = do_commit,
32
    },
33

    
34
STEXI
35
@item commit
36
@findex commit
37
Commit changes to the disk images (if -snapshot is used) or backing files.
38
ETEXI
39

    
40
    {
41
        .name       = "info",
42
        .args_type  = "item:s?",
43
        .params     = "[subcommand]",
44
        .help       = "show various information about the system state",
45
        .user_print = monitor_user_noop,
46
        .mhandler.cmd_new = do_info,
47
    },
48

    
49
STEXI
50
@item info @var{subcommand}
51
@findex info
52
Show various information about the system state.
53

    
54
@table @option
55
@item info version
56
show the version of QEMU
57
@item info network
58
show the various VLANs and the associated devices
59
@item info chardev
60
show the character devices
61
@item info block
62
show the block devices
63
@item info block
64
show block device statistics
65
@item info registers
66
show the cpu registers
67
@item info cpus
68
show infos for each CPU
69
@item info history
70
show the command line history
71
@item info irq
72
show the interrupts statistics (if available)
73
@item info pic
74
show i8259 (PIC) state
75
@item info pci
76
show emulated PCI device info
77
@item info tlb
78
show virtual to physical memory mappings (i386 only)
79
@item info mem
80
show the active virtual memory mappings (i386 only)
81
@item info hpet
82
show state of HPET (i386 only)
83
@item info kvm
84
show KVM information
85
@item info usb
86
show USB devices plugged on the virtual USB hub
87
@item info usbhost
88
show all USB host devices
89
@item info profile
90
show profiling information
91
@item info capture
92
show information about active capturing
93
@item info snapshots
94
show list of VM snapshots
95
@item info status
96
show the current VM status (running|paused)
97
@item info pcmcia
98
show guest PCMCIA status
99
@item info mice
100
show which guest mouse is receiving events
101
@item info vnc
102
show the vnc server status
103
@item info name
104
show the current VM name
105
@item info uuid
106
show the current VM UUID
107
@item info cpustats
108
show CPU statistics
109
@item info usernet
110
show user network stack connection states
111
@item info migrate
112
show migration status
113
@item info balloon
114
show balloon information
115
@item info qtree
116
show device tree
117
@end table
118
ETEXI
119

    
120
    {
121
        .name       = "q|quit",
122
        .args_type  = "",
123
        .params     = "",
124
        .help       = "quit the emulator",
125
        .user_print = monitor_user_noop,
126
        .cmd_new_ret = do_quit,
127
    },
128

    
129
STEXI
130
@item q or quit
131
@findex quit
132
Quit the emulator.
133
ETEXI
134

    
135
    {
136
        .name       = "eject",
137
        .args_type  = "force:-f,device:B",
138
        .params     = "[-f] device",
139
        .help       = "eject a removable medium (use -f to force it)",
140
        .user_print = monitor_user_noop,
141
        .cmd_new_ret = do_eject,
142
    },
143

    
144
STEXI
145
@item eject [-f] @var{device}
146
@findex eject
147
Eject a removable medium (use -f to force it).
148
ETEXI
149

    
150
    {
151
        .name       = "change",
152
        .args_type  = "device:B,target:F,arg:s?",
153
        .params     = "device filename [format]",
154
        .help       = "change a removable medium, optional format",
155
        .user_print = monitor_user_noop,
156
        .mhandler.cmd_new = do_change,
157
    },
158

    
159
STEXI
160
@item change @var{device} @var{setting}
161
@findex change
162

    
163
Change the configuration of a device.
164

    
165
@table @option
166
@item change @var{diskdevice} @var{filename} [@var{format}]
167
Change the medium for a removable disk device to point to @var{filename}. eg
168

    
169
@example
170
(qemu) change ide1-cd0 /path/to/some.iso
171
@end example
172

    
173
@var{format} is optional.
174

    
175
@item change vnc @var{display},@var{options}
176
Change the configuration of the VNC server. The valid syntax for @var{display}
177
and @var{options} are described at @ref{sec_invocation}. eg
178

    
179
@example
180
(qemu) change vnc localhost:1
181
@end example
182

    
183
@item change vnc password [@var{password}]
184

    
185
Change the password associated with the VNC server. If the new password is not
186
supplied, the monitor will prompt for it to be entered. VNC passwords are only
187
significant up to 8 letters. eg
188

    
189
@example
190
(qemu) change vnc password
191
Password: ********
192
@end example
193

    
194
@end table
195
ETEXI
196

    
197
    {
198
        .name       = "screendump",
199
        .args_type  = "filename:F",
200
        .params     = "filename",
201
        .help       = "save screen into PPM image 'filename'",
202
        .mhandler.cmd = do_screen_dump,
203
    },
204

    
205
STEXI
206
@item screendump @var{filename}
207
@findex screendump
208
Save screen into PPM image @var{filename}.
209
ETEXI
210

    
211
    {
212
        .name       = "logfile",
213
        .args_type  = "filename:F",
214
        .params     = "filename",
215
        .help       = "output logs to 'filename'",
216
        .mhandler.cmd = do_logfile,
217
    },
218

    
219
STEXI
220
@item logfile @var{filename}
221
@findex logfile
222
Output logs to @var{filename}.
223
ETEXI
224

    
225
    {
226
        .name       = "log",
227
        .args_type  = "items:s",
228
        .params     = "item1[,...]",
229
        .help       = "activate logging of the specified items to '/tmp/qemu.log'",
230
        .mhandler.cmd = do_log,
231
    },
232

    
233
STEXI
234
@item log @var{item1}[,...]
235
@findex log
236
Activate logging of the specified items to @file{/tmp/qemu.log}.
237
ETEXI
238

    
239
    {
240
        .name       = "savevm",
241
        .args_type  = "name:s?",
242
        .params     = "[tag|id]",
243
        .help       = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
244
        .mhandler.cmd = do_savevm,
245
    },
246

    
247
STEXI
248
@item savevm [@var{tag}|@var{id}]
249
@findex savevm
250
Create a snapshot of the whole virtual machine. If @var{tag} is
251
provided, it is used as human readable identifier. If there is already
252
a snapshot with the same tag or ID, it is replaced. More info at
253
@ref{vm_snapshots}.
254
ETEXI
255

    
256
    {
257
        .name       = "loadvm",
258
        .args_type  = "name:s",
259
        .params     = "tag|id",
260
        .help       = "restore a VM snapshot from its tag or id",
261
        .mhandler.cmd = do_loadvm,
262
    },
263

    
264
STEXI
265
@item loadvm @var{tag}|@var{id}
266
@findex loadvm
267
Set the whole virtual machine to the snapshot identified by the tag
268
@var{tag} or the unique snapshot ID @var{id}.
269
ETEXI
270

    
271
    {
272
        .name       = "delvm",
273
        .args_type  = "name:s",
274
        .params     = "tag|id",
275
        .help       = "delete a VM snapshot from its tag or id",
276
        .mhandler.cmd = do_delvm,
277
    },
278

    
279
STEXI
280
@item delvm @var{tag}|@var{id}
281
@findex delvm
282
Delete the snapshot identified by @var{tag} or @var{id}.
283
ETEXI
284

    
285
    {
286
        .name       = "singlestep",
287
        .args_type  = "option:s?",
288
        .params     = "[on|off]",
289
        .help       = "run emulation in singlestep mode or switch to normal mode",
290
        .mhandler.cmd = do_singlestep,
291
    },
292

    
293
STEXI
294
@item singlestep [off]
295
@findex singlestep
296
Run the emulation in single step mode.
297
If called with option off, the emulation returns to normal mode.
298
ETEXI
299

    
300
    {
301
        .name       = "stop",
302
        .args_type  = "",
303
        .params     = "",
304
        .help       = "stop emulation",
305
        .user_print = monitor_user_noop,
306
        .cmd_new_ret = do_stop,
307
    },
308

    
309
STEXI
310
@item stop
311
@findex stop
312
Stop emulation.
313
ETEXI
314

    
315
    {
316
        .name       = "c|cont",
317
        .args_type  = "",
318
        .params     = "",
319
        .help       = "resume emulation",
320
        .user_print = monitor_user_noop,
321
        .cmd_new_ret = do_cont,
322
    },
323

    
324
STEXI
325
@item c or cont
326
@findex cont
327
Resume emulation.
328
ETEXI
329

    
330
    {
331
        .name       = "gdbserver",
332
        .args_type  = "device:s?",
333
        .params     = "[device]",
334
        .help       = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
335
        .mhandler.cmd = do_gdbserver,
336
    },
337

    
338
STEXI
339
@item gdbserver [@var{port}]
340
@findex gdbserver
341
Start gdbserver session (default @var{port}=1234)
342
ETEXI
343

    
344
    {
345
        .name       = "x",
346
        .args_type  = "fmt:/,addr:l",
347
        .params     = "/fmt addr",
348
        .help       = "virtual memory dump starting at 'addr'",
349
        .mhandler.cmd = do_memory_dump,
350
    },
351

    
352
STEXI
353
@item x/fmt @var{addr}
354
@findex x
355
Virtual memory dump starting at @var{addr}.
356
ETEXI
357

    
358
    {
359
        .name       = "xp",
360
        .args_type  = "fmt:/,addr:l",
361
        .params     = "/fmt addr",
362
        .help       = "physical memory dump starting at 'addr'",
363
        .mhandler.cmd = do_physical_memory_dump,
364
    },
365

    
366
STEXI
367
@item xp /@var{fmt} @var{addr}
368
@findex xp
369
Physical memory dump starting at @var{addr}.
370

    
371
@var{fmt} is a format which tells the command how to format the
372
data. Its syntax is: @option{/@{count@}@{format@}@{size@}}
373

    
374
@table @var
375
@item count
376
@findex count
377
is the number of items to be dumped.
378

    
379
@item format
380
@findex format
381
can be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
382
c (char) or i (asm instruction).
383

    
384
@item size
385
@findex size
386
can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
387
@code{h} or @code{w} can be specified with the @code{i} format to
388
respectively select 16 or 32 bit code instruction size.
389

    
390
@end table
391

    
392
Examples:
393
@itemize
394
@item
395
Dump 10 instructions at the current instruction pointer:
396
@example
397
(qemu) x/10i $eip
398
0x90107063:  ret
399
0x90107064:  sti
400
0x90107065:  lea    0x0(%esi,1),%esi
401
0x90107069:  lea    0x0(%edi,1),%edi
402
0x90107070:  ret
403
0x90107071:  jmp    0x90107080
404
0x90107073:  nop
405
0x90107074:  nop
406
0x90107075:  nop
407
0x90107076:  nop
408
@end example
409

    
410
@item
411
Dump 80 16 bit values at the start of the video memory.
412
@smallexample
413
(qemu) xp/80hx 0xb8000
414
0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
415
0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
416
0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
417
0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
418
0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
419
0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
420
0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
421
0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
422
0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
423
0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
424
@end smallexample
425
@end itemize
426
ETEXI
427

    
428
    {
429
        .name       = "p|print",
430
        .args_type  = "fmt:/,val:l",
431
        .params     = "/fmt expr",
432
        .help       = "print expression value (use $reg for CPU register access)",
433
        .mhandler.cmd = do_print,
434
    },
435

    
436
STEXI
437
@item p or print/@var{fmt} @var{expr}
438
@findex print
439

    
440
Print expression value. Only the @var{format} part of @var{fmt} is
441
used.
442
ETEXI
443

    
444
    {
445
        .name       = "i",
446
        .args_type  = "fmt:/,addr:i,index:i.",
447
        .params     = "/fmt addr",
448
        .help       = "I/O port read",
449
        .mhandler.cmd = do_ioport_read,
450
    },
451

    
452
STEXI
453
Read I/O port.
454
ETEXI
455

    
456
    {
457
        .name       = "o",
458
        .args_type  = "fmt:/,addr:i,val:i",
459
        .params     = "/fmt addr value",
460
        .help       = "I/O port write",
461
        .mhandler.cmd = do_ioport_write,
462
    },
463

    
464
STEXI
465
Write to I/O port.
466
ETEXI
467

    
468
    {
469
        .name       = "sendkey",
470
        .args_type  = "string:s,hold_time:i?",
471
        .params     = "keys [hold_ms]",
472
        .help       = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
473
        .mhandler.cmd = do_sendkey,
474
    },
475

    
476
STEXI
477
@item sendkey @var{keys}
478
@findex sendkey
479

    
480
Send @var{keys} to the emulator. @var{keys} could be the name of the
481
key or @code{#} followed by the raw value in either decimal or hexadecimal
482
format. Use @code{-} to press several keys simultaneously. Example:
483
@example
484
sendkey ctrl-alt-f1
485
@end example
486

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

    
491
    {
492
        .name       = "system_reset",
493
        .args_type  = "",
494
        .params     = "",
495
        .help       = "reset the system",
496
        .user_print = monitor_user_noop,
497
        .cmd_new_ret = do_system_reset,
498
    },
499

    
500
STEXI
501
@item system_reset
502
@findex system_reset
503

    
504
Reset the system.
505
ETEXI
506

    
507
    {
508
        .name       = "system_powerdown",
509
        .args_type  = "",
510
        .params     = "",
511
        .help       = "send system power down event",
512
        .user_print = monitor_user_noop,
513
        .cmd_new_ret = do_system_powerdown,
514
    },
515

    
516
STEXI
517
@item system_powerdown
518
@findex system_powerdown
519

    
520
Power down the system (if supported).
521
ETEXI
522

    
523
    {
524
        .name       = "sum",
525
        .args_type  = "start:i,size:i",
526
        .params     = "addr size",
527
        .help       = "compute the checksum of a memory region",
528
        .mhandler.cmd = do_sum,
529
    },
530

    
531
STEXI
532
@item sum @var{addr} @var{size}
533
@findex sum
534

    
535
Compute the checksum of a memory region.
536
ETEXI
537

    
538
    {
539
        .name       = "usb_add",
540
        .args_type  = "devname:s",
541
        .params     = "device",
542
        .help       = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
543
        .mhandler.cmd = do_usb_add,
544
    },
545

    
546
STEXI
547
@item usb_add @var{devname}
548
@findex usb_add
549

    
550
Add the USB device @var{devname}.  For details of available devices see
551
@ref{usb_devices}
552
ETEXI
553

    
554
    {
555
        .name       = "usb_del",
556
        .args_type  = "devname:s",
557
        .params     = "device",
558
        .help       = "remove USB device 'bus.addr'",
559
        .mhandler.cmd = do_usb_del,
560
    },
561

    
562
STEXI
563
@item usb_del @var{devname}
564
@findex usb_del
565

    
566
Remove the USB device @var{devname} from the QEMU virtual USB
567
hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
568
command @code{info usb} to see the devices you can remove.
569
ETEXI
570

    
571
    {
572
        .name       = "device_add",
573
        .args_type  = "config:s",
574
        .params     = "device",
575
        .help       = "add device, like -device on the command line",
576
        .mhandler.cmd = do_device_add,
577
    },
578

    
579
STEXI
580
@item device_add @var{config}
581
@findex device_add
582

    
583
Add device.
584
ETEXI
585

    
586
    {
587
        .name       = "device_del",
588
        .args_type  = "id:s",
589
        .params     = "device",
590
        .help       = "remove device",
591
        .mhandler.cmd = do_device_del,
592
    },
593

    
594
STEXI
595
@item device_del @var{id}
596
@findex device_del
597

    
598
Remove device @var{id}.
599
ETEXI
600

    
601
    {
602
        .name       = "cpu",
603
        .args_type  = "index:i",
604
        .params     = "index",
605
        .help       = "set the default CPU",
606
        .user_print = monitor_user_noop,
607
        .cmd_new_ret = do_cpu_set,
608
    },
609

    
610
STEXI
611
Set the default CPU.
612
ETEXI
613

    
614
    {
615
        .name       = "mouse_move",
616
        .args_type  = "dx_str:s,dy_str:s,dz_str:s?",
617
        .params     = "dx dy [dz]",
618
        .help       = "send mouse move events",
619
        .mhandler.cmd = do_mouse_move,
620
    },
621

    
622
STEXI
623
@item mouse_move @var{dx} @var{dy} [@var{dz}]
624
@findex mouse_move
625
Move the active mouse to the specified coordinates @var{dx} @var{dy}
626
with optional scroll axis @var{dz}.
627
ETEXI
628

    
629
    {
630
        .name       = "mouse_button",
631
        .args_type  = "button_state:i",
632
        .params     = "state",
633
        .help       = "change mouse button state (1=L, 2=M, 4=R)",
634
        .mhandler.cmd = do_mouse_button,
635
    },
636

    
637
STEXI
638
@item mouse_button @var{val}
639
@findex mouse_button
640
Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
641
ETEXI
642

    
643
    {
644
        .name       = "mouse_set",
645
        .args_type  = "index:i",
646
        .params     = "index",
647
        .help       = "set which mouse device receives events",
648
        .mhandler.cmd = do_mouse_set,
649
    },
650

    
651
STEXI
652
@item mouse_set @var{index}
653
@findex mouse_set
654
Set which mouse device receives events at given @var{index}, index
655
can be obtained with
656
@example
657
info mice
658
@end example
659
ETEXI
660

    
661
#ifdef HAS_AUDIO
662
    {
663
        .name       = "wavcapture",
664
        .args_type  = "path:F,freq:i?,bits:i?,nchannels:i?",
665
        .params     = "path [frequency [bits [channels]]]",
666
        .help       = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
667
        .mhandler.cmd = do_wav_capture,
668
    },
669
#endif
670
STEXI
671
@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
672
@findex wavcapture
673
Capture audio into @var{filename}. Using sample rate @var{frequency}
674
bits per sample @var{bits} and number of channels @var{channels}.
675

    
676
Defaults:
677
@itemize @minus
678
@item Sample rate = 44100 Hz - CD quality
679
@item Bits = 16
680
@item Number of channels = 2 - Stereo
681
@end itemize
682
ETEXI
683

    
684
#ifdef HAS_AUDIO
685
    {
686
        .name       = "stopcapture",
687
        .args_type  = "n:i",
688
        .params     = "capture index",
689
        .help       = "stop capture",
690
        .mhandler.cmd = do_stop_capture,
691
    },
692
#endif
693
STEXI
694
@item stopcapture @var{index}
695
@findex stopcapture
696
Stop capture with a given @var{index}, index can be obtained with
697
@example
698
info capture
699
@end example
700
ETEXI
701

    
702
    {
703
        .name       = "memsave",
704
        .args_type  = "val:l,size:i,filename:s",
705
        .params     = "addr size file",
706
        .help       = "save to disk virtual memory dump starting at 'addr' of size 'size'",
707
        .user_print = monitor_user_noop,
708
        .cmd_new_ret = do_memory_save,
709
    },
710

    
711
STEXI
712
@item memsave @var{addr} @var{size} @var{file}
713
@findex memsave
714
save to disk virtual memory dump starting at @var{addr} of size @var{size}.
715
ETEXI
716

    
717
    {
718
        .name       = "pmemsave",
719
        .args_type  = "val:l,size:i,filename:s",
720
        .params     = "addr size file",
721
        .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",
722
        .user_print = monitor_user_noop,
723
        .mhandler.cmd_new = do_physical_memory_save,
724
    },
725

    
726
STEXI
727
@item pmemsave @var{addr} @var{size} @var{file}
728
@findex pmemsave
729
save to disk physical memory dump starting at @var{addr} of size @var{size}.
730
ETEXI
731

    
732
    {
733
        .name       = "boot_set",
734
        .args_type  = "bootdevice:s",
735
        .params     = "bootdevice",
736
        .help       = "define new values for the boot device list",
737
        .mhandler.cmd = do_boot_set,
738
    },
739

    
740
STEXI
741
@item boot_set @var{bootdevicelist}
742
@findex boot_set
743

    
744
Define new values for the boot device list. Those values will override
745
the values specified on the command line through the @code{-boot} option.
746

    
747
The values that can be specified here depend on the machine type, but are
748
the same that can be specified in the @code{-boot} command line option.
749
ETEXI
750

    
751
#if defined(TARGET_I386)
752
    {
753
        .name       = "nmi",
754
        .args_type  = "cpu_index:i",
755
        .params     = "cpu",
756
        .help       = "inject an NMI on the given CPU",
757
        .mhandler.cmd = do_inject_nmi,
758
    },
759
#endif
760
STEXI
761
@item nmi @var{cpu}
762
@findex nmi
763
Inject an NMI on the given CPU (x86 only).
764
ETEXI
765

    
766
    {
767
        .name       = "migrate",
768
        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
769
        .params     = "[-d] [-b] [-i] uri",
770
        .help       = "migrate to URI (using -d to not wait for completion)"
771
		      "\n\t\t\t -b for migration without shared storage with"
772
		      " full copy of disk\n\t\t\t -i for migration without "
773
		      "shared storage with incremental copy of disk "
774
		      "(base image shared between src and destination)",
775
        .user_print = monitor_user_noop,	
776
	.cmd_new_ret = do_migrate,
777
    },
778

    
779

    
780
STEXI
781
@item migrate [-d] [-b] [-i] @var{uri}
782
@findex migrate
783
Migrate to @var{uri} (using -d to not wait for completion).
784
	-b for migration with full copy of disk
785
	-i for migration with incremental copy of disk (base image is shared)
786
ETEXI
787

    
788
    {
789
        .name       = "migrate_cancel",
790
        .args_type  = "",
791
        .params     = "",
792
        .help       = "cancel the current VM migration",
793
        .user_print = monitor_user_noop,
794
        .cmd_new_ret = do_migrate_cancel,
795
    },
796

    
797
STEXI
798
@item migrate_cancel
799
@findex migrate_cancel
800
Cancel the current VM migration.
801
ETEXI
802

    
803
    {
804
        .name       = "migrate_set_speed",
805
        .args_type  = "value:b",
806
        .params     = "value",
807
        .help       = "set maximum speed (in bytes) for migrations",
808
        .user_print = monitor_user_noop,
809
        .cmd_new_ret = do_migrate_set_speed,
810
    },
811

    
812
STEXI
813
@item migrate_set_speed @var{value}
814
@findex migrate_set_speed
815
Set maximum speed to @var{value} (in bytes) for migrations.
816
ETEXI
817

    
818
    {
819
        .name       = "migrate_set_downtime",
820
        .args_type  = "value:T",
821
        .params     = "value",
822
        .help       = "set maximum tolerated downtime (in seconds) for migrations",
823
        .user_print = monitor_user_noop,
824
        .cmd_new_ret = do_migrate_set_downtime,
825
    },
826

    
827
STEXI
828
@item migrate_set_downtime @var{second}
829
@findex migrate_set_downtime
830
Set maximum tolerated downtime (in seconds) for migration.
831
ETEXI
832

    
833
#if defined(TARGET_I386)
834
    {
835
        .name       = "drive_add",
836
        .args_type  = "pci_addr:s,opts:s",
837
        .params     = "[[<domain>:]<bus>:]<slot>\n"
838
                      "[file=file][,if=type][,bus=n]\n"
839
                      "[,unit=m][,media=d][index=i]\n"
840
                      "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
841
                      "[snapshot=on|off][,cache=on|off]",
842
        .help       = "add drive to PCI storage controller",
843
        .mhandler.cmd = drive_hot_add,
844
    },
845
#endif
846

    
847
STEXI
848
@item drive_add
849
@findex drive_add
850
Add drive to PCI storage controller.
851
ETEXI
852

    
853
#if defined(TARGET_I386)
854
    {
855
        .name       = "pci_add",
856
        .args_type  = "pci_addr:s,type:s,opts:s?",
857
        .params     = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
858
        .help       = "hot-add PCI device",
859
        .user_print = pci_device_hot_add_print,
860
        .cmd_new_ret = pci_device_hot_add,
861
    },
862
#endif
863

    
864
STEXI
865
@item pci_add
866
@findex pci_add
867
Hot-add PCI device.
868
ETEXI
869

    
870
#if defined(TARGET_I386)
871
    {
872
        .name       = "pci_del",
873
        .args_type  = "pci_addr:s",
874
        .params     = "[[<domain>:]<bus>:]<slot>",
875
        .help       = "hot remove PCI device",
876
        .user_print = monitor_user_noop,
877
        .cmd_new_ret = do_pci_device_hot_remove,
878
    },
879
#endif
880

    
881
STEXI
882
@item pci_del
883
@findex pci_del
884
Hot remove PCI device.
885
ETEXI
886

    
887
    {
888
        .name       = "host_net_add",
889
        .args_type  = "device:s,opts:s?",
890
        .params     = "tap|user|socket|vde|dump [options]",
891
        .help       = "add host VLAN client",
892
        .mhandler.cmd = net_host_device_add,
893
    },
894

    
895
STEXI
896
@item host_net_add
897
@findex host_net_add
898
Add host VLAN client.
899
ETEXI
900

    
901
    {
902
        .name       = "host_net_remove",
903
        .args_type  = "vlan_id:i,device:s",
904
        .params     = "vlan_id name",
905
        .help       = "remove host VLAN client",
906
        .mhandler.cmd = net_host_device_remove,
907
    },
908

    
909
STEXI
910
@item host_net_remove
911
@findex host_net_remove
912
Remove host VLAN client.
913
ETEXI
914

    
915
#ifdef CONFIG_SLIRP
916
    {
917
        .name       = "hostfwd_add",
918
        .args_type  = "arg1:s,arg2:s?,arg3:s?",
919
        .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
920
        .help       = "redirect TCP or UDP connections from host to guest (requires -net user)",
921
        .mhandler.cmd = net_slirp_hostfwd_add,
922
    },
923

    
924
    {
925
        .name       = "hostfwd_remove",
926
        .args_type  = "arg1:s,arg2:s?,arg3:s?",
927
        .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
928
        .help       = "remove host-to-guest TCP or UDP redirection",
929
        .mhandler.cmd = net_slirp_hostfwd_remove,
930
    },
931

    
932
#endif
933
STEXI
934
@item host_net_redir
935
@findex host_net_redir
936
Redirect TCP or UDP connections from host to guest (requires -net user).
937
ETEXI
938

    
939
    {
940
        .name       = "balloon",
941
        .args_type  = "value:M",
942
        .params     = "target",
943
        .help       = "request VM to change it's memory allocation (in MB)",
944
        .user_print = monitor_user_noop,
945
        .mhandler.cmd_async = do_balloon,
946
        .async      = 1,
947
    },
948

    
949
STEXI
950
@item balloon @var{value}
951
@findex balloon
952
Request VM to change its memory allocation to @var{value} (in MB).
953
ETEXI
954

    
955
    {
956
        .name       = "set_link",
957
        .args_type  = "name:s,up_or_down:s",
958
        .params     = "name up|down",
959
        .help       = "change the link status of a network adapter",
960
        .mhandler.cmd = do_set_link,
961
    },
962

    
963
STEXI
964
@item set_link @var{name} [up|down]
965
@findex set_link
966
Set link @var{name} up or down.
967
ETEXI
968

    
969
    {
970
        .name       = "watchdog_action",
971
        .args_type  = "action:s",
972
        .params     = "[reset|shutdown|poweroff|pause|debug|none]",
973
        .help       = "change watchdog action",
974
        .mhandler.cmd = do_watchdog_action,
975
    },
976

    
977
STEXI
978
@item watchdog_action
979
@findex watchdog_action
980
Change watchdog action.
981
ETEXI
982

    
983
    {
984
        .name       = "acl_show",
985
        .args_type  = "aclname:s",
986
        .params     = "aclname",
987
        .help       = "list rules in the access control list",
988
        .mhandler.cmd = do_acl_show,
989
    },
990

    
991
STEXI
992
@item acl_show @var{aclname}
993
@findex acl_show
994
List all the matching rules in the access control list, and the default
995
policy. There are currently two named access control lists,
996
@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
997
certificate distinguished name, and SASL username respectively.
998
ETEXI
999

    
1000
    {
1001
        .name       = "acl_policy",
1002
        .args_type  = "aclname:s,policy:s",
1003
        .params     = "aclname allow|deny",
1004
        .help       = "set default access control list policy",
1005
        .mhandler.cmd = do_acl_policy,
1006
    },
1007

    
1008
STEXI
1009
@item acl_policy @var{aclname} @code{allow|deny}
1010
@findex acl_policy
1011
Set the default access control list policy, used in the event that
1012
none of the explicit rules match. The default policy at startup is
1013
always @code{deny}.
1014
ETEXI
1015

    
1016
    {
1017
        .name       = "acl_add",
1018
        .args_type  = "aclname:s,match:s,policy:s,index:i?",
1019
        .params     = "aclname match allow|deny [index]",
1020
        .help       = "add a match rule to the access control list",
1021
        .mhandler.cmd = do_acl_add,
1022
    },
1023

    
1024
STEXI
1025
@item acl_allow @var{aclname} @var{match} @code{allow|deny} [@var{index}]
1026
@findex acl_allow
1027
Add a match rule to the access control list, allowing or denying access.
1028
The match will normally be an exact username or x509 distinguished name,
1029
but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
1030
allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
1031
normally be appended to the end of the ACL, but can be inserted
1032
earlier in the list if the optional @var{index} parameter is supplied.
1033
ETEXI
1034

    
1035
    {
1036
        .name       = "acl_remove",
1037
        .args_type  = "aclname:s,match:s",
1038
        .params     = "aclname match",
1039
        .help       = "remove a match rule from the access control list",
1040
        .mhandler.cmd = do_acl_remove,
1041
    },
1042

    
1043
STEXI
1044
@item acl_remove @var{aclname} @var{match}
1045
@findex acl_remove
1046
Remove the specified match rule from the access control list.
1047
ETEXI
1048

    
1049
    {
1050
        .name       = "acl_reset",
1051
        .args_type  = "aclname:s",
1052
        .params     = "aclname",
1053
        .help       = "reset the access control list",
1054
        .mhandler.cmd = do_acl_reset,
1055
    },
1056

    
1057
STEXI
1058
@item acl_remove @var{aclname}
1059
Remove all matches from the access control list, and set the default
1060
policy back to @code{deny}.
1061
ETEXI
1062

    
1063
#if defined(TARGET_I386)
1064

    
1065
    {
1066
        .name       = "mce",
1067
        .args_type  = "cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
1068
        .params     = "cpu bank status mcgstatus addr misc",
1069
        .help       = "inject a MCE on the given CPU",
1070
        .mhandler.cmd = do_inject_mce,
1071
    },
1072

    
1073
#endif
1074
STEXI
1075
@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
1076
@findex mce (x86)
1077
Inject an MCE on the given CPU (x86 only).
1078
ETEXI
1079

    
1080
    {
1081
        .name       = "getfd",
1082
        .args_type  = "fdname:s",
1083
        .params     = "getfd name",
1084
        .help       = "receive a file descriptor via SCM rights and assign it a name",
1085
        .user_print = monitor_user_noop,
1086
        .cmd_new_ret = do_getfd,
1087
    },
1088

    
1089
STEXI
1090
@item getfd @var{fdname}
1091
@findex getfd
1092
If a file descriptor is passed alongside this command using the SCM_RIGHTS
1093
mechanism on unix sockets, it is stored using the name @var{fdname} for
1094
later use by other monitor commands.
1095
ETEXI
1096

    
1097
    {
1098
        .name       = "closefd",
1099
        .args_type  = "fdname:s",
1100
        .params     = "closefd name",
1101
        .help       = "close a file descriptor previously passed via SCM rights",
1102
        .user_print = monitor_user_noop,
1103
        .cmd_new_ret = do_closefd,
1104
    },
1105

    
1106
STEXI
1107
@item closefd @var{fdname}
1108
@findex closefd
1109
Close the file descriptor previously assigned to @var{fdname} using the
1110
@code{getfd} command. This is only needed if the file descriptor was never
1111
used by another monitor command.
1112
ETEXI
1113

    
1114
    {
1115
        .name       = "block_passwd",
1116
        .args_type  = "device:B,password:s",
1117
        .params     = "block_passwd device password",
1118
        .help       = "set the password of encrypted block devices",
1119
        .user_print = monitor_user_noop,
1120
        .cmd_new_ret = do_block_set_passwd,
1121
    },
1122

    
1123
STEXI
1124
@item block_passwd @var{device} @var{password}
1125
@findex block_passwd
1126
Set the encrypted device @var{device} password to @var{password}
1127
ETEXI
1128

    
1129
    {
1130
        .name       = "qmp_capabilities",
1131
        .args_type  = "",
1132
        .params     = "",
1133
        .help       = "enable QMP capabilities",
1134
        .user_print = monitor_user_noop,
1135
        .cmd_new_ret = do_qmp_capabilities,
1136
    },
1137

    
1138
STEXI
1139
@item qmp_capabilities
1140
Enable the specified QMP capabilities
1141
ETEXI
1142

    
1143
STEXI
1144
@end table
1145
ETEXI