|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/4] arm/early-printk: allow skipping of UART init
On 05/24/2013 11:42 AM, Andre Przywara wrote:
> 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.
I'm using the fast model: Fast Models [8.0.60 (Mar 7 2013)] and the
UART initialization is needed.
Could you do one of the following option:
1) add fastmodel early printk (with EARLY_PRINTK_INIT_UART=y)
2) document the behavior in docs/misc/arm/early-printk.txt
> 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
--
Julien
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |