From c03b0f0fd86d0d8883528754b24de49b63935c7f Mon Sep 17 00:00:00 2001 From: bellard Date: Sun, 3 Sep 2006 14:10:53 +0000 Subject: [PATCH] allow disabling of serial or parallel devices (Stefan Weil) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2141 c046a42c-6fe2-441c-8c8c-71466251a162 --- qemu-doc.texi | 6 ++++++ vl.c | 18 ++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/qemu-doc.texi b/qemu-doc.texi index 3bf3b5cd9c..144381ff99 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -506,12 +506,16 @@ Redirect the virtual serial port to host character device This option can be used several times to simulate up to 4 serials ports. +Use @code{-serial none} to disable all serial ports. + Available character devices are: @table @code @item vc Virtual console @item pty [Linux only] Pseudo TTY (a new PTY is automatically allocated) +@item none +No device is allocated. @item null void device @item /dev/XXX @@ -593,6 +597,8 @@ parallel port. This option can be used several times to simulate up to 3 parallel ports. +Use @code{-parallel none} to disable all parallel ports. + @item -monitor dev Redirect the monitor to host device @var{dev} (same devices as the serial port). diff --git a/vl.c b/vl.c index 32c994366c..cdfd98c557 100644 --- a/vl.c +++ b/vl.c @@ -6850,27 +6850,29 @@ int main(int argc, char **argv) monitor_init(monitor_hd, !nographic); for(i = 0; i < MAX_SERIAL_PORTS; i++) { - if (serial_devices[i][0] != '\0') { - serial_hds[i] = qemu_chr_open(serial_devices[i]); + const char *devname = serial_devices[i]; + if (devname[0] != '\0' && strcmp(devname, "none")) { + serial_hds[i] = qemu_chr_open(devname); if (!serial_hds[i]) { fprintf(stderr, "qemu: could not open serial device '%s'\n", - serial_devices[i]); + devname); exit(1); } - if (!strcmp(serial_devices[i], "vc")) + if (!strcmp(devname, "vc")) qemu_chr_printf(serial_hds[i], "serial%d console\r\n", i); } } for(i = 0; i < MAX_PARALLEL_PORTS; i++) { - if (parallel_devices[i][0] != '\0') { - parallel_hds[i] = qemu_chr_open(parallel_devices[i]); + const char *devname = parallel_devices[i]; + if (devname[0] != '\0' && strcmp(devname, "none")) { + parallel_hds[i] = qemu_chr_open(devname); if (!parallel_hds[i]) { fprintf(stderr, "qemu: could not open parallel device '%s'\n", - parallel_devices[i]); + devname); exit(1); } - if (!strcmp(parallel_devices[i], "vc")) + if (!strcmp(devname, "vc")) qemu_chr_printf(parallel_hds[i], "parallel%d console\r\n", i); } }