From bf4698fdef67d867a402488df86724b807372e61 Mon Sep 17 00:00:00 2001 From: Antonio Nino Diaz Date: Tue, 15 May 2018 13:12:50 +0100 Subject: [PATCH] Revert "plat/arm: Migrate AArch64 port to the multi console driver" This reverts commit 2f18aa1fa35305f8feec25867473d30975b242fe. It is causing some tests to fail. Until the cause is found and fixed, it is needed to remove this commit from master. Change-Id: Ic5ff7a841903a15613e00379e87cbbd8a0e85152 Signed-off-by: Antonio Nino Diaz --- include/drivers/console.h | 6 +- include/plat/arm/board/common/board_arm_def.h | 6 +- include/plat/arm/common/plat_arm.h | 6 -- plat/arm/common/aarch64/arm_helpers.S | 12 +-- plat/arm/common/arm_bl1_setup.c | 4 +- plat/arm/common/arm_bl2_el3_setup.c | 6 +- plat/arm/common/arm_bl2_setup.c | 4 +- plat/arm/common/arm_bl2u_setup.c | 5 +- plat/arm/common/arm_bl31_setup.c | 13 +-- plat/arm/common/arm_common.mk | 8 +- plat/arm/common/arm_console.c | 85 ------------------- plat/arm/common/arm_pm.c | 13 +-- plat/arm/common/tsp/arm_tsp_setup.c | 20 +---- 13 files changed, 33 insertions(+), 155 deletions(-) delete mode 100644 plat/arm/common/arm_console.c diff --git a/include/drivers/console.h b/include/drivers/console.h index 422492a7d..0855170eb 100644 --- a/include/drivers/console.h +++ b/include/drivers/console.h @@ -16,9 +16,9 @@ #define CONSOLE_T_FLUSH (U(4) * REGSZ) #define CONSOLE_T_DRVDATA (U(5) * REGSZ) -#define CONSOLE_FLAG_BOOT (U(1) << 0) -#define CONSOLE_FLAG_RUNTIME (U(1) << 1) -#define CONSOLE_FLAG_CRASH (U(1) << 2) +#define CONSOLE_FLAG_BOOT BIT(0) +#define CONSOLE_FLAG_RUNTIME BIT(1) +#define CONSOLE_FLAG_CRASH BIT(2) /* Bits 3 to 7 reserved for additional scopes in future expansion. */ #define CONSOLE_FLAG_SCOPE_MASK ((U(1) << 8) - 1) /* Bits 8 to 31 reserved for non-scope use in future expansion. */ diff --git a/include/plat/arm/board/common/board_arm_def.h b/include/plat/arm/board/common/board_arm_def.h index cfd292246..845f14037 100644 --- a/include/plat/arm/board/common/board_arm_def.h +++ b/include/plat/arm/board/common/board_arm_def.h @@ -94,11 +94,7 @@ * PLAT_ARM_MAX_BL31_SIZE is calculated using the current BL31 debug size plus a * little space for growth. */ -#if ENABLE_SPM -# define PLAT_ARM_MAX_BL31_SIZE 0x21000 -#else -# define PLAT_ARM_MAX_BL31_SIZE 0x20000 -#endif +#define PLAT_ARM_MAX_BL31_SIZE 0x20000 #ifdef AARCH32 /* diff --git a/include/plat/arm/common/plat_arm.h b/include/plat/arm/common/plat_arm.h index 95b2a5a3e..612a63a8c 100644 --- a/include/plat/arm/common/plat_arm.h +++ b/include/plat/arm/common/plat_arm.h @@ -153,12 +153,6 @@ struct tzc_dmc500_driver_data; void arm_tzc_dmc500_setup(struct tzc_dmc500_driver_data *plat_driver_data, const arm_tzc_regions_info_t *tzc_regions); -/* Console utility functions */ -void arm_console_boot_init(void); -void arm_console_boot_end(void); -void arm_console_runtime_init(void); -void arm_console_runtime_end(void); - /* Systimer utility function */ void arm_configure_sys_timer(void); diff --git a/plat/arm/common/aarch64/arm_helpers.S b/plat/arm/common/aarch64/arm_helpers.S index 752929db5..760a53af2 100644 --- a/plat/arm/common/aarch64/arm_helpers.S +++ b/plat/arm/common/aarch64/arm_helpers.S @@ -8,9 +8,9 @@ .weak plat_arm_calc_core_pos .weak plat_my_core_pos - .weak plat_crash_console_init - .weak plat_crash_console_putc - .weak plat_crash_console_flush + .globl plat_crash_console_init + .globl plat_crash_console_putc + .globl plat_crash_console_flush .globl platform_mem_init @@ -50,7 +50,7 @@ func plat_crash_console_init mov_imm x0, PLAT_ARM_CRASH_UART_BASE mov_imm x1, PLAT_ARM_CRASH_UART_CLK_IN_HZ mov_imm x2, ARM_CONSOLE_BAUDRATE - b console_pl011_core_init + b console_core_init endfunc plat_crash_console_init /* --------------------------------------------- @@ -62,7 +62,7 @@ endfunc plat_crash_console_init */ func plat_crash_console_putc mov_imm x1, PLAT_ARM_CRASH_UART_BASE - b console_pl011_core_putc + b console_core_putc endfunc plat_crash_console_putc /* --------------------------------------------- @@ -75,7 +75,7 @@ endfunc plat_crash_console_putc */ func plat_crash_console_flush mov_imm x0, PLAT_ARM_CRASH_UART_BASE - b console_pl011_core_flush + b console_core_flush endfunc plat_crash_console_flush /* --------------------------------------------------------------------- diff --git a/plat/arm/common/arm_bl1_setup.c b/plat/arm/common/arm_bl1_setup.c index e5e730417..379e87df2 100644 --- a/plat/arm/common/arm_bl1_setup.c +++ b/plat/arm/common/arm_bl1_setup.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -44,7 +45,8 @@ void arm_bl1_early_platform_setup(void) #endif /* Initialize the console to provide early debug support */ - arm_console_boot_init(); + console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); /* Allow BL1 to see the whole Trusted RAM */ bl1_tzram_layout.total_base = ARM_BL_RAM_BASE; diff --git a/plat/arm/common/arm_bl2_el3_setup.c b/plat/arm/common/arm_bl2_el3_setup.c index e7247c63d..e70d115ee 100644 --- a/plat/arm/common/arm_bl2_el3_setup.c +++ b/plat/arm/common/arm_bl2_el3_setup.c @@ -1,8 +1,9 @@ /* - * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ +#include #include #include #include @@ -20,7 +21,8 @@ static meminfo_t bl2_el3_tzram_layout; void arm_bl2_el3_early_platform_setup(void) { /* Initialize the console to provide early debug support */ - arm_console_boot_init(); + console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); /* * Allow BL2 to see the whole Trusted RAM. This is determined diff --git a/plat/arm/common/arm_bl2_setup.c b/plat/arm/common/arm_bl2_setup.c index 753da65a4..dc7cd6802 100644 --- a/plat/arm/common/arm_bl2_setup.c +++ b/plat/arm/common/arm_bl2_setup.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -183,7 +184,8 @@ struct entry_point_info *bl2_plat_get_bl31_ep_info(void) void arm_bl2_early_platform_setup(uintptr_t tb_fw_config, meminfo_t *mem_layout) { /* Initialize the console to provide early debug support */ - arm_console_boot_init(); + console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); /* Setup the BL2 memory layout */ bl2_tzram_layout = *mem_layout; diff --git a/plat/arm/common/arm_bl2u_setup.c b/plat/arm/common/arm_bl2u_setup.c index cd691e5c3..3b8e4aa46 100644 --- a/plat/arm/common/arm_bl2u_setup.c +++ b/plat/arm/common/arm_bl2u_setup.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -35,8 +36,8 @@ void bl2u_platform_setup(void) void arm_bl2u_early_platform_setup(meminfo_t *mem_layout, void *plat_info) { /* Initialize the console to provide early debug support */ - arm_console_boot_init(); - + console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); generic_delay_timer_init(); } diff --git a/plat/arm/common/arm_bl31_setup.c b/plat/arm/common/arm_bl31_setup.c index 4a7271457..3c70f9de8 100644 --- a/plat/arm/common/arm_bl31_setup.c +++ b/plat/arm/common/arm_bl31_setup.c @@ -72,7 +72,8 @@ void arm_bl31_early_platform_setup(bl31_params_t *from_bl2, uintptr_t soc_fw_con #endif { /* Initialize the console to provide early debug support */ - arm_console_boot_init(); + console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); #if RESET_TO_BL31 /* There are no parameters from BL2 if BL31 is a reset vector */ @@ -225,18 +226,12 @@ void arm_bl31_platform_setup(void) /******************************************************************************* * Perform any BL31 platform runtime setup prior to BL31 exit common to ARM * standard platforms - * Perform BL31 platform setup ******************************************************************************/ 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(); + console_init(PLAT_ARM_BL31_RUN_UART_BASE, PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); } void bl31_platform_setup(void) diff --git a/plat/arm/common/arm_common.mk b/plat/arm/common/arm_common.mk index b1aa42805..015e454a1 100644 --- a/plat/arm/common/arm_common.mk +++ b/plat/arm/common/arm_common.mk @@ -104,11 +104,6 @@ SEPARATE_CODE_AND_RODATA := 1 # Enable new version of image loading on ARM platforms LOAD_IMAGE_V2 := 1 -# Use the multi console API, which is only available for AArch64 for now -ifeq (${ARCH}, aarch64) - MULTI_CONSOLE_API := 1 -endif - # Use generic OID definition (tbbr_oid.h) USE_TBBR_DEFS := 1 @@ -125,8 +120,7 @@ PLAT_INCLUDES += -Iinclude/plat/arm/common/aarch64 endif PLAT_BL_COMMON_SOURCES += plat/arm/common/${ARCH}/arm_helpers.S \ - plat/arm/common/arm_common.c \ - plat/arm/common/arm_console.c + plat/arm/common/arm_common.c ifeq (${ARM_XLAT_TABLES_LIB_V1}, 1) PLAT_BL_COMMON_SOURCES += lib/xlat_tables/xlat_tables_common.c \ diff --git a/plat/arm/common/arm_console.c b/plat/arm/common/arm_console.c deleted file mode 100644 index 20b8f87ef..000000000 --- a/plat/arm/common/arm_console.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ -#include -#include -#include -#include -#include -#include - -/******************************************************************************* - * 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 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, - &arm_boot_console); - if (rc == 0) { - /* - * The crash console doesn't use the multi console API, it uses - * the core console functions directly. It is safe to call panic - * and let it print debug information. - */ - panic(); - } - - 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) -{ -#if MULTI_CONSOLE_API - (void)console_flush(); - - (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_BL31_RUN_UART_BASE, - PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ, - ARM_CONSOLE_BAUDRATE, - &arm_runtime_console); - if (rc == 0) - panic(); - - console_set_scope(&arm_runtime_console.console, CONSOLE_FLAG_RUNTIME); -#else - (void)console_init(PLAT_ARM_BL31_RUN_UART_BASE, - PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ, - ARM_CONSOLE_BAUDRATE); -#endif /* MULTI_CONSOLE_API */ -} - -void arm_console_runtime_end(void) -{ -#if MULTI_CONSOLE_API - (void)console_flush(); - - (void)console_unregister(&arm_runtime_console.console); -#else - console_uninit(); -#endif /* MULTI_CONSOLE_API */ -} diff --git a/plat/arm/common/arm_pm.c b/plat/arm/common/arm_pm.c index 4632099e7..44ac5b5d6 100644 --- a/plat/arm/common/arm_pm.c +++ b/plat/arm/common/arm_pm.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -158,12 +159,6 @@ void arm_system_pwr_domain_save(void) plat_arm_gic_save(); - /* - * Unregister console now so that it is not registered for a second - * time during resume. - */ - arm_console_runtime_end(); - /* * All the other peripheral which are configured by ARM TF are * re-initialized on resume from system suspend. Hence we @@ -179,8 +174,8 @@ void arm_system_pwr_domain_save(void) *****************************************************************************/ void arm_system_pwr_domain_resume(void) { - /* Initialize the console */ - arm_console_runtime_init(); + console_init(PLAT_ARM_BL31_RUN_UART_BASE, PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); /* Assert system power domain is available on the platform */ assert(PLAT_MAX_PWR_LVL >= ARM_PWR_LVL2); diff --git a/plat/arm/common/tsp/arm_tsp_setup.c b/plat/arm/common/tsp/arm_tsp_setup.c index 16125ad4f..abeaea0bc 100644 --- a/plat/arm/common/tsp/arm_tsp_setup.c +++ b/plat/arm/common/tsp/arm_tsp_setup.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -7,8 +7,6 @@ #include #include #include -#include -#include #include #include #include @@ -24,30 +22,14 @@ /******************************************************************************* * 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 */ - int rc = console_pl011_register(PLAT_ARM_TSP_UART_BASE, - PLAT_ARM_TSP_UART_CLK_IN_HZ, - ARM_CONSOLE_BAUDRATE, - &arm_tsp_runtime_console); - if (rc == 0) - panic(); - - 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) -- GitLab