How to enable early printk Early printk can only be enabled if debug=y. You may want to enable it if you are debbuging code that executes before the console is initialized. Note that selecting this option will limit Xen to a single UART definition. Attempting to boot Xen image on a different platform *will not work*, so this option should not be enable for Xens that are intended to be portable. CONFIG_EARLY_PRINTK=,, and are mandatory arguments: - is the name of the driver, see xen/arch/arm/arm{32,64}/debug-*.inc (where corresponds to the wildcarded *). - is the base physical address of the UART to use varies depending on : - 8250,, - is, optionally, the left-shift to apply to the register offsets within the uart. - pl011,, - is, optionally a baud rate which should be used to configure the UART at start of day. If is not given then the code will not try to initialize the UART, so that bootloader or firmware settings can be used for maximum compatibility. - For all other uarts there are no additional options. As a convenience it is also possible to select from a list of predefined configurations using CONFIG_EARLY_PRINTK=mach where mach is the name of the machine: - brcm: printk with 8250 on Broadcom 7445D0 boards with A15 processors. - dra7: printk with 8250 on DRA7 platform - exynos5250: printk with the second UART - fastmodel: printk on ARM Fastmodel software emulators - juno: printk with pl011 on Juno platform - lager: printk with SCIF0 on Renesas R-Car H2 processors - midway: printk with the pl011 on Calxeda Midway processors - omap5432: printk with UART3 on TI OMAP5432 processors - seattle: printk with pl011 for AMD Seattle processor - sun6i: printk with 8250 on Allwinner A31 processors - sun7i: printk with 8250 on Allwinner A20 processors - thunderx: printk with pl011 for Cavium ThunderX processor - vexpress: printk with pl011 for versatile express - xgene-mcdivitt: printk with 820 on Xgene mcdivitt platform - xgene-storm: printk with 820 on Xgene storm platform - zynqmp: printk with Cadence UART for Xilinx ZynqMP SoCs These settings are is hardcoded in xen/arch/arm/Rules.mk, see there when adding support for new machines. By default early printk is disabled.