[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] Remove use of hpsim console



# HG changeset patch
# User awilliam@xxxxxxxxxxxx
# Date 1171298936 25200
# Node ID 81c4f90695a8838967f72c28f9515d64a67370fd
# Parent  ad9bbd103034cfd566e2801cfd8d51813f1b0f95
[IA64] Remove use of hpsim console

This makes all domain boot messages come out through xencons.  Previously
the hpsim console allowed an early console via Xen.  Also, make xencons
the preferred console unless a console is explicitly provided.

Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
 linux-2.6-xen-sparse/arch/ia64/hp/sim/Makefile |   18 ---------
 linux-2.6-xen-sparse/arch/ia64/kernel/setup.c  |   49 +++++++++++++++++++------
 2 files changed, 39 insertions(+), 28 deletions(-)

diff -r ad9bbd103034 -r 81c4f90695a8 
linux-2.6-xen-sparse/arch/ia64/hp/sim/Makefile
--- a/linux-2.6-xen-sparse/arch/ia64/hp/sim/Makefile    Fri Feb 09 18:19:24 
2007 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-#
-# ia64/platform/hp/sim/Makefile
-#
-# Copyright (C) 2002 Hewlett-Packard Co.
-#      David Mosberger-Tang <davidm@xxxxxxxxxx>
-# Copyright (C) 1999 Silicon Graphics, Inc.
-# Copyright (C) Srinivasa Thirumalachar (sprasad@xxxxxxxxxxxx)
-#
-
-obj-y := hpsim_irq.o hpsim_setup.o hpsim.o
-obj-$(CONFIG_IA64_GENERIC) += hpsim_machvec.o
-
-obj-$(CONFIG_HP_SIMETH)        += simeth.o
-obj-$(CONFIG_HP_SIMSERIAL) += simserial.o
-obj-$(CONFIG_HP_SIMSERIAL_CONSOLE) += hpsim_console.o
-obj-$(CONFIG_HP_SIMSCSI) += simscsi.o
-obj-$(CONFIG_XEN) += simserial.o
-obj-$(CONFIG_XEN) += hpsim_console.o
diff -r ad9bbd103034 -r 81c4f90695a8 
linux-2.6-xen-sparse/arch/ia64/kernel/setup.c
--- a/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c     Fri Feb 09 18:19:24 
2007 +0000
+++ b/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c     Mon Feb 12 09:48:56 
2007 -0700
@@ -375,16 +375,6 @@ early_console_setup (char *cmdline)
 {
        int earlycons = 0;
 
-#ifdef CONFIG_XEN
-#ifndef CONFIG_IA64_HP_SIM
-       if (is_running_on_xen()) {
-               extern struct console hpsim_cons;
-               hpsim_cons.flags |= CON_BOOT;
-               register_console(&hpsim_cons);
-               earlycons++;
-       }
-#endif
-#endif
 #ifdef CONFIG_SERIAL_SGI_L1_CONSOLE
        {
                extern int sn_serial_console_early_setup(void);
@@ -557,6 +547,45 @@ setup_arch (char **cmdline_p)
 #if !defined(CONFIG_VT) || !defined(CONFIG_DUMMY_CONSOLE)
                        conswitchp = NULL;
 #endif
+               }
+               
+               /*
+                * If a console= is NOT specified, we assume using the
+                * xencons console is desired.  By default, this is ttyS0
+                * for dom0 and tty0 for domU.
+                */
+               if (!strstr(*cmdline_p, "console=")) {
+                       char *p, *q, name[5];
+                       int offset = 0;
+
+                       if (is_initial_xendomain())
+                               strncpy(name, "ttyS", 4);
+                       else
+                               strncpy(name, "tty", 3);
+
+                       p = strstr(*cmdline_p, "xencons=");
+
+                       if (p) {
+                               p += 8;
+                               if (!strncmp(p, "ttyS", 4)) {
+                                       strncpy(name, p, 4);
+                                       p += 4;
+                                       offset = simple_strtol(p, &q, 10);
+                                       if (p == q)
+                                               offset = 0;
+                               } else if (!strncmp(p, "tty", 3) ||
+                                          !strncmp(p, "xvc", 3)) {
+                                       strncpy(name, p, 3);
+                                       p += 3;
+                                       offset = simple_strtol(p, &q, 10);
+                                       if (p == q)
+                                               offset = 0;
+                               } else if (!strncmp(p, "off", 3))
+                                       offset = -1;
+                       }
+
+                       if (offset >= 0)
+                               add_preferred_console(name, offset, NULL);
                }
        }
        xencons_early_setup();

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.