mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
monitor: Command-line flag to enable control mode
This commit adds a flag called 'control' to the '-monitor' command-line option. This flag enables control mode. The syntax is: qemu [...] -monitor control,<device> Where <device> is a chardev (excluding 'vc', for obvious reasons). For example: $ qemu [...] -monitor control,tcp:localhost:4444,server Will run QEMU in control mode, waiting for a client TCP connection on localhost port 4444. NOTE: I've tried using QemuOpts for this, but turns out that it will try to parse the device part, which should be untouched. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
418173c72f
commit
adcb181afe
4 changed files with 29 additions and 6 deletions
11
vl.c
11
vl.c
|
@ -4589,6 +4589,7 @@ int main(int argc, char **argv, char **envp)
|
|||
const char *r, *optarg;
|
||||
CharDriverState *monitor_hds[MAX_MONITOR_DEVICES];
|
||||
const char *monitor_devices[MAX_MONITOR_DEVICES];
|
||||
int monitor_flags[MAX_MONITOR_DEVICES];
|
||||
int monitor_device_index;
|
||||
const char *serial_devices[MAX_SERIAL_PORTS];
|
||||
int serial_device_index;
|
||||
|
@ -4676,8 +4677,10 @@ int main(int argc, char **argv, char **envp)
|
|||
virtio_console_index = 0;
|
||||
|
||||
monitor_devices[0] = "vc:80Cx24C";
|
||||
monitor_flags[0] = MONITOR_IS_DEFAULT | MONITOR_USE_READLINE;
|
||||
for (i = 1; i < MAX_MONITOR_DEVICES; i++) {
|
||||
monitor_devices[i] = NULL;
|
||||
monitor_flags[i] = MONITOR_USE_READLINE;
|
||||
}
|
||||
monitor_device_index = 0;
|
||||
|
||||
|
@ -5098,7 +5101,9 @@ int main(int argc, char **argv, char **envp)
|
|||
fprintf(stderr, "qemu: too many monitor devices\n");
|
||||
exit(1);
|
||||
}
|
||||
monitor_devices[monitor_device_index] = optarg;
|
||||
monitor_devices[monitor_device_index] =
|
||||
monitor_cmdline_parse(optarg,
|
||||
&monitor_flags[monitor_device_index]);
|
||||
monitor_device_index++;
|
||||
break;
|
||||
case QEMU_OPTION_chardev:
|
||||
|
@ -5792,9 +5797,7 @@ int main(int argc, char **argv, char **envp)
|
|||
|
||||
for (i = 0; i < MAX_MONITOR_DEVICES; i++) {
|
||||
if (monitor_devices[i] && monitor_hds[i]) {
|
||||
monitor_init(monitor_hds[i],
|
||||
MONITOR_USE_READLINE |
|
||||
((i == 0) ? MONITOR_IS_DEFAULT : 0));
|
||||
monitor_init(monitor_hds[i], monitor_flags[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue