The Xen serial console cuts off the most significant bit from input
characters, so you can't use e.g. German umlauts when logging in to the
DOM0 Linux system from the serial console.
The following patch fixes that problem.
--- xen/drivers/char/serial.c.orig 2015-07-28 18:44:49.443889719 +0200
+++ xen/drivers/char/serial.c 2015-07-28 18:47:10.593728590 +0200
@@ -66,7 +66,7 @@
spin_unlock_irqrestore(&port->rx_lock, flags);
if ( fn != NULL )
- (*fn)(c & 0x7f, regs);
+ (*fn)(c, regs);
}
void serial_tx_interrupt(struct serial_port *port, struct
cpu_user_regs *regs)
@@ -297,7 +297,11 @@
} while ( ((handle & SERHND_LO) && (c & 0x80)) ||
((handle & SERHND_HI) && !(c & 0x80)) );
- return c & 0x7f;
+ if (handle & SERHND_HI)
+ {
+ c &= 0x7f;
+ }
+ return c;
}
int __init serial_parse_handle(char *conf)
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel