diff options
Diffstat (limited to 'plat/xilinx/zynqmp/bl31_zynqmp_setup.c')
-rw-r--r-- | plat/xilinx/zynqmp/bl31_zynqmp_setup.c | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/plat/xilinx/zynqmp/bl31_zynqmp_setup.c b/plat/xilinx/zynqmp/bl31_zynqmp_setup.c index 6e0e811d4..d4cd7f65b 100644 --- a/plat/xilinx/zynqmp/bl31_zynqmp_setup.c +++ b/plat/xilinx/zynqmp/bl31_zynqmp_setup.c @@ -32,8 +32,9 @@ entry_point_info_t *bl31_plat_get_next_image_ep_info(uint32_t type) { assert(sec_state_is_valid(type)); - if (type == NON_SECURE) + if (type == NON_SECURE) { return &bl33_image_ep_info; + } return &bl32_image_ep_info; } @@ -62,12 +63,12 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, { uint64_t atf_handoff_addr; /* Register the console to provide early debug support */ - static console_cdns_t bl31_boot_console; + static console_t bl31_boot_console; (void)console_cdns_register(ZYNQMP_UART_BASE, zynqmp_get_uart_clk(), ZYNQMP_UART_BAUDRATE, &bl31_boot_console); - console_set_scope(&bl31_boot_console.console, + console_set_scope(&bl31_boot_console, CONSOLE_FLAG_RUNTIME | CONSOLE_FLAG_BOOT); /* Initialize the platform config for future decision making */ @@ -99,14 +100,18 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, enum fsbl_handoff ret = fsbl_atf_handover(&bl32_image_ep_info, &bl33_image_ep_info, atf_handoff_addr); - if (ret == FSBL_HANDOFF_NO_STRUCT) + if (ret == FSBL_HANDOFF_NO_STRUCT) { bl31_set_default_config(); - else if (ret != FSBL_HANDOFF_SUCCESS) + } else if (ret != FSBL_HANDOFF_SUCCESS) { panic(); + } + } + if (bl32_image_ep_info.pc) { + VERBOSE("BL31: Secure code at 0x%lx\n", bl32_image_ep_info.pc); + } + if (bl33_image_ep_info.pc) { + VERBOSE("BL31: Non secure code at 0x%lx\n", bl33_image_ep_info.pc); } - - NOTICE("BL31: Secure code at 0x%lx\n", bl32_image_ep_info.pc); - NOTICE("BL31: Non secure code at 0x%lx\n", bl33_image_ep_info.pc); } /* Enable the test setup */ @@ -134,12 +139,14 @@ static interrupt_type_handler_t type_el3_interrupt_table[MAX_INTR_EL3]; int request_intr_type_el3(uint32_t id, interrupt_type_handler_t handler) { /* Validate 'handler' and 'id' parameters */ - if (!handler || id >= MAX_INTR_EL3) + if (!handler || id >= MAX_INTR_EL3) { return -EINVAL; + } /* Check if a handler has already been registered */ - if (type_el3_interrupt_table[id]) + if (type_el3_interrupt_table[id]) { return -EALREADY; + } type_el3_interrupt_table[id] = handler; @@ -154,8 +161,9 @@ static uint64_t rdo_el3_interrupt_handler(uint32_t id, uint32_t flags, intr_id = plat_ic_get_pending_interrupt_id(); handler = type_el3_interrupt_table[intr_id]; - if (handler != NULL) + if (handler != NULL) { handler(intr_id, flags, handle, cookie); + } return 0; } @@ -178,8 +186,9 @@ void bl31_plat_runtime_setup(void) set_interrupt_rm_flag(flags, NON_SECURE); rc = register_interrupt_type_handler(INTR_TYPE_EL3, rdo_el3_interrupt_handler, flags); - if (rc) + if (rc) { panic(); + } #endif } |