|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [PATCH] mini-os: Remove \r\n conversion when writing to PV serial port
On 11/05/17 17:26, Wei Liu wrote: On Wed, May 10, 2017 at 11:33:23PM +0100, Simon Waterman wrote:This change removes \n to \r\n conversion when writing to a PV serial port so that binary protocols carried over the port are not corrupted. The change enables new use-cases for example connectivity from the Windows Kernel Debugger to a guest via it's IOEMU stubdom. Signed-off-by: Simon Waterman <watermansrdev@xxxxxxxxx> --- Main use case is Windows kernel debugging but some peripherals using serial comms don't like the conversion either. The CRNL conversion is done by the guest in the IOEMU stubdom case so no staircases. In fact you get CRCRNL without the patch. The staircase would happen if you call write() within minios itself but in the IOEMU stubdom case this is dumped into the QEMU log file where it doesn't matter. Another unikernel with a proper console would be broken though and I hadn't thought of that. Makes sense now why the code was there in the first place. I still think it would be nice for IOEMU stubdoms and mini-os based unikernels in general to support raw IO on the serial ports. Perhaps I could add limited termios support to mini-os allowing the user of the console to switch CRNL processing on and off (using ONLCR). Qemu would be changed to turn this off in the stubdom case - assuming what the guest sends is what should appear on the backend. It could be used by another unikernel that wants a raw serial port too. console/console.c | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/console/console.c b/console/console.c index 5538bd4..de94ad6 100644 --- a/console/console.c +++ b/console/console.c @@ -82,10 +82,6 @@ void xencons_tx(void)void console_print(struct consfront_dev *dev, char *data, int length) _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/cgi-bin/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |