diff --git a/Makefile b/Makefile index d2e7b58..471cf59 100644 --- a/Makefile +++ b/Makefile @@ -647,7 +647,6 @@ $(eval $(call assert_boolean,GICV2_G0_FOR_EL3)) $(eval $(call assert_boolean,HANDLE_EA_EL3_FIRST)) $(eval $(call assert_boolean,HW_ASSISTED_COHERENCY)) -$(eval $(call assert_boolean,MULTI_CONSOLE_API)) $(eval $(call assert_boolean,NS_TIMER_SWITCH)) $(eval $(call assert_boolean,OVERRIDE_LIBC)) $(eval $(call assert_boolean,PL011_GENERIC_UART)) @@ -702,7 +701,6 @@ $(eval $(call add_define,HANDLE_EA_EL3_FIRST)) $(eval $(call add_define,HW_ASSISTED_COHERENCY)) $(eval $(call add_define,LOG_LEVEL)) -$(eval $(call add_define,MULTI_CONSOLE_API)) $(eval $(call add_define,NS_TIMER_SWITCH)) $(eval $(call add_define,PL011_GENERIC_UART)) $(eval $(call add_define,PLAT_${PLAT})) diff --git a/drivers/arm/pl011/aarch32/pl011_console.S b/drivers/arm/pl011/aarch32/pl011_console.S index a85a937..e1e346c 100644 --- a/drivers/arm/pl011/aarch32/pl011_console.S +++ b/drivers/arm/pl011/aarch32/pl011_console.S @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2016-2019, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -9,14 +9,6 @@ #include #include -#if !MULTI_CONSOLE_API -/* - * Pull in generic functions to provide backwards compatibility for - * platform makefiles - */ -#include "../../../console/aarch32/console.S" -#endif - /* * "core" functions are low-level implementations that don't require * writeable memory and are thus safe to call in BL1 crash context. @@ -94,7 +86,6 @@ bx lr endfunc console_pl011_core_init -#if MULTI_CONSOLE_API .globl console_pl011_register /* ------------------------------------------------------- @@ -130,16 +121,6 @@ register_fail: pop {r4, pc} endfunc console_pl011_register -#else - .globl console_core_init - .globl console_core_putc - .globl console_core_getc - .globl console_core_flush - .equ console_core_init, console_pl011_core_init - .equ console_core_putc, console_pl011_core_putc - .equ console_core_getc, console_pl011_core_getc - .equ console_core_flush, console_pl011_core_flush -#endif /* -------------------------------------------------------- * int console_core_putc(int c, uintptr_t base_addr) diff --git a/drivers/arm/pl011/aarch64/pl011_console.S b/drivers/arm/pl011/aarch64/pl011_console.S index 52f2503..04de99f 100644 --- a/drivers/arm/pl011/aarch64/pl011_console.S +++ b/drivers/arm/pl011/aarch64/pl011_console.S @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -9,14 +9,6 @@ #include #include -#if !MULTI_CONSOLE_API -/* - * Pull in generic functions to provide backwards compatibility for - * platform makefiles - */ -#include "../../../console/aarch64/console.S" -#endif - /* * "core" functions are low-level implementations that don't require * writable memory and are thus safe to call in BL1 crash context. @@ -83,7 +75,6 @@ ret endfunc console_pl011_core_init -#if MULTI_CONSOLE_API .globl console_pl011_register /* ----------------------------------------------- @@ -117,16 +108,6 @@ register_fail: ret x7 endfunc console_pl011_register -#else - .globl console_core_init - .globl console_core_putc - .globl console_core_getc - .globl console_core_flush - .equ console_core_init,console_pl011_core_init - .equ console_core_putc,console_pl011_core_putc - .equ console_core_getc,console_pl011_core_getc - .equ console_core_flush,console_pl011_core_flush -#endif /* -------------------------------------------------------- * int console_pl011_core_putc(int c, uintptr_t base_addr) diff --git a/drivers/cadence/uart/aarch64/cdns_console.S b/drivers/cadence/uart/aarch64/cdns_console.S index 8b38379..ecd0c47 100644 --- a/drivers/cadence/uart/aarch64/cdns_console.S +++ b/drivers/cadence/uart/aarch64/cdns_console.S @@ -51,7 +51,6 @@ ret endfunc console_cdns_core_init -#if MULTI_CONSOLE_API .globl console_cdns_register /* ----------------------------------------------- @@ -85,16 +84,6 @@ register_fail: ret x7 endfunc console_cdns_register -#else - .globl console_core_init - .globl console_core_putc - .globl console_core_getc - .globl console_core_flush - .equ console_core_init,console_cdns_core_init - .equ console_core_putc,console_cdns_core_putc - .equ console_core_getc,console_cdns_core_getc - .equ console_core_flush,console_cdns_core_flush -#endif /* -------------------------------------------------------- * int console_cdns_core_putc(int c, uintptr_t base_addr) diff --git a/drivers/console/aarch32/console.S b/drivers/console/aarch32/console.S deleted file mode 100644 index 1c38094..0000000 --- a/drivers/console/aarch32/console.S +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - - #if MULTI_CONSOLE_API - #if ERROR_DEPRECATED - #error "console.S is deprecated, platforms should no longer link it explicitly" - #endif - #else - #include "deprecated_console.S" - #endif diff --git a/drivers/console/aarch32/deprecated_console.S b/drivers/console/aarch32/deprecated_console.S deleted file mode 100644 index f7e3c4f..0000000 --- a/drivers/console/aarch32/deprecated_console.S +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ -#include - -/* - * This is the common console core code for the deprecated single-console API. - * New platforms should set MULTI_CONSOLE_API=1 and not use this file. - */ -#warning "Using deprecated console implementation. Please migrate to MULTI_CONSOLE_API" - - .globl console_init - .globl console_uninit - .globl console_putc - .globl console_getc - .globl console_flush - - /* - * The console base is in the data section and not in .bss - * even though it is zero-init. In particular, this allows - * the console functions to start using this variable before - * the runtime memory is initialized for images which do not - * need to copy the .data section from ROM to RAM. - */ -.section .data.console_base ; .align 2 - console_base: .word 0x0 - - /* ----------------------------------------------- - * int console_init(uintptr_t base_addr, - * unsigned int uart_clk, unsigned int baud_rate) - * Function to initialize the console without a - * C Runtime to print debug information. It saves - * the console base to the data section. - * In: r0 - console base address - * r1 - Uart clock in Hz - * r2 - Baud rate - * out: return 1 on success else 0 on error - * Clobber list : r1 - r3 - * ----------------------------------------------- - */ -func console_init - /* Check the input base address */ - cmp r0, #0 - beq init_fail - ldr r3, =console_base - str r0, [r3] - b console_core_init -init_fail: - bx lr -endfunc console_init - - /* ----------------------------------------------- - * void console_uninit(void) - * Function to finish the use of console driver. - * It sets the console_base as NULL so that any - * further invocation of `console_putc` or - * `console_getc` APIs would return error. - * ----------------------------------------------- - */ -func console_uninit - mov r0, #0 - ldr r3, =console_base - str r0, [r3] - bx lr -endfunc console_uninit - - /* --------------------------------------------- - * int console_putc(int c) - * Function to output a character over the - * console. It returns the character printed on - * success or -1 on error. - * In : r0 - character to be printed - * Out : return -1 on error else return character. - * Clobber list : r1, r2 - * --------------------------------------------- - */ -func console_putc - ldr r2, =console_base - ldr r1, [r2] - b console_core_putc -endfunc console_putc - - /* --------------------------------------------- - * int console_getc(void) - * Function to get a character from the console. - * It returns the character grabbed on success - * or -1 on error. - * Clobber list : r0, r1 - * --------------------------------------------- - */ -func console_getc - ldr r1, =console_base - ldr r0, [r1] - b console_core_getc -endfunc console_getc - - /* --------------------------------------------- - * int console_flush(void) - * Function to force a write of all buffered - * data that hasn't been output. It returns 0 - * upon successful completion, otherwise it - * returns -1. - * Clobber list : r0, r1 - * --------------------------------------------- - */ -func console_flush - ldr r1, =console_base - ldr r0, [r1] - b console_core_flush -endfunc console_flush diff --git a/drivers/console/aarch64/console.S b/drivers/console/aarch64/console.S deleted file mode 100644 index 669b31a..0000000 --- a/drivers/console/aarch64/console.S +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#if MULTI_CONSOLE_API -#if ERROR_DEPRECATED -#error "console.S is deprecated, platforms should no longer link it explicitly" -#endif -#else -#include "deprecated_console.S" -#endif diff --git a/drivers/console/aarch64/deprecated_console.S b/drivers/console/aarch64/deprecated_console.S deleted file mode 100644 index d6ecc4d..0000000 --- a/drivers/console/aarch64/deprecated_console.S +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ -#include - -/* - * This is the common console core code for the deprecated single-console API. - * New platforms should set MULTI_CONSOLE_API=1 and not use this file. - */ -#warning "Using deprecated console implementation. Please migrate to MULTI_CONSOLE_API" - - .globl console_init - .globl console_uninit - .globl console_putc - .globl console_getc - .globl console_flush - - /* - * The console base is in the data section and not in .bss - * even though it is zero-init. In particular, this allows - * the console functions to start using this variable before - * the runtime memory is initialized for images which do not - * need to copy the .data section from ROM to RAM. - */ -.section .data.console_base ; .align 3 - console_base: .quad 0x0 - - /* ----------------------------------------------- - * int console_init(uintptr_t base_addr, - * unsigned int uart_clk, unsigned int baud_rate) - * Function to initialize the console without a - * C Runtime to print debug information. It saves - * the console base to the data section. - * In: x0 - console base address - * w1 - Uart clock in Hz - * w2 - Baud rate - * out: return 1 on success else 0 on error - * Clobber list : x1 - x4 - * ----------------------------------------------- - */ -func console_init - /* Check the input base address */ - cbz x0, init_fail - adrp x3, console_base - str x0, [x3, :lo12:console_base] - b console_core_init -init_fail: - ret -endfunc console_init - - /* ----------------------------------------------- - * void console_uninit(void) - * Function to finish the use of console driver. - * It sets the console_base as NULL so that any - * further invocation of `console_putc` or - * `console_getc` APIs would return error. - * ----------------------------------------------- - */ -func console_uninit - mov x0, #0 - adrp x3, console_base - str x0, [x3, :lo12:console_base] - ret -endfunc console_uninit - - /* --------------------------------------------- - * int console_putc(int c) - * Function to output a character over the - * console. It returns the character printed on - * success or -1 on error. - * In : x0 - character to be printed - * Out : return -1 on error else return character. - * Clobber list : x1, x2 - * --------------------------------------------- - */ -func console_putc - adrp x2, console_base - ldr x1, [x2, :lo12:console_base] - b console_core_putc -endfunc console_putc - - /* --------------------------------------------- - * int console_getc(void) - * Function to get a character from the console. - * It returns the character grabbed on success - * or -1 on error. - * Clobber list : x0, x1 - * --------------------------------------------- - */ -func console_getc - adrp x1, console_base - ldr x0, [x1, :lo12:console_base] - b console_core_getc -endfunc console_getc - - /* --------------------------------------------- - * int console_flush(void) - * Function to force a write of all buffered - * data that hasn't been output. It returns 0 - * upon successful completion, otherwise it - * returns -1. - * Clobber list : x0, x1 - * --------------------------------------------- - */ -func console_flush - adrp x1, console_base - ldr x0, [x1, :lo12:console_base] - b console_core_flush -endfunc console_flush diff --git a/drivers/console/aarch64/skeleton_console.S b/drivers/console/aarch64/skeleton_console.S index 1ba2196..c695dde 100644 --- a/drivers/console/aarch64/skeleton_console.S +++ b/drivers/console/aarch64/skeleton_console.S @@ -22,8 +22,6 @@ * any function may always clobber the intra-procedure-call registers * X16 and X17, but may never depend on them retaining their values * across any function call.) - * Platforms using drivers based on this template need to enable - * MULTI_CONSOLE_API := 1 in their platform.mk. */ .globl console_xxx_register diff --git a/drivers/console/multi_console.c b/drivers/console/multi_console.c index 1ec81c3..d9eba7f 100644 --- a/drivers/console/multi_console.c +++ b/drivers/console/multi_console.c @@ -4,8 +4,6 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#if MULTI_CONSOLE_API - #include #include @@ -121,5 +119,3 @@ return err; } - -#endif /* MULTI_CONSOLE_API */ diff --git a/drivers/ti/uart/aarch64/16550_console.S b/drivers/ti/uart/aarch64/16550_console.S index 55db503..dab46e8 100644 --- a/drivers/ti/uart/aarch64/16550_console.S +++ b/drivers/ti/uart/aarch64/16550_console.S @@ -83,7 +83,6 @@ ret endfunc console_16550_core_init -#if MULTI_CONSOLE_API .globl console_16550_register /* ----------------------------------------------- @@ -117,16 +116,6 @@ register_fail: ret x7 endfunc console_16550_register -#else - .globl console_core_init - .globl console_core_putc - .globl console_core_getc - .globl console_core_flush - .equ console_core_init,console_16550_core_init - .equ console_core_putc,console_16550_core_putc - .equ console_core_getc,console_16550_core_getc - .equ console_core_flush,console_16550_core_flush -#endif /* -------------------------------------------------------- * int console_16550_core_putc(int c, uintptr_t base_addr) diff --git a/include/drivers/console.h b/include/drivers/console.h index 4f26cce..f31de95 100644 --- a/include/drivers/console.h +++ b/include/drivers/console.h @@ -75,13 +75,6 @@ /* Flush all consoles registered for the current state. */ int console_flush(void); -#if !MULTI_CONSOLE_API -/* REMOVED on AArch64 -- use console__register() instead! */ -int console_init(uintptr_t base_addr, - unsigned int uart_clk, unsigned int baud_rate); -void console_uninit(void); -#endif - #endif /* __ASSEMBLY__ */ #endif /* CONSOLE_H */ diff --git a/make_helpers/defaults.mk b/make_helpers/defaults.mk index 6becf80..f63e46f 100644 --- a/make_helpers/defaults.mk +++ b/make_helpers/defaults.mk @@ -136,10 +136,6 @@ # Set the default algorithm for the generation of Trusted Board Boot keys KEY_ALG := rsa -# Enable use of the console API allowing multiple consoles to be registered -# at the same time. -MULTI_CONSOLE_API := 0 - # NS timer register save and restore NS_TIMER_SWITCH := 0 diff --git a/plat/allwinner/common/allwinner-common.mk b/plat/allwinner/common/allwinner-common.mk index 585079b..6866bd6 100644 --- a/plat/allwinner/common/allwinner-common.mk +++ b/plat/allwinner/common/allwinner-common.mk @@ -49,8 +49,6 @@ ERRATA_A53_843419 := 1 ERRATA_A53_855873 := 1 -MULTI_CONSOLE_API := 1 - # The reset vector can be changed for each CPU. PROGRAMMABLE_RESET_ADDRESS := 1 diff --git a/plat/arm/board/fvp_ve/platform.mk b/plat/arm/board/fvp_ve/platform.mk index f9ced2c..f85452d 100644 --- a/plat/arm/board/fvp_ve/platform.mk +++ b/plat/arm/board/fvp_ve/platform.mk @@ -106,8 +106,6 @@ $(eval $(call assert_boolean,ARM_XLAT_TABLES_LIB_V1)) $(eval $(call add_define,ARM_XLAT_TABLES_LIB_V1)) -MULTI_CONSOLE_API := 1 - ifeq (${ARM_XLAT_TABLES_LIB_V1}, 1) # Only use nonlpae version of xlatv1 otherwise use xlat v2 PLAT_BL_COMMON_SOURCES += lib/xlat_tables/${ARCH}/nonlpae_tables.c diff --git a/plat/arm/common/arm_bl31_setup.c b/plat/arm/common/arm_bl31_setup.c index 8e1a263..ab90f46 100644 --- a/plat/arm/common/arm_bl31_setup.c +++ b/plat/arm/common/arm_bl31_setup.c @@ -240,11 +240,7 @@ ******************************************************************************/ void arm_bl31_plat_runtime_setup(void) { -#if MULTI_CONSOLE_API console_switch_state(CONSOLE_FLAG_RUNTIME); -#else - console_uninit(); -#endif /* Initialize the runtime console */ arm_console_runtime_init(); diff --git a/plat/arm/common/arm_common.mk b/plat/arm/common/arm_common.mk index c3d9e03..10b6e51 100644 --- a/plat/arm/common/arm_common.mk +++ b/plat/arm/common/arm_common.mk @@ -125,9 +125,6 @@ # mapping the former as executable and the latter as execute-never. SEPARATE_CODE_AND_RODATA := 1 -# Use the multi console API, which is only available for AArch64 for now -MULTI_CONSOLE_API := 1 - # Disable ARM Cryptocell by default ARM_CRYPTOCELL_INTEG := 0 $(eval $(call assert_boolean,ARM_CRYPTOCELL_INTEG)) diff --git a/plat/arm/common/arm_console.c b/plat/arm/common/arm_console.c index 580b2ee..123811d 100644 --- a/plat/arm/common/arm_console.c +++ b/plat/arm/common/arm_console.c @@ -16,15 +16,12 @@ /******************************************************************************* * Functions that set up the console ******************************************************************************/ -#if MULTI_CONSOLE_API static console_pl011_t arm_boot_console; static console_pl011_t arm_runtime_console; -#endif /* Initialize the console to provide early debug support */ void __init arm_console_boot_init(void) { -#if MULTI_CONSOLE_API int rc = console_pl011_register(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ, ARM_CONSOLE_BAUDRATE, @@ -39,28 +36,17 @@ } console_set_scope(&arm_boot_console.console, CONSOLE_FLAG_BOOT); -#else - (void)console_init(PLAT_ARM_BOOT_UART_BASE, - PLAT_ARM_BOOT_UART_CLK_IN_HZ, - ARM_CONSOLE_BAUDRATE); -#endif /* MULTI_CONSOLE_API */ } void arm_console_boot_end(void) { (void)console_flush(); - -#if MULTI_CONSOLE_API (void)console_unregister(&arm_boot_console.console); -#else - console_uninit(); -#endif /* MULTI_CONSOLE_API */ } /* Initialize the runtime console */ void arm_console_runtime_init(void) { -#if MULTI_CONSOLE_API int rc = console_pl011_register(PLAT_ARM_RUN_UART_BASE, PLAT_ARM_RUN_UART_CLK_IN_HZ, ARM_CONSOLE_BAUDRATE, @@ -69,18 +55,9 @@ panic(); console_set_scope(&arm_runtime_console.console, CONSOLE_FLAG_RUNTIME); -#else - (void)console_init(PLAT_ARM_RUN_UART_BASE, - PLAT_ARM_RUN_UART_CLK_IN_HZ, - ARM_CONSOLE_BAUDRATE); -#endif /* MULTI_CONSOLE_API */ } void arm_console_runtime_end(void) { (void)console_flush(); - -#if !MULTI_CONSOLE_API - console_uninit(); -#endif /* !MULTI_CONSOLE_API */ } diff --git a/plat/arm/common/tsp/arm_tsp_setup.c b/plat/arm/common/tsp/arm_tsp_setup.c index a3dfa1e..aefdf89 100644 --- a/plat/arm/common/tsp/arm_tsp_setup.c +++ b/plat/arm/common/tsp/arm_tsp_setup.c @@ -28,13 +28,10 @@ /******************************************************************************* * Initialize the UART ******************************************************************************/ -#if MULTI_CONSOLE_API static console_pl011_t arm_tsp_runtime_console; -#endif void arm_tsp_early_platform_setup(void) { -#if MULTI_CONSOLE_API /* * Initialize a different console than already in use to display * messages from TSP @@ -48,10 +45,6 @@ console_set_scope(&arm_tsp_runtime_console.console, CONSOLE_FLAG_BOOT | CONSOLE_FLAG_RUNTIME); -#else - console_init(PLAT_ARM_TSP_UART_BASE, PLAT_ARM_TSP_UART_CLK_IN_HZ, - ARM_CONSOLE_BAUDRATE); -#endif /* MULTI_CONSOLE_API */ } void tsp_early_platform_setup(void) diff --git a/plat/common/aarch32/crash_console_helpers.S b/plat/common/aarch32/crash_console_helpers.S index c9ad12c..ea04f56 100644 --- a/plat/common/aarch32/crash_console_helpers.S +++ b/plat/common/aarch32/crash_console_helpers.S @@ -16,8 +16,6 @@ .globl plat_crash_console_putc .globl plat_crash_console_flush -#if MULTI_CONSOLE_API - /* ----------------------------------------------------- * int plat_crash_console_init(void) * Use normal console by default. Switch it to crash @@ -68,25 +66,3 @@ func plat_crash_console_flush b console_flush endfunc plat_crash_console_flush - -#else /* MULTI_CONSOLE_API */ - - /* ----------------------------------------------------- - * In the old API these are all no-op stubs that need to - * be overridden by the platform to be useful. - * ----------------------------------------------------- - */ -func plat_crash_console_init - mov r0, #0 - bx lr -endfunc plat_crash_console_init - -func plat_crash_console_putc - bx lr -endfunc plat_crash_console_putc - -func plat_crash_console_flush - bx lr -endfunc plat_crash_console_flush - -#endif diff --git a/plat/common/aarch32/plat_sp_min_common.c b/plat/common/aarch32/plat_sp_min_common.c index 3bc84b1..9493587 100644 --- a/plat/common/aarch32/plat_sp_min_common.c +++ b/plat/common/aarch32/plat_sp_min_common.c @@ -21,9 +21,5 @@ * Finish the use of console driver in SP_MIN so that any runtime logs * from SP_MIN will be suppressed. */ -#if MULTI_CONSOLE_API console_switch_state(CONSOLE_FLAG_RUNTIME); -#else - console_uninit(); -#endif } diff --git a/plat/common/aarch64/crash_console_helpers.S b/plat/common/aarch64/crash_console_helpers.S index 491a99d..2a48baf 100644 --- a/plat/common/aarch64/crash_console_helpers.S +++ b/plat/common/aarch64/crash_console_helpers.S @@ -16,10 +16,6 @@ .globl plat_crash_console_putc .globl plat_crash_console_flush -#if !MULTI_CONSOLE_API -#error "This crash console implementation only works with the MULTI_CONSOLE_API!" -#endif - /* * Spinlock to syncronize access to crash_console_triggered. We cannot * acquire spinlocks when the cache is disabled, so in some cases (like diff --git a/plat/common/aarch64/plat_common.c b/plat/common/aarch64/plat_common.c index 1424c78..f8d3129 100644 --- a/plat/common/aarch64/plat_common.c +++ b/plat/common/aarch64/plat_common.c @@ -30,11 +30,7 @@ void bl31_plat_runtime_setup(void) { -#if MULTI_CONSOLE_API console_switch_state(CONSOLE_FLAG_RUNTIME); -#else - console_uninit(); -#endif } /* diff --git a/plat/hisilicon/hikey/platform.mk b/plat/hisilicon/hikey/platform.mk index 99887ee..7fd897c 100644 --- a/plat/hisilicon/hikey/platform.mk +++ b/plat/hisilicon/hikey/platform.mk @@ -20,7 +20,6 @@ CONSOLE_BASE := PL011_UART3_BASE CRASH_CONSOLE_BASE := PL011_UART3_BASE -MULTI_CONSOLE_API := 1 PLAT_PARTITION_MAX_ENTRIES := 12 PLAT_PL061_MAX_GPIOS := 160 COLD_BOOT_SINGLE_CPU := 1 diff --git a/plat/hisilicon/hikey960/platform.mk b/plat/hisilicon/hikey960/platform.mk index 8ff303f..4f2c3c6 100644 --- a/plat/hisilicon/hikey960/platform.mk +++ b/plat/hisilicon/hikey960/platform.mk @@ -17,7 +17,6 @@ $(error "Currently unsupported HIKEY960_TSP_RAM_LOCATION value") endif -MULTI_CONSOLE_API := 1 CRASH_CONSOLE_BASE := PL011_UART6_BASE COLD_BOOT_SINGLE_CPU := 1 PLAT_PL061_MAX_GPIOS := 176 diff --git a/plat/hisilicon/poplar/platform.mk b/plat/hisilicon/poplar/platform.mk index a1535a4..b5d9867 100644 --- a/plat/hisilicon/poplar/platform.mk +++ b/plat/hisilicon/poplar/platform.mk @@ -46,7 +46,6 @@ ERRATA_A53_835769 := 1 ERRATA_A53_843419 := 1 ENABLE_SVE_FOR_NS := 0 -MULTI_CONSOLE_API := 1 WORKAROUND_CVE_2017_5715 := 0 PLAT_PL061_MAX_GPIOS := 104 diff --git a/plat/imx/imx7/warp7/platform.mk b/plat/imx/imx7/warp7/platform.mk index 6cd7566..a93f5e0 100644 --- a/plat/imx/imx7/warp7/platform.mk +++ b/plat/imx/imx7/warp7/platform.mk @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. +# Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -31,7 +31,6 @@ include lib/xlat_tables_v2/xlat_tables.mk BL2_SOURCES += common/desc_image_load.c \ - drivers/console/aarch32/console.S \ drivers/delay_timer/delay_timer.c \ drivers/mmc/mmc.c \ drivers/io/io_block.c \ @@ -119,9 +118,6 @@ # Use Coherent memory USE_COHERENT_MEM := 1 -# Use multi console API -MULTI_CONSOLE_API := 1 - # PLAT_WARP7_UART PLAT_WARP7_UART :=1 $(eval $(call add_define,PLAT_WARP7_UART)) diff --git a/plat/imx/imx8m/imx8mm/platform.mk b/plat/imx/imx8m/imx8mm/platform.mk index bd1c058..a3d249a 100644 --- a/plat/imx/imx8m/imx8mm/platform.mk +++ b/plat/imx/imx8m/imx8mm/platform.mk @@ -39,7 +39,6 @@ USE_COHERENT_MEM := 1 RESET_TO_BL31 := 1 A53_DISABLE_NON_TEMPORAL_HINT := 0 -MULTI_CONSOLE_API := 1 ERRATA_A53_835769 := 1 ERRATA_A53_843419 := 1 diff --git a/plat/imx/imx8m/imx8mq/platform.mk b/plat/imx/imx8m/imx8mq/platform.mk index c6bec6f..d6879bf 100644 --- a/plat/imx/imx8m/imx8mq/platform.mk +++ b/plat/imx/imx8m/imx8mq/platform.mk @@ -39,7 +39,6 @@ USE_COHERENT_MEM := 1 RESET_TO_BL31 := 1 A53_DISABLE_NON_TEMPORAL_HINT := 0 -MULTI_CONSOLE_API := 1 ERRATA_A53_835769 := 1 ERRATA_A53_843419 := 1 diff --git a/plat/imx/imx8qm/platform.mk b/plat/imx/imx8qm/platform.mk index ed6108d..3a772e5 100644 --- a/plat/imx/imx8qm/platform.mk +++ b/plat/imx/imx8qm/platform.mk @@ -36,7 +36,6 @@ USE_COHERENT_MEM := 1 RESET_TO_BL31 := 1 A53_DISABLE_NON_TEMPORAL_HINT := 0 -MULTI_CONSOLE_API := 1 ERRATA_A72_859971 := 1 ERRATA_A53_835769 := 1 diff --git a/plat/imx/imx8qx/platform.mk b/plat/imx/imx8qx/platform.mk index eeb1f34..d5629d1 100644 --- a/plat/imx/imx8qx/platform.mk +++ b/plat/imx/imx8qx/platform.mk @@ -33,4 +33,3 @@ USE_COHERENT_MEM := 1 RESET_TO_BL31 := 1 -MULTI_CONSOLE_API := 1 diff --git a/plat/intel/soc/stratix10/platform.mk b/plat/intel/soc/stratix10/platform.mk index c1d62da..a21280f 100644 --- a/plat/intel/soc/stratix10/platform.mk +++ b/plat/intel/soc/stratix10/platform.mk @@ -68,5 +68,4 @@ PROGRAMMABLE_RESET_ADDRESS := 0 BL2_AT_EL3 := 1 -MULTI_CONSOLE_API := 1 USE_COHERENT_MEM := 1 diff --git a/plat/layerscape/board/ls1043/platform.mk b/plat/layerscape/board/ls1043/platform.mk index 2e0e59b..d716c61 100644 --- a/plat/layerscape/board/ls1043/platform.mk +++ b/plat/layerscape/board/ls1043/platform.mk @@ -56,9 +56,6 @@ ${LS1043_INTERCONNECT_SOURCES} \ ${LS1043_SECURITY_SOURCES} -# Disable the PSCI platform compatibility layer -MULTI_CONSOLE_API := 1 - # Enable workarounds for selected Cortex-A53 erratas. ERRATA_A53_855873 := 1 diff --git a/plat/layerscape/common/aarch64/ls_console.S b/plat/layerscape/common/aarch64/ls_console.S index a3c270d..f8948b4 100644 --- a/plat/layerscape/common/aarch64/ls_console.S +++ b/plat/layerscape/common/aarch64/ls_console.S @@ -78,7 +78,6 @@ ret endfunc console_ls_16550_core_init -#if MULTI_CONSOLE_API .globl console_ls_16550_register /* ----------------------------------------------- @@ -111,16 +110,6 @@ register_fail: ret x7 endfunc console_ls_16550_register -#else - .globl console_core_init - .globl console_core_putc - .globl console_core_getc - .globl console_core_flush - .equ console_core_init,console_ls_16550_core_init - .equ console_core_putc,console_ls_16550_core_putc - .equ console_core_getc,console_ls_16550_core_getc - .equ console_core_flush,console_ls_16550_core_flush -#endif /* -------------------------------------------------------- * int console_ls_16550_core_putc(int c, uintptr_t base_addr) diff --git a/plat/layerscape/common/aarch64/ls_helpers.S b/plat/layerscape/common/aarch64/ls_helpers.S index bbddd0b..5aa5497 100644 --- a/plat/layerscape/common/aarch64/ls_helpers.S +++ b/plat/layerscape/common/aarch64/ls_helpers.S @@ -49,7 +49,6 @@ * --------------------------------------------- */ -#if MULTI_CONSOLE_API /* ----------------------------------------------------- * int plat_crash_console_init(void) * Use normal console by default. Switch it to crash @@ -101,45 +100,6 @@ b console_flush endfunc plat_crash_console_flush -#else /* MULTI_CONSOLE_API */ - - /* ----------------------------------------------------- - * In the old API these are all no-op stubs that need to - * be overridden by the platform to be useful. - * ----------------------------------------------------- - */ -func plat_crash_console_init - mov_imm x0, PLAT_LS1043_UART_BASE - mov_imm x1, PLAT_LS1043_UART_CLOCK - mov_imm x2, PLAT_LS1043_UART_BAUDRATE - b console_core_init -endfunc plat_crash_console_init - - /* --------------------------------------------- - * int plat_crash_console_putc(int c) - * Function to print a character on the crash - * console without a C Runtime. - * Clobber list : x1, x2 - * --------------------------------------------- - */ -func plat_crash_console_putc - mov_imm x1, PLAT_LS1043_UART_BASE - b console_core_putc -endfunc plat_crash_console_putc - - /* --------------------------------------------- - * int plat_crash_console_flush() - * Function to force a write of all buffered - * data that hasn't been output. - * Out : return -1 on error else return 0. - * Clobber list : r0 - r1 - * --------------------------------------------- - */ -func plat_crash_console_flush - mov_imm x1, PLAT_LS1043_UART_BASE - b console_core_flush -endfunc plat_crash_console_flush -#endif /* --------------------------------------------------------------------- * We don't need to carry out any memory initialization on LS * platforms. The Secure SRAM is accessible straight away. diff --git a/plat/marvell/common/marvell_common.mk b/plat/marvell/common/marvell_common.mk index a128261..5c8e804 100644 --- a/plat/marvell/common/marvell_common.mk +++ b/plat/marvell/common/marvell_common.mk @@ -11,8 +11,6 @@ VERSION_STRING +=(Marvell-${SUBVERSION}) -MULTI_CONSOLE_API := 1 - SEPARATE_CODE_AND_RODATA := 1 # flag to switch from PLL to ARO diff --git a/plat/meson/gxbb/platform.mk b/plat/meson/gxbb/platform.mk index 9669bf9..9e65040 100644 --- a/plat/meson/gxbb/platform.mk +++ b/plat/meson/gxbb/platform.mk @@ -57,16 +57,9 @@ # Use Coherent memory USE_COHERENT_MEM := 1 -# Use multi console API -MULTI_CONSOLE_API := 1 - # Verify build config # ------------------- -ifneq (${MULTI_CONSOLE_API}, 1) - $(error Error: gxbb needs MULTI_CONSOLE_API=1) -endif - ifneq (${RESET_TO_BL31}, 0) $(error Error: gxbb needs RESET_TO_BL31=0) endif diff --git a/plat/meson/gxl/platform.mk b/plat/meson/gxl/platform.mk index ea4aead..a788e96 100644 --- a/plat/meson/gxl/platform.mk +++ b/plat/meson/gxl/platform.mk @@ -62,16 +62,9 @@ # Use Coherent memory USE_COHERENT_MEM := 1 -# Use multi console API -MULTI_CONSOLE_API := 1 - # Verify build config # ------------------- -ifneq (${MULTI_CONSOLE_API}, 1) - $(error Error: gxl needs MULTI_CONSOLE_API=1) -endif - ifneq (${RESET_TO_BL31}, 0) $(error Error: gxl needs RESET_TO_BL31=0) endif diff --git a/plat/qemu/aarch32/plat_helpers.S b/plat/qemu/aarch32/plat_helpers.S index cf6bae8..aebcfa7 100644 --- a/plat/qemu/aarch32/plat_helpers.S +++ b/plat/qemu/aarch32/plat_helpers.S @@ -103,7 +103,7 @@ mov_imm r0, PLAT_QEMU_CRASH_UART_BASE mov_imm r1, PLAT_QEMU_CRASH_UART_CLK_IN_HZ mov_imm r2, PLAT_QEMU_CONSOLE_BAUDRATE - b console_core_init + b console_pl011_core_init endfunc plat_crash_console_init /* --------------------------------------------- @@ -115,7 +115,7 @@ */ func plat_crash_console_putc mov_imm r1, PLAT_QEMU_CRASH_UART_BASE - b console_core_putc + b console_pl011_core_putc endfunc plat_crash_console_putc /* --------------------------------------------- @@ -128,6 +128,6 @@ */ func plat_crash_console_flush mov_imm r0, PLAT_QEMU_CRASH_UART_BASE - b console_core_flush + b console_pl011_core_flush endfunc plat_crash_console_flush diff --git a/plat/qemu/platform.mk b/plat/qemu/platform.mk index f086ddc..85d83ea 100644 --- a/plat/qemu/platform.mk +++ b/plat/qemu/platform.mk @@ -151,12 +151,6 @@ PLAT_BL_COMMON_SOURCES += plat/qemu/qemu_stack_protector.c endif -# Use MULTI_CONSOLE_API by default only on AArch64 -# as it is not yet supported on AArch32 -ifeq ($(ARCH),aarch64) -MULTI_CONSOLE_API := 1 -endif - BL32_RAM_LOCATION := tdram ifeq (${BL32_RAM_LOCATION}, tsram) BL32_RAM_LOCATION_ID = SEC_SRAM_ID diff --git a/plat/qemu/qemu_console.c b/plat/qemu/qemu_console.c index 759f997..fec1828 100644 --- a/plat/qemu/qemu_console.c +++ b/plat/qemu/qemu_console.c @@ -9,23 +9,15 @@ #include #include -#if MULTI_CONSOLE_API static console_pl011_t console; -#endif /* MULTI_CONSOLE_API */ void qemu_console_init(void) { -#if MULTI_CONSOLE_API (void)console_pl011_register(PLAT_QEMU_BOOT_UART_BASE, PLAT_QEMU_BOOT_UART_CLK_IN_HZ, PLAT_QEMU_CONSOLE_BAUDRATE, &console); console_set_scope(&console.console, CONSOLE_FLAG_BOOT | CONSOLE_FLAG_RUNTIME); -#else - console_init(PLAT_QEMU_BOOT_UART_BASE, - PLAT_QEMU_BOOT_UART_CLK_IN_HZ, - PLAT_QEMU_CONSOLE_BAUDRATE); -#endif /* MULTI_CONSOLE_API */ } diff --git a/plat/qemu/sp_min/sp_min_setup.c b/plat/qemu/sp_min/sp_min_setup.c index 88f7397..7ec657b 100644 --- a/plat/qemu/sp_min/sp_min_setup.c +++ b/plat/qemu/sp_min/sp_min_setup.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -93,8 +93,7 @@ bl_params_t *params_from_bl2 = (bl_params_t *)arg0; /* Initialize the console to provide early debug support */ - console_init(PLAT_QEMU_BOOT_UART_BASE, PLAT_QEMU_BOOT_UART_CLK_IN_HZ, - PLAT_QEMU_CONSOLE_BAUDRATE); + qemu_console_init(); ERROR("qemu sp_min, console init\n"); /* diff --git a/plat/rockchip/rk3328/platform.mk b/plat/rockchip/rk3328/platform.mk index 3e70330..fa207aa 100644 --- a/plat/rockchip/rk3328/platform.mk +++ b/plat/rockchip/rk3328/platform.mk @@ -51,8 +51,6 @@ ${RK_PLAT_SOC}/drivers/pmu/pmu.c \ ${RK_PLAT_SOC}/drivers/soc/soc.c -MULTI_CONSOLE_API := 1 - include lib/coreboot/coreboot.mk include lib/libfdt/libfdt.mk diff --git a/plat/rockchip/rk3368/platform.mk b/plat/rockchip/rk3368/platform.mk index 51368de..f8878f1 100644 --- a/plat/rockchip/rk3368/platform.mk +++ b/plat/rockchip/rk3368/platform.mk @@ -50,8 +50,6 @@ ${RK_PLAT_SOC}/drivers/soc/soc.c \ ${RK_PLAT_SOC}/drivers/ddr/ddr_rk3368.c \ -MULTI_CONSOLE_API := 1 - include lib/coreboot/coreboot.mk include lib/libfdt/libfdt.mk diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk index f917f61..1d81d7e 100644 --- a/plat/rockchip/rk3399/platform.mk +++ b/plat/rockchip/rk3399/platform.mk @@ -67,8 +67,6 @@ ${RK_PLAT_SOC}/drivers/dram/dram_spec_timing.c \ ${RK_PLAT_SOC}/drivers/dram/suspend.c -MULTI_CONSOLE_API := 1 - include lib/coreboot/coreboot.mk include lib/libfdt/libfdt.mk diff --git a/plat/rpi3/platform.mk b/plat/rpi3/platform.mk index ca638d5..f238cd6 100644 --- a/plat/rpi3/platform.mk +++ b/plat/rpi3/platform.mk @@ -102,9 +102,6 @@ # Use Coherent memory USE_COHERENT_MEM := 1 -# Use multi console API -MULTI_CONSOLE_API := 1 - # Platform build flags # -------------------- @@ -152,10 +149,6 @@ endif endif -ifneq (${MULTI_CONSOLE_API}, 1) - $(error Error: rpi3 needs MULTI_CONSOLE_API=1) -endif - ifneq (${RESET_TO_BL31}, 0) $(error Error: rpi3 needs RESET_TO_BL31=0) endif diff --git a/plat/socionext/synquacer/platform.mk b/plat/socionext/synquacer/platform.mk index f5e72cb..fe1448f 100644 --- a/plat/socionext/synquacer/platform.mk +++ b/plat/socionext/synquacer/platform.mk @@ -5,7 +5,6 @@ # override RESET_TO_BL31 := 1 -override MULTI_CONSOLE_API := 1 override PROGRAMMABLE_RESET_ADDRESS := 1 override USE_COHERENT_MEM := 1 override SEPARATE_CODE_AND_RODATA := 1 diff --git a/plat/st/stm32mp1/platform.mk b/plat/st/stm32mp1/platform.mk index f6bf9f3..0ea7bbb 100644 --- a/plat/st/stm32mp1/platform.mk +++ b/plat/st/stm32mp1/platform.mk @@ -8,7 +8,6 @@ ARM_WITH_NEON := yes BL2_AT_EL3 := 1 USE_COHERENT_MEM := 0 -MULTI_CONSOLE_API := 1 STM32_TF_VERSION ?= 0 diff --git a/plat/ti/k3/common/plat_common.mk b/plat/ti/k3/common/plat_common.mk index 83e9c62..f154a96 100644 --- a/plat/ti/k3/common/plat_common.mk +++ b/plat/ti/k3/common/plat_common.mk @@ -28,7 +28,6 @@ # Split out RO data into a non-executable section SEPARATE_CODE_AND_RODATA := 1 -MULTI_CONSOLE_API := 1 TI_16550_MDR_QUIRK := 1 $(eval $(call add_define,TI_16550_MDR_QUIRK)) diff --git a/plat/xilinx/versal/platform.mk b/plat/xilinx/versal/platform.mk index 1532d92..1c56364 100644 --- a/plat/xilinx/versal/platform.mk +++ b/plat/xilinx/versal/platform.mk @@ -8,7 +8,6 @@ SEPARATE_CODE_AND_RODATA := 1 override RESET_TO_BL31 := 1 PL011_GENERIC_UART := 1 -MULTI_CONSOLE_API := 1 ifdef VERSAL_ATF_MEM_BASE $(eval $(call add_define,VERSAL_ATF_MEM_BASE))