All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joe Bonasera <joe.bonasera@sun.com>
To: Keir Fraser <keir@xensource.com>
Cc: xen-devel@lists.xensource.com, edward.pilatowicz@sun.com
Subject: Re: better console support
Date: Thu, 25 Jan 2007 10:47:49 -0800	[thread overview]
Message-ID: <45B8FB55.1080306@sun.com> (raw)
In-Reply-To: <C1DE9DDE.83DB%keir@xensource.com>

Keir Fraser wrote:
> On 25/1/07 17:00, "Joe Bonasera" <joe.bonasera@sun.com> wrote:
> 
>> There seems to be a some confusion over properly setting
>> up what Xen and dom0 use for console devices.
>>
>> Is anybody actively working on changes in this area?
> 
> I'm not sure there's any confusion. By default Xen uses the VGA console
> until dom0 starts executing, at which point it gives it up. At that point
> Xen has no console devices. If the user overrides any settings, for example
> to give Xen com1 then we make efforts to prevent dom0 from conflicting
> (e.g., by silently disallowing its attempts to mess with com1).
> 
>  -- Keir
> 

The silently disallowing thing, as well as the vga vs. vga all the time
is what is causing Solaris users confusion.

The standard internal testing setup inside Sun that most
people run with is debug Xen and debug dom0 both
sharing either the VGA console or a single serial port console.
We also see field support of the eventual product needing the
ability to interact with both consoles on the same physical
device.  So we want to make the dom0 just handle sharing the console
as automatically as possible.

The algorithm I'm envisioning is something like:
	hyper_cons_dev = ... /* from Xen capabilites, one of
				com1, com2, vga, or vgakeep */

	dom0_cons_dev = ... /* from dom0 command line, one of
			com1, com2, vga, or hypervisor --
			where hypervisor means use the
			HYPERVISOR_console_io() calls */

then in our dom0 startup we could do something like :

	if (hyper_cons_dev is vgakeep)
		if (dom0_cons_dev is vga)
			set dom0_cons_dev = hypervisor
		endif
	else if (hyper_cons_dev is vga)
		/* should just work */
	else if (hyper_cons_dev is same as dom0_cons_dev)
		set dom0_cons_dev = hypervisor
	endif

If that's a non-issue for Linux that's ok, it could
just ignore the new capability.

Joe



	

  reply	other threads:[~2007-01-25 18:47 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1HA4sG-0007vw-5h@host-192-168-0-1-bcn-london>
2007-01-25 17:00 ` better console support Joe Bonasera
2007-01-25 17:48   ` Keir Fraser
2007-01-25 18:47     ` Joe Bonasera [this message]
2007-01-25 18:55       ` Keir Fraser
2007-01-26  0:58         ` Edward Pilatowicz
2007-01-26  9:33           ` Keir Fraser
2007-01-26 10:29             ` John Levon
2007-01-26 12:54               ` Christoph Egger
2007-01-26 13:11                 ` Keir Fraser
2007-01-26 13:50                   ` Jan Beulich
2007-01-26 13:59                     ` Keir Fraser
2007-01-26 16:01                   ` Joe Bonasera
2007-01-31 22:56                     ` Edward Pilatowicz

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=45B8FB55.1080306@sun.com \
    --to=joe.bonasera@sun.com \
    --cc=edward.pilatowicz@sun.com \
    --cc=keir@xensource.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.