[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 2/3] console: use warning infrastructure for sync console warning
Move the warning text to a static variable and marked that as initconst data. Call warning_add in console_init_preirq. Finally remove all unused bits. Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> --- Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- xen/drivers/char/console.c | 38 ++++++++++---------------------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c index f4f6141..6c771dc 100644 --- a/xen/drivers/char/console.c +++ b/xen/drivers/char/console.c @@ -18,7 +18,6 @@ #include <xen/serial.h> #include <xen/softirq.h> #include <xen/keyhandler.h> -#include <xen/delay.h> #include <xen/guest_access.h> #include <xen/watchdog.h> #include <xen/shutdown.h> @@ -29,6 +28,7 @@ #include <asm/div64.h> #include <xen/hypercall.h> /* for do_console_io */ #include <xen/early_printk.h> +#include <xen/warning.h> /* console: comma-separated list of console outputs. */ static char __initdata opt_console[30] = OPT_CONSOLE_STR; @@ -44,6 +44,14 @@ string_param("conswitch", opt_conswitch); /* sync_console: force synchronous console output (useful for debugging). */ static bool_t __initdata opt_sync_console; boolean_param("sync_console", opt_sync_console); +static const char __initconst *warning_sync_console = + "**********************************************\n" + "******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS\n" + "******* This option is intended to aid debugging of Xen by ensuring\n" + "******* that all output is synchronously delivered on the serial line.\n" + "******* However it can introduce SIGNIFICANT latencies and affect\n" + "******* timekeeping. It is NOT recommended for production use!\n" + "**********************************************\n"; /* console_to_ring: send guest (incl. dom 0) console data to console ring. */ static bool_t __read_mostly opt_console_to_ring; @@ -739,6 +747,7 @@ void __init console_init_preirq(void) serial_start_sync(sercon_handle); add_taint(TAINT_SYNC_CONSOLE); printk("Console output is synchronous.\n"); + warning_add(warning_sync_console); } } @@ -786,8 +795,6 @@ void __init console_init_postirq(void) void __init console_endboot(void) { - int i, j; - printk("Std. Loglevel: %s", loglvl_str(xenlog_lower_thresh)); if ( xenlog_upper_thresh != xenlog_lower_thresh ) printk(" (Rate-limited: %s)", loglvl_str(xenlog_upper_thresh)); @@ -796,31 +803,6 @@ void __init console_endboot(void) printk(" (Rate-limited: %s)", loglvl_str(xenlog_guest_upper_thresh)); printk("\n"); - if ( opt_sync_console ) - { - printk("**********************************************\n"); - printk("******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS\n"); - printk("******* This option is intended to aid debugging " - "of Xen by ensuring\n"); - printk("******* that all output is synchronously delivered " - "on the serial line.\n"); - printk("******* However it can introduce SIGNIFICANT latencies " - "and affect\n"); - printk("******* timekeeping. It is NOT recommended for " - "production use!\n"); - printk("**********************************************\n"); - for ( i = 0; i < 3; i++ ) - { - printk("%d... ", 3-i); - for ( j = 0; j < 100; j++ ) - { - process_pending_softirqs(); - mdelay(10); - } - } - printk("\n"); - } - video_endboot(); /* -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |