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

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

Xen patchbot-unstable
# HG changeset patch
# User [hidden email]
# 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 <[hidden email]>
---
 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 <[hidden email]>
-# Copyright (C) 1999 Silicon Graphics, Inc.
-# Copyright (C) Srinivasa Thirumalachar ([hidden email])
-#
-
-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
[hidden email]
http://lists.xensource.com/xen-changelog