xen/arm: Don't use pl011 UART by default for early printk

Enterprise / Virtualization / Xen - Julien Grall [linaro.org] - 13 May 2013 06:00 UTC

Add CONFIG_EARLY_PRINTK options in configs/arm{32,64}.mk to let the user to choose if he wants to have early output, ie before the console is initialized.

This code is specific for each UART. When CONFIG_EARLY_PRINTK is enabled, Xen will only be able to run on a board with this UART.

If a developper wants to add support for a new UART, he must implement the following assembly macro/define:- EALY_UART_BASE_ADDRESS: variable which contains the physical base address for the UART- early_uart_init: initialize the UART- early_uart_ready: check and wait until the UART can transmit a new character- early_uart_transmit: transmit a character

For more details about the parameters of each function, see arm{32,64}/debug-pl011.inc comments.

53a0714 xen/arm: Don't use pl011 UART by default for early printk
docs/misc/arm/early-printk.txt | 14 ++++++++
xen/arch/arm/Makefile | 2 +-
xen/arch/arm/Rules.mk | 18 ++++++++++
xen/arch/arm/arm32/Makefile | 4 ++-
xen/arch/arm/arm32/debug-pl011.inc | 58 ++++++++++++++++++++++++++++++
xen/arch/arm/arm32/debug.S | 33 +++++++++++++++++
xen/arch/arm/arm32/head.S | 65 ++++++++++++++++-----------------
xen/arch/arm/arm64/Makefile | 2 ++
xen/arch/arm/arm64/debug-pl011.inc | 59 ++++++++++++++++++++++++++++++
xen/arch/arm/arm64/debug.S | 33 +++++++++++++++++
xen/arch/arm/arm64/head.S | 69 ++++++++++++++++--------------------
xen/arch/arm/early_printk.c | 16 +--------
xen/include/asm-arm/config.h | 2 --
xen/include/asm-arm/early_printk.h | 2 +-
14 files changed, 285 insertions(+), 92 deletions(-)

Upstream: xenbits.xen.org


  • Share