* End:
*/
-const char *monitor_cmdline_parse(const char *cmdline, int *flags)
-{
- const char *dev;
-
- if (strstart(cmdline, "control,", &dev)) {
- if (strstart(dev, "vc", NULL)) {
- fprintf(stderr, "qemu: control mode is for low-level interaction ");
- fprintf(stderr, "cannot be used with device 'vc'\n");
- exit(1);
- }
- *flags &= ~MONITOR_USE_READLINE;
- *flags |= MONITOR_USE_CONTROL;
- return dev;
- }
-
- return cmdline;
-}
-
void monitor_init(CharDriverState *chr, int flags)
{
static int is_first_init = 1;
} MonitorEvent;
void monitor_protocol_event(MonitorEvent event, QObject *data);
-const char *monitor_cmdline_parse(const char *cmdline, int *flags);
void monitor_init(CharDriverState *chr, int flags);
int monitor_suspend(Monitor *mon);
ETEXI
DEF("monitor", HAS_ARG, QEMU_OPTION_monitor, \
- "-monitor [control,]dev redirect the monitor to char device 'dev'\n")
+ "-monitor dev redirect the monitor to char device 'dev'\n")
STEXI
-@item -monitor [@var{control},]@var{dev}
+@item -monitor @var{dev}
Redirect the monitor to host device @var{dev} (same devices as the
serial port).
The default device is @code{vc} in graphical mode and @code{stdio} in
non graphical mode.
-The option @var{control} enables the QEMU Monitor Protocol.
ETEXI
DEF("pidfile", HAS_ARG, QEMU_OPTION_pidfile, \
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;
#endif
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;
fprintf(stderr, "qemu: too many monitor devices\n");
exit(1);
}
- monitor_devices[monitor_device_index] =
- monitor_cmdline_parse(optarg,
- &monitor_flags[monitor_device_index]);
+ monitor_devices[monitor_device_index] = optarg;
monitor_device_index++;
break;
case QEMU_OPTION_chardev:
for (i = 0; i < MAX_MONITOR_DEVICES; i++) {
if (monitor_devices[i] && monitor_hds[i]) {
- monitor_init(monitor_hds[i], monitor_flags[i]);
+ monitor_init(monitor_hds[i],
+ MONITOR_USE_READLINE |
+ ((i == 0) ? MONITOR_IS_DEFAULT : 0));
}
}