aboutsummaryrefslogtreecommitdiff
path: root/emulators/qemu/files/patch-qemu-char.c
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/qemu/files/patch-qemu-char.c')
-rw-r--r--emulators/qemu/files/patch-qemu-char.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/emulators/qemu/files/patch-qemu-char.c b/emulators/qemu/files/patch-qemu-char.c
new file mode 100644
index 000000000000..40a9b529f3b9
--- /dev/null
+++ b/emulators/qemu/files/patch-qemu-char.c
@@ -0,0 +1,19 @@
+--- qemu-char.c.orig 2015-12-16 00:54:18 UTC
++++ qemu-char.c
+@@ -1507,10 +1507,14 @@ static void tty_serial_init(int fd, int
+ cfsetospeed(&tty, spd);
+
+ tty.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP
+- |INLCR|IGNCR|ICRNL|IXON);
+- tty.c_oflag |= OPOST;
++ |INLCR|IGNCR|ICRNL|IXON|IMAXBEL);
++ tty.c_oflag &= ~OPOST; /* Don't do any output processing! */
+ tty.c_lflag &= ~(ECHO|ECHONL|ICANON|IEXTEN|ISIG);
+ tty.c_cflag &= ~(CSIZE|PARENB|PARODD|CRTSCTS|CSTOPB);
++#ifdef __FreeBSD__
++ cfmakeraw(&tty);
++#endif
++
+ switch(data_bits) {
+ default:
+ case 8: