Statistics
| Branch: | Revision:

root / qemu-monitor.hx @ 12381085

History | View | Annotate | Download (27.6 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
Show the help for all commands or just for command @var{cmd}.
23
ETEXI
24

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

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

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

    
47
STEXI
48
@item info @var{subcommand}
49
Show various information about the system state.
50

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

    
117
    {
118
        .name       = "q|quit",
119
        .args_type  = "",
120
        .params     = "",
121
        .help       = "quit the emulator",
122
        .user_print = monitor_user_noop,
123
        .mhandler.cmd_new = do_quit,
124
    },
125

    
126
STEXI
127
@item q or quit
128
Quit the emulator.
129
ETEXI
130

    
131
    {
132
        .name       = "eject",
133
        .args_type  = "force:-f,device:B",
134
        .params     = "[-f] device",
135
        .help       = "eject a removable medium (use -f to force it)",
136
        .user_print = monitor_user_noop,
137
        .mhandler.cmd_new = do_eject,
138
    },
139

    
140
STEXI
141
@item eject [-f] @var{device}
142
Eject a removable medium (use -f to force it).
143
ETEXI
144

    
145
    {
146
        .name       = "change",
147
        .args_type  = "device:B,target:F,arg:s?",
148
        .params     = "device filename [format]",
149
        .help       = "change a removable medium, optional format",
150
        .user_print = monitor_user_noop,
151
        .mhandler.cmd_new = do_change,
152
    },
153

    
154
STEXI
155
@item change @var{device} @var{setting}
156

    
157
Change the configuration of a device.
158

    
159
@table @option
160
@item change @var{diskdevice} @var{filename} [@var{format}]
161
Change the medium for a removable disk device to point to @var{filename}. eg
162

    
163
@example
164
(qemu) change ide1-cd0 /path/to/some.iso
165
@end example
166

    
167
@var{format} is optional.
168

    
169
@item change vnc @var{display},@var{options}
170
Change the configuration of the VNC server. The valid syntax for @var{display}
171
and @var{options} are described at @ref{sec_invocation}. eg
172

    
173
@example
174
(qemu) change vnc localhost:1
175
@end example
176

    
177
@item change vnc password [@var{password}]
178

    
179
Change the password associated with the VNC server. If the new password is not
180
supplied, the monitor will prompt for it to be entered. VNC passwords are only
181
significant up to 8 letters. eg
182

    
183
@example
184
(qemu) change vnc password
185
Password: ********
186
@end example
187

    
188
@end table
189
ETEXI
190

    
191
    {
192
        .name       = "screendump",
193
        .args_type  = "filename:F",
194
        .params     = "filename",
195
        .help       = "save screen into PPM image 'filename'",
196
        .mhandler.cmd = do_screen_dump,
197
    },
198

    
199
STEXI
200
@item screendump @var{filename}
201
Save screen into PPM image @var{filename}.
202
ETEXI
203

    
204
    {
205
        .name       = "logfile",
206
        .args_type  = "filename:F",
207
        .params     = "filename",
208
        .help       = "output logs to 'filename'",
209
        .mhandler.cmd = do_logfile,
210
    },
211

    
212
STEXI
213
@item logfile @var{filename}
214
Output logs to @var{filename}.
215
ETEXI
216

    
217
    {
218
        .name       = "log",
219
        .args_type  = "items:s",
220
        .params     = "item1[,...]",
221
        .help       = "activate logging of the specified items to '/tmp/qemu.log'",
222
        .mhandler.cmd = do_log,
223
    },
224

    
225
STEXI
226
@item log @var{item1}[,...]
227
Activate logging of the specified items to @file{/tmp/qemu.log}.
228
ETEXI
229

    
230
    {
231
        .name       = "savevm",
232
        .args_type  = "name:s?",
233
        .params     = "[tag|id]",
234
        .help       = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
235
        .mhandler.cmd = do_savevm,
236
    },
237

    
238
STEXI
239
@item savevm [@var{tag}|@var{id}]
240
Create a snapshot of the whole virtual machine. If @var{tag} is
241
provided, it is used as human readable identifier. If there is already
242
a snapshot with the same tag or ID, it is replaced. More info at
243
@ref{vm_snapshots}.
244
ETEXI
245

    
246
    {
247
        .name       = "loadvm",
248
        .args_type  = "name:s",
249
        .params     = "tag|id",
250
        .help       = "restore a VM snapshot from its tag or id",
251
        .mhandler.cmd = do_loadvm,
252
    },
253

    
254
STEXI
255
@item loadvm @var{tag}|@var{id}
256
Set the whole virtual machine to the snapshot identified by the tag
257
@var{tag} or the unique snapshot ID @var{id}.
258
ETEXI
259

    
260
    {
261
        .name       = "delvm",
262
        .args_type  = "name:s",
263
        .params     = "tag|id",
264
        .help       = "delete a VM snapshot from its tag or id",
265
        .mhandler.cmd = do_delvm,
266
    },
267

    
268
STEXI
269
@item delvm @var{tag}|@var{id}
270
Delete the snapshot identified by @var{tag} or @var{id}.
271
ETEXI
272

    
273
    {
274
        .name       = "singlestep",
275
        .args_type  = "option:s?",
276
        .params     = "[on|off]",
277
        .help       = "run emulation in singlestep mode or switch to normal mode",
278
        .mhandler.cmd = do_singlestep,
279
    },
280

    
281
STEXI
282
@item singlestep [off]
283
Run the emulation in single step mode.
284
If called with option off, the emulation returns to normal mode.
285
ETEXI
286

    
287
    {
288
        .name       = "stop",
289
        .args_type  = "",
290
        .params     = "",
291
        .help       = "stop emulation",
292
        .user_print = monitor_user_noop,
293
        .mhandler.cmd_new = do_stop,
294
    },
295

    
296
STEXI
297
@item stop
298
Stop emulation.
299
ETEXI
300

    
301
    {
302
        .name       = "c|cont",
303
        .args_type  = "",
304
        .params     = "",
305
        .help       = "resume emulation",
306
        .user_print = monitor_user_noop,
307
        .mhandler.cmd_new = do_cont,
308
    },
309

    
310
STEXI
311
@item c or cont
312
Resume emulation.
313
ETEXI
314

    
315
    {
316
        .name       = "gdbserver",
317
        .args_type  = "device:s?",
318
        .params     = "[device]",
319
        .help       = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
320
        .mhandler.cmd = do_gdbserver,
321
    },
322

    
323
STEXI
324
@item gdbserver [@var{port}]
325
Start gdbserver session (default @var{port}=1234)
326
ETEXI
327

    
328
    {
329
        .name       = "x",
330
        .args_type  = "fmt:/,addr:l",
331
        .params     = "/fmt addr",
332
        .help       = "virtual memory dump starting at 'addr'",
333
        .mhandler.cmd = do_memory_dump,
334
    },
335

    
336
STEXI
337
@item x/fmt @var{addr}
338
Virtual memory dump starting at @var{addr}.
339
ETEXI
340

    
341
    {
342
        .name       = "xp",
343
        .args_type  = "fmt:/,addr:l",
344
        .params     = "/fmt addr",
345
        .help       = "physical memory dump starting at 'addr'",
346
        .mhandler.cmd = do_physical_memory_dump,
347
    },
348

    
349
STEXI
350
@item xp /@var{fmt} @var{addr}
351
Physical memory dump starting at @var{addr}.
352

    
353
@var{fmt} is a format which tells the command how to format the
354
data. Its syntax is: @option{/@{count@}@{format@}@{size@}}
355

    
356
@table @var
357
@item count
358
is the number of items to be dumped.
359

    
360
@item format
361
can be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
362
c (char) or i (asm instruction).
363

    
364
@item size
365
can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
366
@code{h} or @code{w} can be specified with the @code{i} format to
367
respectively select 16 or 32 bit code instruction size.
368

    
369
@end table
370

    
371
Examples:
372
@itemize
373
@item
374
Dump 10 instructions at the current instruction pointer:
375
@example
376
(qemu) x/10i $eip
377
0x90107063:  ret
378
0x90107064:  sti
379
0x90107065:  lea    0x0(%esi,1),%esi
380
0x90107069:  lea    0x0(%edi,1),%edi
381
0x90107070:  ret
382
0x90107071:  jmp    0x90107080
383
0x90107073:  nop
384
0x90107074:  nop
385
0x90107075:  nop
386
0x90107076:  nop
387
@end example
388

    
389
@item
390
Dump 80 16 bit values at the start of the video memory.
391
@smallexample
392
(qemu) xp/80hx 0xb8000
393
0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
394
0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
395
0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
396
0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
397
0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
398
0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
399
0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
400
0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
401
0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
402
0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
403
@end smallexample
404
@end itemize
405
ETEXI
406

    
407
    {
408
        .name       = "p|print",
409
        .args_type  = "fmt:/,val:l",
410
        .params     = "/fmt expr",
411
        .help       = "print expression value (use $reg for CPU register access)",
412
        .mhandler.cmd = do_print,
413
    },
414

    
415
STEXI
416
@item p or print/@var{fmt} @var{expr}
417

    
418
Print expression value. Only the @var{format} part of @var{fmt} is
419
used.
420
ETEXI
421

    
422
    {
423
        .name       = "i",
424
        .args_type  = "fmt:/,addr:i,index:i.",
425
        .params     = "/fmt addr",
426
        .help       = "I/O port read",
427
        .mhandler.cmd = do_ioport_read,
428
    },
429

    
430
STEXI
431
Read I/O port.
432
ETEXI
433

    
434
    {
435
        .name       = "o",
436
        .args_type  = "fmt:/,addr:i,val:i",
437
        .params     = "/fmt addr value",
438
        .help       = "I/O port write",
439
        .mhandler.cmd = do_ioport_write,
440
    },
441

    
442
STEXI
443
Write to I/O port.
444
ETEXI
445

    
446
    {
447
        .name       = "sendkey",
448
        .args_type  = "string:s,hold_time:i?",
449
        .params     = "keys [hold_ms]",
450
        .help       = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
451
        .mhandler.cmd = do_sendkey,
452
    },
453

    
454
STEXI
455
@item sendkey @var{keys}
456

    
457
Send @var{keys} to the emulator. @var{keys} could be the name of the
458
key or @code{#} followed by the raw value in either decimal or hexadecimal
459
format. Use @code{-} to press several keys simultaneously. Example:
460
@example
461
sendkey ctrl-alt-f1
462
@end example
463

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

    
468
    {
469
        .name       = "system_reset",
470
        .args_type  = "",
471
        .params     = "",
472
        .help       = "reset the system",
473
        .user_print = monitor_user_noop,
474
        .mhandler.cmd_new = do_system_reset,
475
    },
476

    
477
STEXI
478
@item system_reset
479

    
480
Reset the system.
481
ETEXI
482

    
483
    {
484
        .name       = "system_powerdown",
485
        .args_type  = "",
486
        .params     = "",
487
        .help       = "send system power down event",
488
        .user_print = monitor_user_noop,
489
        .mhandler.cmd_new = do_system_powerdown,
490
    },
491

    
492
STEXI
493
@item system_powerdown
494

    
495
Power down the system (if supported).
496
ETEXI
497

    
498
    {
499
        .name       = "sum",
500
        .args_type  = "start:i,size:i",
501
        .params     = "addr size",
502
        .help       = "compute the checksum of a memory region",
503
        .mhandler.cmd = do_sum,
504
    },
505

    
506
STEXI
507
@item sum @var{addr} @var{size}
508

    
509
Compute the checksum of a memory region.
510
ETEXI
511

    
512
    {
513
        .name       = "usb_add",
514
        .args_type  = "devname:s",
515
        .params     = "device",
516
        .help       = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
517
        .mhandler.cmd = do_usb_add,
518
    },
519

    
520
STEXI
521
@item usb_add @var{devname}
522

    
523
Add the USB device @var{devname}.  For details of available devices see
524
@ref{usb_devices}
525
ETEXI
526

    
527
    {
528
        .name       = "usb_del",
529
        .args_type  = "devname:s",
530
        .params     = "device",
531
        .help       = "remove USB device 'bus.addr'",
532
        .mhandler.cmd = do_usb_del,
533
    },
534

    
535
STEXI
536
@item usb_del @var{devname}
537

    
538
Remove the USB device @var{devname} from the QEMU virtual USB
539
hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
540
command @code{info usb} to see the devices you can remove.
541
ETEXI
542

    
543
    {
544
        .name       = "device_add",
545
        .args_type  = "config:s",
546
        .params     = "device",
547
        .help       = "add device, like -device on the command line",
548
        .mhandler.cmd = do_device_add,
549
    },
550

    
551
STEXI
552
@item device_add @var{config}
553

    
554
Add device.
555
ETEXI
556

    
557
    {
558
        .name       = "device_del",
559
        .args_type  = "id:s",
560
        .params     = "device",
561
        .help       = "remove device",
562
        .mhandler.cmd = do_device_del,
563
    },
564

    
565
STEXI
566
@item device_del @var{id}
567

    
568
Remove device @var{id}.
569
ETEXI
570

    
571
    {
572
        .name       = "cpu",
573
        .args_type  = "index:i",
574
        .params     = "index",
575
        .help       = "set the default CPU",
576
        .mhandler.cmd = do_cpu_set,
577
    },
578

    
579
STEXI
580
Set the default CPU.
581
ETEXI
582

    
583
    {
584
        .name       = "mouse_move",
585
        .args_type  = "dx_str:s,dy_str:s,dz_str:s?",
586
        .params     = "dx dy [dz]",
587
        .help       = "send mouse move events",
588
        .mhandler.cmd = do_mouse_move,
589
    },
590

    
591
STEXI
592
@item mouse_move @var{dx} @var{dy} [@var{dz}]
593
Move the active mouse to the specified coordinates @var{dx} @var{dy}
594
with optional scroll axis @var{dz}.
595
ETEXI
596

    
597
    {
598
        .name       = "mouse_button",
599
        .args_type  = "button_state:i",
600
        .params     = "state",
601
        .help       = "change mouse button state (1=L, 2=M, 4=R)",
602
        .mhandler.cmd = do_mouse_button,
603
    },
604

    
605
STEXI
606
@item mouse_button @var{val}
607
Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
608
ETEXI
609

    
610
    {
611
        .name       = "mouse_set",
612
        .args_type  = "index:i",
613
        .params     = "index",
614
        .help       = "set which mouse device receives events",
615
        .mhandler.cmd = do_mouse_set,
616
    },
617

    
618
STEXI
619
@item mouse_set @var{index}
620
Set which mouse device receives events at given @var{index}, index
621
can be obtained with
622
@example
623
info mice
624
@end example
625
ETEXI
626

    
627
#ifdef HAS_AUDIO
628
    {
629
        .name       = "wavcapture",
630
        .args_type  = "path:F,freq:i?,bits:i?,nchannels:i?",
631
        .params     = "path [frequency [bits [channels]]]",
632
        .help       = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
633
        .mhandler.cmd = do_wav_capture,
634
    },
635
#endif
636
STEXI
637
@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
638
Capture audio into @var{filename}. Using sample rate @var{frequency}
639
bits per sample @var{bits} and number of channels @var{channels}.
640

    
641
Defaults:
642
@itemize @minus
643
@item Sample rate = 44100 Hz - CD quality
644
@item Bits = 16
645
@item Number of channels = 2 - Stereo
646
@end itemize
647
ETEXI
648

    
649
#ifdef HAS_AUDIO
650
    {
651
        .name       = "stopcapture",
652
        .args_type  = "n:i",
653
        .params     = "capture index",
654
        .help       = "stop capture",
655
        .mhandler.cmd = do_stop_capture,
656
    },
657
#endif
658
STEXI
659
@item stopcapture @var{index}
660
Stop capture with a given @var{index}, index can be obtained with
661
@example
662
info capture
663
@end example
664
ETEXI
665

    
666
    {
667
        .name       = "memsave",
668
        .args_type  = "val:l,size:i,filename:s",
669
        .params     = "addr size file",
670
        .help       = "save to disk virtual memory dump starting at 'addr' of size 'size'",
671
        .user_print = monitor_user_noop,
672
        .mhandler.cmd_new = do_memory_save,
673
    },
674

    
675
STEXI
676
@item memsave @var{addr} @var{size} @var{file}
677
save to disk virtual memory dump starting at @var{addr} of size @var{size}.
678
ETEXI
679

    
680
    {
681
        .name       = "pmemsave",
682
        .args_type  = "val:l,size:i,filename:s",
683
        .params     = "addr size file",
684
        .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",
685
        .user_print = monitor_user_noop,
686
        .mhandler.cmd_new = do_physical_memory_save,
687
    },
688

    
689
STEXI
690
@item pmemsave @var{addr} @var{size} @var{file}
691
save to disk physical memory dump starting at @var{addr} of size @var{size}.
692
ETEXI
693

    
694
    {
695
        .name       = "boot_set",
696
        .args_type  = "bootdevice:s",
697
        .params     = "bootdevice",
698
        .help       = "define new values for the boot device list",
699
        .mhandler.cmd = do_boot_set,
700
    },
701

    
702
STEXI
703
@item boot_set @var{bootdevicelist}
704

    
705
Define new values for the boot device list. Those values will override
706
the values specified on the command line through the @code{-boot} option.
707

    
708
The values that can be specified here depend on the machine type, but are
709
the same that can be specified in the @code{-boot} command line option.
710
ETEXI
711

    
712
#if defined(TARGET_I386)
713
    {
714
        .name       = "nmi",
715
        .args_type  = "cpu_index:i",
716
        .params     = "cpu",
717
        .help       = "inject an NMI on the given CPU",
718
        .mhandler.cmd = do_inject_nmi,
719
    },
720
#endif
721
STEXI
722
@item nmi @var{cpu}
723
Inject an NMI on the given CPU (x86 only).
724
ETEXI
725

    
726
    {
727
        .name       = "migrate",
728
        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
729
        .params     = "[-d] [-b] [-i] uri",
730
        .help       = "migrate to URI (using -d to not wait for completion)"
731
		      "\n\t\t\t -b for migration without shared storage with"
732
		      " full copy of disk\n\t\t\t -i for migration without "
733
		      "shared storage with incremental copy of disk "
734
		      "(base image shared between src and destination)",
735
        .user_print = monitor_user_noop,	
736
	.mhandler.cmd_new = do_migrate,
737
    },
738

    
739

    
740
STEXI
741
@item migrate [-d] [-b] [-i] @var{uri}
742
Migrate to @var{uri} (using -d to not wait for completion).
743
	-b for migration with full copy of disk
744
	-i for migration with incremental copy of disk (base image is shared)
745
ETEXI
746

    
747
    {
748
        .name       = "migrate_cancel",
749
        .args_type  = "",
750
        .params     = "",
751
        .help       = "cancel the current VM migration",
752
        .user_print = monitor_user_noop,
753
        .mhandler.cmd_new = do_migrate_cancel,
754
    },
755

    
756
STEXI
757
@item migrate_cancel
758
Cancel the current VM migration.
759
ETEXI
760

    
761
    {
762
        .name       = "migrate_set_speed",
763
        .args_type  = "value:s",
764
        .params     = "value",
765
        .help       = "set maximum speed (in bytes) for migrations",
766
        .mhandler.cmd = do_migrate_set_speed,
767
    },
768

    
769
STEXI
770
@item migrate_set_speed @var{value}
771
Set maximum speed to @var{value} (in bytes) for migrations.
772
ETEXI
773

    
774
    {
775
        .name       = "migrate_set_downtime",
776
        .args_type  = "value:s",
777
        .params     = "value",
778
        .help       = "set maximum tolerated downtime (in seconds) for migrations",
779
        .mhandler.cmd = do_migrate_set_downtime,
780
    },
781

    
782
STEXI
783
@item migrate_set_downtime @var{second}
784
Set maximum tolerated downtime (in seconds) for migration.
785
ETEXI
786

    
787
#if defined(TARGET_I386)
788
    {
789
        .name       = "drive_add",
790
        .args_type  = "pci_addr:s,opts:s",
791
        .params     = "[[<domain>:]<bus>:]<slot>\n"
792
                      "[file=file][,if=type][,bus=n]\n"
793
                      "[,unit=m][,media=d][index=i]\n"
794
                      "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
795
                      "[snapshot=on|off][,cache=on|off]",
796
        .help       = "add drive to PCI storage controller",
797
        .mhandler.cmd = drive_hot_add,
798
    },
799
#endif
800

    
801
STEXI
802
@item drive_add
803
Add drive to PCI storage controller.
804
ETEXI
805

    
806
#if defined(TARGET_I386)
807
    {
808
        .name       = "pci_add",
809
        .args_type  = "pci_addr:s,type:s,opts:s?",
810
        .params     = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
811
        .help       = "hot-add PCI device",
812
        .user_print = pci_device_hot_add_print,
813
        .mhandler.cmd_new = pci_device_hot_add,
814
    },
815
#endif
816

    
817
STEXI
818
@item pci_add
819
Hot-add PCI device.
820
ETEXI
821

    
822
#if defined(TARGET_I386)
823
    {
824
        .name       = "pci_del",
825
        .args_type  = "pci_addr:s",
826
        .params     = "[[<domain>:]<bus>:]<slot>",
827
        .help       = "hot remove PCI device",
828
        .user_print = monitor_user_noop,
829
        .mhandler.cmd_new = do_pci_device_hot_remove,
830
    },
831
#endif
832

    
833
STEXI
834
@item pci_del
835
Hot remove PCI device.
836
ETEXI
837

    
838
    {
839
        .name       = "host_net_add",
840
        .args_type  = "device:s,opts:s?",
841
        .params     = "tap|user|socket|vde|dump [options]",
842
        .help       = "add host VLAN client",
843
        .mhandler.cmd = net_host_device_add,
844
    },
845

    
846
STEXI
847
@item host_net_add
848
Add host VLAN client.
849
ETEXI
850

    
851
    {
852
        .name       = "host_net_remove",
853
        .args_type  = "vlan_id:i,device:s",
854
        .params     = "vlan_id name",
855
        .help       = "remove host VLAN client",
856
        .mhandler.cmd = net_host_device_remove,
857
    },
858

    
859
STEXI
860
@item host_net_remove
861
Remove host VLAN client.
862
ETEXI
863

    
864
#ifdef CONFIG_SLIRP
865
    {
866
        .name       = "hostfwd_add",
867
        .args_type  = "arg1:s,arg2:s?,arg3:s?",
868
        .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
869
        .help       = "redirect TCP or UDP connections from host to guest (requires -net user)",
870
        .mhandler.cmd = net_slirp_hostfwd_add,
871
    },
872

    
873
    {
874
        .name       = "hostfwd_remove",
875
        .args_type  = "arg1:s,arg2:s?,arg3:s?",
876
        .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
877
        .help       = "remove host-to-guest TCP or UDP redirection",
878
        .mhandler.cmd = net_slirp_hostfwd_remove,
879
    },
880

    
881
#endif
882
STEXI
883
@item host_net_redir
884
Redirect TCP or UDP connections from host to guest (requires -net user).
885
ETEXI
886

    
887
    {
888
        .name       = "balloon",
889
        .args_type  = "value:M",
890
        .params     = "target",
891
        .help       = "request VM to change it's memory allocation (in MB)",
892
        .user_print = monitor_user_noop,
893
        .mhandler.cmd_new = do_balloon,
894
    },
895

    
896
STEXI
897
@item balloon @var{value}
898
Request VM to change its memory allocation to @var{value} (in MB).
899
ETEXI
900

    
901
    {
902
        .name       = "set_link",
903
        .args_type  = "name:s,up_or_down:s",
904
        .params     = "name up|down",
905
        .help       = "change the link status of a network adapter",
906
        .mhandler.cmd = do_set_link,
907
    },
908

    
909
STEXI
910
@item set_link @var{name} [up|down]
911
Set link @var{name} up or down.
912
ETEXI
913

    
914
    {
915
        .name       = "watchdog_action",
916
        .args_type  = "action:s",
917
        .params     = "[reset|shutdown|poweroff|pause|debug|none]",
918
        .help       = "change watchdog action",
919
        .mhandler.cmd = do_watchdog_action,
920
    },
921

    
922
STEXI
923
@item watchdog_action
924
Change watchdog action.
925
ETEXI
926

    
927
    {
928
        .name       = "acl_show",
929
        .args_type  = "aclname:s",
930
        .params     = "aclname",
931
        .help       = "list rules in the access control list",
932
        .mhandler.cmd = do_acl_show,
933
    },
934

    
935
STEXI
936
@item acl_show @var{aclname}
937
List all the matching rules in the access control list, and the default
938
policy. There are currently two named access control lists,
939
@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
940
certificate distinguished name, and SASL username respectively.
941
ETEXI
942

    
943
    {
944
        .name       = "acl_policy",
945
        .args_type  = "aclname:s,policy:s",
946
        .params     = "aclname allow|deny",
947
        .help       = "set default access control list policy",
948
        .mhandler.cmd = do_acl_policy,
949
    },
950

    
951
STEXI
952
@item acl_policy @var{aclname} @code{allow|deny}
953
Set the default access control list policy, used in the event that
954
none of the explicit rules match. The default policy at startup is
955
always @code{deny}.
956
ETEXI
957

    
958
    {
959
        .name       = "acl_add",
960
        .args_type  = "aclname:s,match:s,policy:s,index:i?",
961
        .params     = "aclname match allow|deny [index]",
962
        .help       = "add a match rule to the access control list",
963
        .mhandler.cmd = do_acl_add,
964
    },
965

    
966
STEXI
967
@item acl_allow @var{aclname} @var{match} @code{allow|deny} [@var{index}]
968
Add a match rule to the access control list, allowing or denying access.
969
The match will normally be an exact username or x509 distinguished name,
970
but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
971
allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
972
normally be appended to the end of the ACL, but can be inserted
973
earlier in the list if the optional @var{index} parameter is supplied.
974
ETEXI
975

    
976
    {
977
        .name       = "acl_remove",
978
        .args_type  = "aclname:s,match:s",
979
        .params     = "aclname match",
980
        .help       = "remove a match rule from the access control list",
981
        .mhandler.cmd = do_acl_remove,
982
    },
983

    
984
STEXI
985
@item acl_remove @var{aclname} @var{match}
986
Remove the specified match rule from the access control list.
987
ETEXI
988

    
989
    {
990
        .name       = "acl_reset",
991
        .args_type  = "aclname:s",
992
        .params     = "aclname",
993
        .help       = "reset the access control list",
994
        .mhandler.cmd = do_acl_reset,
995
    },
996

    
997
STEXI
998
@item acl_remove @var{aclname} @var{match}
999
Remove all matches from the access control list, and set the default
1000
policy back to @code{deny}.
1001
ETEXI
1002

    
1003
#if defined(TARGET_I386)
1004

    
1005
    {
1006
        .name       = "mce",
1007
        .args_type  = "cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
1008
        .params     = "cpu bank status mcgstatus addr misc",
1009
        .help       = "inject a MCE on the given CPU",
1010
        .mhandler.cmd = do_inject_mce,
1011
    },
1012

    
1013
#endif
1014
STEXI
1015
@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
1016
Inject an MCE on the given CPU (x86 only).
1017
ETEXI
1018

    
1019
    {
1020
        .name       = "getfd",
1021
        .args_type  = "fdname:s",
1022
        .params     = "getfd name",
1023
        .help       = "receive a file descriptor via SCM rights and assign it a name",
1024
        .user_print = monitor_user_noop,
1025
        .mhandler.cmd_new = do_getfd,
1026
    },
1027

    
1028
STEXI
1029
@item getfd @var{fdname}
1030
If a file descriptor is passed alongside this command using the SCM_RIGHTS
1031
mechanism on unix sockets, it is stored using the name @var{fdname} for
1032
later use by other monitor commands.
1033
ETEXI
1034

    
1035
    {
1036
        .name       = "closefd",
1037
        .args_type  = "fdname:s",
1038
        .params     = "closefd name",
1039
        .help       = "close a file descriptor previously passed via SCM rights",
1040
        .user_print = monitor_user_noop,
1041
        .mhandler.cmd_new = do_closefd,
1042
    },
1043

    
1044
STEXI
1045
@item closefd @var{fdname}
1046
Close the file descriptor previously assigned to @var{fdname} using the
1047
@code{getfd} command. This is only needed if the file descriptor was never
1048
used by another monitor command.
1049
ETEXI
1050

    
1051
    {
1052
        .name       = "block_passwd",
1053
        .args_type  = "device:B,password:s",
1054
        .params     = "block_passwd device password",
1055
        .help       = "set the password of encrypted block devices",
1056
        .user_print = monitor_user_noop,
1057
        .mhandler.cmd_new = do_block_set_passwd,
1058
    },
1059

    
1060
STEXI
1061
@item block_passwd @var{device} @var{password}
1062
Set the encrypted device @var{device} password to @var{password}
1063
ETEXI
1064

    
1065
STEXI
1066
@end table
1067
ETEXI