If specified, z/VM IUCV HVC accepts connections
                               from listed z/VM user IDs only.
 
+       keep_bootcon    [KNL]
+                       Do not unregister boot console at start. This is only
+                       useful for debugging when something happens in the window
+                       between unregistering the boot console and initializing
+                       the real console.
+
        i2c_bus=        [HW] Override the default board specific I2C bus speed
                             or register an additional I2C bus that is not
                             registered from board initialization code.
 
 }
 EXPORT_SYMBOL(console_start);
 
+static int __read_mostly keep_bootcon;
+
+static int __init keep_bootcon_setup(char *str)
+{
+       keep_bootcon = 1;
+       printk(KERN_INFO "debug: skip boot console de-registration.\n");
+
+       return 0;
+}
+
+early_param("keep_bootcon", keep_bootcon_setup);
+
 /*
  * The console driver calls this routine during kernel initialization
  * to register the console printing procedure with printk() and to
         * users know there might be something in the kernel's log buffer that
         * went to the bootconsole (that they do not see on the real console)
         */
-       if (bcon && ((newcon->flags & (CON_CONSDEV | CON_BOOT)) == CON_CONSDEV)) {
+       if (bcon &&
+           ((newcon->flags & (CON_CONSDEV | CON_BOOT)) == CON_CONSDEV) &&
+           !keep_bootcon) {
                /* we need to iterate through twice, to make sure we print
                 * everything out, before we unregister the console(s)
                 */