It would be nice to boot the exact same Linux kernel binary image on
bare hardware and as a Xen dom0 on that same hardware.  At present we
cannot do this: you stop seeing output early in the boot process.

I spent some time using OF output routines to track down the problem,
and it turns out that CONFIG_XEN_DISABLE_SERIAL=y disables all standard
serial device drivers.  So when you boot a kernel compiled with
CONFIG_XEN on bare hardware you stop seeing any output after the RTC is
probed, but the real problem occurs much later when Linux panics because
it can't open an initial console.

The below patch (not for submission) allows the same Linux kernel image to
boot as a dom0 and on bare JS20 hardware.  Note that this patch applies on
top of the "refresh xen_maple_defconfig" patch sent earlier.

The reason it is not for submission is that while it boots on bare JS21
hardware, it fails to boot as a dom0 on the same hardware.  The console
spews a lot of garbage characters and external networking never comes up.

So CONFIG_XEN_DISABLE_SERIAL probably needs turn on some intelligent
runtime probing of whether we are running on bare hardware or on Xen.
If the former, do nothing, if the latter, remove the serial devices from
the list of available consoles.  No?

--- a/arch/powerpc/configs/xen_maple_defconfig  Wed Jul 26 03:09:35 2006 -0400
+++ b/arch/powerpc/configs/xen_maple_defconfig  Wed Jul 26 03:38:22 2006 -0400
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.17
-# Tue Jul 25 20:03:15 2006
+# Tue Jul 25 20:14:28 2006
 #
 CONFIG_PPC64=y
 CONFIG_64BIT=y
@@ -704,10 +704,18 @@ CONFIG_HW_CONSOLE=y
 #
 # Serial drivers
 #
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
 
 #
 # Non-8250 serial port support
 #
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
 # CONFIG_SERIAL_ICOM is not set
 # CONFIG_SERIAL_JSM is not set
 CONFIG_UNIX98_PTYS=y
@@ -1305,7 +1313,7 @@ CONFIG_XEN_BLKDEV_FRONTEND=y
 CONFIG_XEN_BLKDEV_FRONTEND=y
 CONFIG_XEN_NETDEV_FRONTEND=y
 CONFIG_XEN_SCRUB_PAGES=y
-CONFIG_XEN_DISABLE_SERIAL=y
+# CONFIG_XEN_DISABLE_SERIAL is not set
 CONFIG_XEN_SYSFS=y
 # CONFIG_XEN_COMPAT_030002_AND_LATER is not set
 CONFIG_XEN_COMPAT_LATEST_ONLY=y

_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel

Reply via email to