From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Ian Campbell <Ian.Campbell@eu.citrix.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
Tim Deegan <tim@xen.org>
Subject: Re: console: introduce console=none option
Date: Thu, 26 Jan 2012 16:33:32 +0000 [thread overview]
Message-ID: <4F21805C.9060801@citrix.com> (raw)
In-Reply-To: <4F2186B4020000780006F429@nat28.tlf.novell.com>
On 26/01/12 16:00, Jan Beulich wrote:
>>>> On 26.01.12 at 15:58, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 26/01/12 14:41, Jan Beulich wrote:
>>>>>> On 26.01.12 at 13:19, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>>> XenServer by default boots without a serial console (buggy hardware
>>>> reasons) and dom0 displays a splash screen. Unfortunately, having Xen
>>>> writing to the vga text area looks ugly whilst dom0 is trying to set up
>>>> non-text mode and display the splash screen.
>>>>
>>>> We have been using "console=" to prevent this behavior for a while, but
>>>> presented herewith is a patch to fix the problem correctly.
>>> While I don't mind the patch, I'm completely confused by the description:
>>> Where is it that Xen writes to VGA text area after control was passed to
>>> Dom0?
>>>
>>> Jan
>> I have not debugged it that much as I was looking for a clean solution
>> to our current hack of "console=" (and I have some rather more serious
>> deadlock bugs to debug), but it all Xen printk's are going into the VGA
>> text area, even after dom0 has started. It is possible that Xen is
>> still writing into the text area after dom0 has switched VGA mode, but I
>> have no proof of this one way or the other.
> Just take a look at vga_endboot() - the output routine gets pointed to
> vga_noop_puts() unless vgacon_keep. Beyond that point nothing
> can possibly get printed to the VGA text screen, or if it does, then I'd
> suspect there's some other change in XenServer that makes it so.
>
> Jan
I have just been debugging this, and found that it got up to my debug
message of switching back to vga_noop_puts().
I know that this was called before dom0 started booting, but that it
appeared as if it was being written while dom0 was booting
It turns out that the problem is that after vesa_endboot zeros the
linear framebuffer, it does not call lfb_flush(), meaning that an sfence
does not occur, and presumably the actual linear framebuffer still has
Xen console text in it when dom0 takes over and sets it up.
Hacking an sfence into vesa_endboot() fixes the issue completely.
I shall roll a patch using lfb_flush() and post it shortly.
--
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com
prev parent reply other threads:[~2012-01-26 16:33 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-26 12:19 console: introduce console=none option Andrew Cooper
2012-01-26 14:41 ` Jan Beulich
2012-01-26 14:58 ` Andrew Cooper
2012-01-26 16:00 ` Jan Beulich
2012-01-26 16:08 ` Tim Deegan
2012-01-26 16:09 ` Ian Campbell
2012-01-26 16:33 ` Andrew Cooper [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F21805C.9060801@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=Ian.Campbell@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).