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

[Xen-changelog] Add a manual 'sync_console' boot parameter that forces synchronous



ChangeSet 1.1671, 2005/06/04 18:45:49+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx

        Add a manual 'sync_console' boot parameter that forces synchronous
        console output. May be useful for systems that crash unexpectedly
        and lose the last chunk of console output.
        Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>



 docs/src/user.tex          |    7 +++++++
 xen/drivers/char/console.c |   14 ++++++++++++--
 2 files changed, 19 insertions(+), 2 deletions(-)


diff -Nru a/docs/src/user.tex b/docs/src/user.tex
--- a/docs/src/user.tex 2005-06-04 14:02:45 -04:00
+++ b/docs/src/user.tex 2005-06-04 14:02:45 -04:00
@@ -1729,6 +1729,13 @@
  transmitted/received character.
  [NB. Default for this option is `com1,vga'] 
 
+\item [sync\_console ]
+ Force synchronous console output. This is useful if you system fails
+ unexpectedly before it has sent all available output to the
+ console. In most cases Xen will automatically enter synchronous mode
+ when an exceptional event occurs, but this option provides a manual
+ fallback.
+
 \item [conswitch=$<$switch-char$><$auto-switch-char$>$ ] 
  Specify how to switch serial-console input between
  Xen and DOM0. The required sequence is CTRL-$<$switch-char$>$
diff -Nru a/xen/drivers/char/console.c b/xen/drivers/char/console.c
--- a/xen/drivers/char/console.c        2005-06-04 14:02:45 -04:00
+++ b/xen/drivers/char/console.c        2005-06-04 14:02:45 -04:00
@@ -24,17 +24,21 @@
 #include <asm/debugger.h>
 #include <asm/io.h>
 
-/* opt_console: comma-separated list of console outputs. */
+/* console: comma-separated list of console outputs. */
 static char opt_console[30] = OPT_CONSOLE_STR;
 string_param("console", opt_console);
 
-/* opt_conswitch: a character pair controlling console switching. */
+/* conswitch: a character pair controlling console switching. */
 /* Char 1: CTRL+<char1> is used to switch console input between Xen and DOM0 */
 /* Char 2: If this character is 'x', then do not auto-switch to DOM0 when it */
 /*         boots. Any other value, or omitting the char, enables auto-switch */
 static unsigned char opt_conswitch[5] = "a";
 string_param("conswitch", opt_conswitch);
 
+/* sync_console: force synchronous console output (useful for debugging). */
+static int opt_sync_console;
+boolean_param("sync_console", opt_sync_console);
+
 static int xpos, ypos;
 static unsigned char *video;
 
@@ -437,6 +441,12 @@
            XEN_COMPILER, XEN_COMPILE_DATE);
     printk(" Latest ChangeSet: %s\n\n", XEN_CHANGESET);
     set_printk_prefix("(XEN) ");
+
+    if ( opt_sync_console )
+    {
+        serial_start_sync(sercon_handle);
+        printk("Console output is synchronous.\n");
+    }
 }
 
 void console_endboot(int disable_vga)

_______________________________________________
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®.