diff options
Diffstat (limited to 'gitlab/issues_text/target_missing/host_missing/accel_missing/2307')
| -rw-r--r-- | gitlab/issues_text/target_missing/host_missing/accel_missing/2307 | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/gitlab/issues_text/target_missing/host_missing/accel_missing/2307 b/gitlab/issues_text/target_missing/host_missing/accel_missing/2307 deleted file mode 100644 index 6c52d7fed..000000000 --- a/gitlab/issues_text/target_missing/host_missing/accel_missing/2307 +++ /dev/null @@ -1,39 +0,0 @@ -QEMU Windows COM port filenames not recognized i.e. \\.\COM19 or \\.\CNCA0 -Steps to reproduce: -1. Run qemu-system-arm with the comand line above. -2. QEMU fails with `qemu-system-arm.exe: -gdb \\.\CNCA8: '\\.\CNCA8' is not a valid char driver` -3. ```qemu-system-arm.exe -machine mps2-an500 -gdb \\.\COM19 -qemu-system-arm.exe: -gdb \\.\COM19: '\\.\COM19' is not a valid char driver -``` -Additional information: -Windows allows COM ports numbered 10 and higher to be prefixed with a `\\.\` escape as in `\\.\COM17`. Such COM port assignments are not uncommon when a plurality of USB serial adapters. -Equally problematic are virtual COM port designations such as `\\.\CNCA8` created by the Windows 10x64 driver package known as `com0com`: https://pete.akeo.ie/2011/07/com0com-signed-drivers.html - -Upon checking the source pulled from the Github mirror an initial fix was to simply modify /chardev/char.c, but this appears insufficient. Sadly. - -Please ask if more information is required. I am actively working on extending an existing QEMU machine emulation. A patch to fix this problem is below. Please comment if applicable. - -Jerry. - -``` -diff --git a/chardev/char.c b/chardev/char.c -index 3c43fb1278..7a3f342c72 100644 ---- a/chardev/char.c -+++ b/chardev/char.c -@@ -418,6 +418,13 @@ QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename, - qemu_opt_set(opts, "path", filename, &error_abort); - return opts; - } -+ // JME -+ if (strstart(filename, "\\\\.\\", NULL)) { -+ qemu_opt_set(opts, "backend", "serial", &error_abort); -+ qemu_opt_set(opts, "path", filename, &error_abort); -+ return opts; -+ } -+ - if (strstart(filename, "file:", &p)) { - qemu_opt_set(opts, "backend", "file", &error_abort); - qemu_opt_set(opts, "path", p, &error_abort); - -``` -/label ~"kind::Bug" |