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=<INC>,<BASE_ADDRESS>,<OTHER_OPTIONS>

<INC> and <BASE_ADDRESS> are mandatory arguments:

  - <INC> is the name of the driver, see xen/arch/arm/arm{32,64}/debug-*.inc
    (where <INC> corresponds to the wildcarded *).
  - <BASE_ADDRESS> is the base physical address of the UART to use

<OTHER_OPTIONS> varies depending on <INC>:

  - 8250,<BASE_ADDRESS>,<REG_SHIFT>
    - <REG_SHIFT> is, optionally, the left-shift to apply to the
      register offsets within the uart.
  - pl011,<BASE_ADDRESS>,<BAUD_RATE>
    - <BAUD_RATE> is, optionally a baud rate which should be used to
      configure the UART at start of day.

      If <BAUD_RATE> 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.
