[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 4 of 7] minios: fix minios console

Mick Jordan writes ("Re: [Xen-devel] [PATCH 4 of 7] minios: fix minios 
> So what does  "consistency with linux ttys" actually mean in practice? I 
> am running under Linux and am not seeing any issues without the 
> conversion. Can you cite some situation where not doing the conversion 
> would cause a problem? E.g., failing to start printing at the beginning 
> of the line. [I assume no-one is using ASR-33's any more!].

Well, it's like this: the Linux hvc driver (or its equivalent in
2.6.18 vintage kernels) gets the data after it has been processed by
the general tty layer.  In most cases (if the terminal is in the most
normal mode) this means that \n written by applications has been
already changed to \r\n.  This is because ttys are (virtual or real)
serial ports.

Thus, in current practice with non-stubdom, the data over the Xen
console ring is \r\n (and generally formatted as data you might send
over a serial port).  Thus the xen pv console is `supposed' to work
more like a virtual hardware serial line than like (say) a Unix pipe.

This is not dealt with wholly consistently by the xen-unstable
toolstack.  For example the default behaviour of xenconsoled is to
stuff the received data directly into a file; this is in some sense
wrong because arguably the file ought to be a Unix text file (that
is, a logfile) rather than a session transcript (as you might get out
of `script').

But if you were to plumb the console directly to a hardware serial
port or to another tty (eg one connected to a terminal emulator
program), this lf => crlf conversion is essential.  Without it you
will get incorrect output on whatever is displaying the stream.

Without a proper spec for all of this it's hard to say that anything
in particular is right or wrong but since the guest behaviour is
hardest to change I would suggest we declare that to be correct.  And
if we do that, then we must also say that minios should behave like
other guests and write cr-lf terminated lines, not lf-terminated ones.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.