diff --git a/plat/rockchip/common/bl31_plat_setup.c b/plat/rockchip/common/bl31_plat_setup.c index e009b88..a13ee49 100644 --- a/plat/rockchip/common/bl31_plat_setup.c +++ b/plat/rockchip/common/bl31_plat_setup.c @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -32,6 +33,7 @@ entry_point_info_t *next_image_info; next_image_info = (type == NON_SECURE) ? &bl33_ep_info : &bl32_ep_info; + assert(next_image_info->h.type == PARAM_EP); /* None of the images on this platform can have 0x0 as the entrypoint */ if (next_image_info->pc) @@ -57,7 +59,6 @@ u_register_t arg2, u_register_t arg3) { static console_16550_t console; - struct rockchip_bl31_params *arg_from_bl2 = (struct rockchip_bl31_params *) arg0; params_early_setup(arg1); @@ -74,14 +75,7 @@ VERBOSE("bl31_setup\n"); - /* Passing a NULL context is a critical programming error */ - assert(arg_from_bl2); - - assert(arg_from_bl2->h.type == PARAM_BL31); - assert(arg_from_bl2->h.version >= VERSION_1); - - bl32_ep_info = *arg_from_bl2->bl32_ep_info; - bl33_ep_info = *arg_from_bl2->bl33_ep_info; + bl31_params_parse_helper(arg0, &bl32_ep_info, &bl33_ep_info); } /******************************************************************************* diff --git a/plat/rockchip/common/include/plat_private.h b/plat/rockchip/common/include/plat_private.h index 242b528..66b6185 100644 --- a/plat/rockchip/common/include/plat_private.h +++ b/plat/rockchip/common/include/plat_private.h @@ -31,15 +31,6 @@ extern uint32_t __sram_incbin_start, __sram_incbin_end; extern uint32_t __sram_incbin_real_end; -struct rockchip_bl31_params { - param_header_t h; - image_info_t *bl31_image_info; - entry_point_info_t *bl32_ep_info; - image_info_t *bl32_image_info; - entry_point_info_t *bl33_ep_info; - image_info_t *bl33_image_info; -}; - /****************************************************************************** * The register have write-mask bits, it is mean, if you want to set the bits, * you needs set the write-mask bits at the same time, diff --git a/plat/rockchip/common/sp_min_plat_setup.c b/plat/rockchip/common/sp_min_plat_setup.c index cb28b7a..7b1a0b5 100644 --- a/plat/rockchip/common/sp_min_plat_setup.c +++ b/plat/rockchip/common/sp_min_plat_setup.c @@ -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 */ @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -53,7 +54,6 @@ u_register_t arg2, u_register_t arg3) { static console_16550_t console; - struct rockchip_bl31_params *arg_from_bl2 = (struct rockchip_bl31_params *) arg0; params_early_setup(arg1); @@ -69,13 +69,7 @@ #endif VERBOSE("sp_min_setup\n"); - /* Passing a NULL context is a critical programming error */ - assert(arg_from_bl2); - - assert(arg_from_bl2->h.type == PARAM_BL31); - assert(arg_from_bl2->h.version >= VERSION_1); - - bl33_ep_info = *arg_from_bl2->bl33_ep_info; + bl31_params_parse_helper(arg0, NULL, &bl33_ep_info); } /******************************************************************************* diff --git a/plat/rockchip/rk3288/platform.mk b/plat/rockchip/rk3288/platform.mk index 980fb6b..faf7a15 100644 --- a/plat/rockchip/rk3288/platform.mk +++ b/plat/rockchip/rk3288/platform.mk @@ -30,7 +30,8 @@ plat/common/plat_gicv2.c \ ${RK_PLAT}/common/rockchip_gicv2.c -PLAT_BL_COMMON_SOURCES := lib/bl_aux_params/bl_aux_params.c \ +PLAT_BL_COMMON_SOURCES := common/desc_image_load.c \ + lib/bl_aux_params/bl_aux_params.c \ plat/common/aarch32/crash_console_helpers.S \ plat/common/plat_psci_common.c diff --git a/plat/rockchip/rk3328/platform.mk b/plat/rockchip/rk3328/platform.mk index 2be2be3..0da4f2d 100644 --- a/plat/rockchip/rk3328/platform.mk +++ b/plat/rockchip/rk3328/platform.mk @@ -28,7 +28,8 @@ plat/common/plat_gicv2.c \ ${RK_PLAT}/common/rockchip_gicv2.c -PLAT_BL_COMMON_SOURCES := lib/bl_aux_params/bl_aux_params.c \ +PLAT_BL_COMMON_SOURCES := common/desc_image_load.c \ + lib/bl_aux_params/bl_aux_params.c \ lib/xlat_tables/aarch64/xlat_tables.c \ lib/xlat_tables/xlat_tables_common.c \ plat/common/aarch64/crash_console_helpers.S \ diff --git a/plat/rockchip/rk3368/platform.mk b/plat/rockchip/rk3368/platform.mk index 8812378..cb0cb89 100644 --- a/plat/rockchip/rk3368/platform.mk +++ b/plat/rockchip/rk3368/platform.mk @@ -26,7 +26,8 @@ plat/common/plat_gicv2.c \ ${RK_PLAT}/common/rockchip_gicv2.c -PLAT_BL_COMMON_SOURCES := lib/bl_aux_params/bl_aux_params.c \ +PLAT_BL_COMMON_SOURCES := common/desc_image_load.c \ + lib/bl_aux_params/bl_aux_params.c \ lib/xlat_tables/xlat_tables_common.c \ lib/xlat_tables/aarch64/xlat_tables.c \ plat/common/aarch64/crash_console_helpers.S \ diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk index 88fa8e9..cfc48e8 100644 --- a/plat/rockchip/rk3399/platform.mk +++ b/plat/rockchip/rk3399/platform.mk @@ -32,7 +32,8 @@ plat/common/plat_gicv3.c \ ${RK_PLAT}/common/rockchip_gicv3.c -PLAT_BL_COMMON_SOURCES := lib/bl_aux_params/bl_aux_params.c \ +PLAT_BL_COMMON_SOURCES := common/desc_image_load.c \ + lib/bl_aux_params/bl_aux_params.c \ lib/xlat_tables/xlat_tables_common.c \ lib/xlat_tables/aarch64/xlat_tables.c \ plat/common/aarch64/crash_console_helpers.S \