From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bill Burns Subject: [PATCH, RFC] linux Potential clean up of console transition Date: Thu, 04 Dec 2008 17:22:05 -0500 Message-ID: <4938580D.7060806@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel List-Id: xen-devel@lists.xenproject.org When using a video monitor for the console there is an issue with the transition between Hypervisor output and dom0 output (this is at least true in 3.1.2/2.6.18 vintage systems). What happens is that the screen is full of the (XEN) messages and then the dom0 kernel starts off at the top of the screen and over prints until the screen starts to scroll. It's not all that noticeable since the output tends to be blow right past the issue. But when the "quiet" boot arg is used for the dom0 kernel it can be user space output that collides and that can pose a problem. Like when a prompt for an encrypted file system cannot be read due to the mess on the screen. Below is a crude little loop that could be used to avoid the issue by outputting newlines to push the beginning of dom0's output to the bottom of the screen. Other suggestions are welcome. Note is uses KERN_ERR since "quiet" blocks output at the default printk level. Bill --- drivers/xen/console/console.c.orig 2008-10-21 15:26:25.000000000 -0400 +++ drivers/xen/console/console.c 2008-12-04 17:23:12.000000000 -0500 @@ -192,6 +192,8 @@ static struct console kcons_info = { static int __init xen_console_init(void) { + int i; + if (!is_running_on_xen()) goto out; @@ -230,6 +232,10 @@ static int __init xen_console_init(void) register_console(&kcons_info); + if (screen_info.orig_video_mode == 3) { + for (i = 0; i < screen_info.orig_video_lines; i++) + printk(KERN_ERR "\n"); + } out: return 0; }