|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2/4] arm/early-printk: allow skipping of UART init
While it seems obvious to initialize the UART before using it, chances
are that some firmware code or the bootloader already did this.
So it may actually be a good idea to skip the initialization, in fact
this fixes early printk on my TC2 Versatile Express.
So provide an option in xen/arch/arm/Rules.mk to only initialize the
UART when needed.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxxx>
---
xen/arch/arm/Rules.mk | 2 ++
xen/arch/arm/arm32/head.S | 2 ++
xen/arch/arm/arm64/head.S | 2 ++
3 files changed, 6 insertions(+)
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index b4d6907..fdcf73e 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -49,6 +49,7 @@ EARLY_PRINTK_BAUD := 38400
endif
ifeq ($(CONFIG_EARLY_PRINTK), exynos5250)
EARLY_PRINTK_INC := exynos4210
+EARLY_PRINTK_INIT_UART := y
EARLY_PRINTK_BAUD := 115200
endif
@@ -57,6 +58,7 @@ EARLY_PRINTK := y
endif
CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK
+CFLAGS-$(EARLY_PRINTK_INIT_UART) += -DEARLY_PRINTK_INIT_UART
CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK_INC=\"debug-$(EARLY_PRINTK_INC).inc\"
CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK_BAUD=$(EARLY_PRINTK_BAUD)
endif
diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index ec7f640..0588d54 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -369,7 +369,9 @@ fail: PRINT("- Boot failed -\r\n")
* r11: Early UART base address
* Clobbers r0-r2 */
init_uart:
+#ifdef EARLY_PRINTK_INIT_UART
early_uart_init r11, r1, r2
+#endif
adr r0, 1f
b puts /* Jump to puts */
1: .asciz "- UART enabled -\r\n"
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 8955946..21b7e4d 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -116,7 +116,9 @@ boot_cpu:
#ifdef EARLY_PRINTK
ldr x23, =EARLY_UART_BASE_ADDRESS /* x23 := UART base address */
cbnz x22, 1f
+#ifdef EARLY_PRINTK_INIT_UART
bl init_uart /* CPU 0 sets up the UART too */
+#endif
1: PRINT("- CPU ")
mov x0, x22
bl putn
--
1.7.12.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |