diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2009-09-14 19:30:16 +0200 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2009-09-14 19:34:12 +0200 |
commit | 55338f1dd4648d78ee130d83a92f1059ff1f3887 (patch) | |
tree | 65ad20dee7b0bec5cd066041810c626b514a6e0a | |
parent | 7b270ef2a3f1429b3a97aab4f5a3332da61591b9 (diff) | |
download | qemu-55338f1dd4648d78ee130d83a92f1059ff1f3887.zip qemu-55338f1dd4648d78ee130d83a92f1059ff1f3887.tar.gz qemu-55338f1dd4648d78ee130d83a92f1059ff1f3887.tar.bz2 |
Open chr device for all serial ports
Now that labels must be unique, the chr devices can't be opened anymore
within the serial port code (in case they are not already opened in
vl.c), as they end up with the same label. Instead opened so
non-assigned one directly in vl.c, with a different label.
This make MIPS Malta board emulation working again.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-rw-r--r-- | vl.c | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -5688,15 +5688,17 @@ int main(int argc, char **argv, char **envp) for(i = 0; i < MAX_SERIAL_PORTS; i++) { const char *devname = serial_devices[i]; + char label[32]; + snprintf(label, sizeof(label), "serial%d", i); if (devname && strcmp(devname, "none")) { - char label[32]; - snprintf(label, sizeof(label), "serial%d", i); serial_hds[i] = qemu_chr_open(label, devname, NULL); - if (!serial_hds[i]) { - fprintf(stderr, "qemu: could not open serial device '%s'\n", - devname); - exit(1); - } + } else { + serial_hds[i] = qemu_chr_open(label, "null", NULL); + } + if (!serial_hds[i]) { + fprintf(stderr, "qemu: could not open serial device '%s'\n", + devname); + exit(1); } } |