All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@hp.com>
To: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [PATCH] xencons missing string allocation
Date: Mon, 12 Dec 2005 15:00:51 -0700	[thread overview]
Message-ID: <1134424851.5523.9.camel@localhost> (raw)
In-Reply-To: <78ef4b0c9258d4fa7788fce3e3a5287b@cl.cam.ac.uk>

On Sat, 2005-12-10 at 23:12 +0000, Keir Fraser wrote:
> >    The index is effectively the index into the array of ttyS devices.
> > For example, ttyS[1] == ttyS1.  When I specify console=ttyS1, this 
> > value
> > gets separated into driver "ttyS", index 1 in the console data
> > structure.  The xen console driver only knows how to deal with index 0.
> > The patch I sent confines the namespace translation to one place, but I
> > think a similar change could be done in places like the open function
> > where it specifically checks for index == 0.
> 
> Should the patch then not just set the index to zero, rather than 
> conditionally subtracting xc_num?

   You're right, but it's not quite that easy.  I think we need some
consistency checking here.  The point of this function seems to be
determining if the driver owns the device.  If so, set the index and
return the driver, otherwise pass.  I think the patch below does a
better job of solving the problem.  When xc_num == c->index, the device
is the port xencons created, so the index is 0 and we claim it.  The
only slightly complicated one is when using the tty devices c->index is
zero when xc_num is 1.  I believe this does the right thing in all
cases, let me know what you think.  Thanks,

	Alex

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
---

diff -r 53cff3f88e45 linux-2.6-xen-sparse/drivers/xen/console/console.c
--- a/linux-2.6-xen-sparse/drivers/xen/console/console.c	Fri Dec  9 11:05:06 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/console/console.c	Mon Dec 12 14:30:53 2005
@@ -168,8 +168,12 @@
 
 static struct tty_driver *kcons_device(struct console *c, int *index)
 {
-	*index = c->index;
-	return xencons_driver;
+	if (c->index == xc_num ||
+	    (xc_mode == XC_TTY && xc_num == 1 && !c->index)) {
+		*index = 0;
+		return xencons_driver;
+	}
+	return NULL;
 }
 
 static struct console kcons_info = {

  reply	other threads:[~2005-12-12 22:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-09 18:37 [PATCH] xencons missing string allocation Alex Williamson
2005-12-09 18:54 ` Muli Ben-Yehuda
2005-12-09 20:37   ` Alex Williamson
2005-12-10  0:00     ` Alex Williamson
2005-12-10 15:06       ` Keir Fraser
2005-12-10 16:27         ` Alex Williamson
2005-12-10 23:12           ` Keir Fraser
2005-12-12 22:00             ` Alex Williamson [this message]
2005-12-13  1:57               ` Keir Fraser
2005-12-13 20:44                 ` Alex Williamson
2005-12-13 21:00                   ` Keir Fraser
2005-12-12  9:40 ` Tristan Gingold

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=1134424851.5523.9.camel@localhost \
    --to=alex.williamson@hp.com \
    --cc=Keir.Fraser@cl.cam.ac.uk \
    --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.