On Wednesday 22 March 2006 07:31, Chris Wright wrote: Basically it's the same thing as the buffer in printk.c except that it does input too. You could safe a lot of code by just teaching the Hypervisor about that one. Not sure it is fully practical though, > --- xen-subarch-2.6.orig/drivers/char/tty_io.c > +++ xen-subarch-2.6/drivers/char/tty_io.c > @@ -132,6 +132,8 @@ LIST_HEAD(tty_drivers); /* linked list > vt.c for deeply disgusting hack reasons */ > DECLARE_MUTEX(tty_sem); > > +int console_use_vt = 1; This doesn't have anything to do with early console. Why is it needed? Looks like a ugly hack. > +#define __RETCODE 0 What is that? > +/*** Useful function for console debugging -- goes straight to Xen. ***/ > +asmlinkage int xprintk(const char *fmt, ...) In normal Linux this is called early_printk() > +{ > + va_list args; > + int printk_len; > + static char printk_buf[1024]; Who does the locking here? -Andi