diff options
author | Sandrine Bailleux <sandrine.bailleux@arm.com> | 2015-09-28 17:03:06 +0100 |
---|---|---|
committer | Sandrine Bailleux <sandrine.bailleux@arm.com> | 2015-11-02 09:23:05 +0000 |
commit | 68a68c925f6d2b9266b53fb6257b58ff720c3bcd (patch) | |
tree | e505ac915610f951b2d4e0eaa80025814a79a364 /bl1/bl1_main.c | |
parent | f57e2db6ef4b86a6af57891a2d7a90266ad6c033 (diff) |
Introduce print_entry_point_info() function
This patch introduces a new function called 'print_entry_point_info'
that prints an entry_point_t structure for debugging purposes.
As such, it can be used to display the entry point address, SPSR and
arguments passed from a firmware image to the next one.
This function is now called in the following images transitions:
- BL1 to BL2
- BL1 to BL31
- BL31 to the next image (typically BL32 or BL33)
The following changes have been introduced:
- Fix the output format of the SPSR value : SPSR is a 32-bit value,
not a 64-bit one.
- Print all arguments values.
The entry_point_info_t structure allows to pass up to 8 arguments.
In most cases, only the first 2 arguments were printed.
print_entry_point_info() now prints all of them as 'VERBOSE'
traces.
Change-Id: Ieb384bffaa7849e6cb95a01a47c0b7fc2308653a
Diffstat (limited to 'bl1/bl1_main.c')
-rw-r--r-- | bl1/bl1_main.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/bl1/bl1_main.c b/bl1/bl1_main.c index 50cf4e0d..50aed600 100644 --- a/bl1/bl1_main.c +++ b/bl1/bl1_main.c @@ -57,6 +57,9 @@ static void __dead2 bl1_run_bl2(entry_point_info_t *bl2_ep) write_spsr_el3(bl2_ep->spsr); write_elr_el3(bl2_ep->pc); + NOTICE("BL1: Booting BL2\n"); + print_entry_point_info(bl2_ep); + eret(bl2_ep->args.arg0, bl2_ep->args.arg1, bl2_ep->args.arg2, @@ -190,13 +193,6 @@ void bl1_main(void) bl1_plat_set_bl2_ep_info(&bl2_image_info, &bl2_ep); bl2_ep.args.arg1 = (unsigned long)bl2_tzram_layout; - NOTICE("BL1: Booting BL2\n"); - INFO("BL1: BL2 address = 0x%llx\n", - (unsigned long long) bl2_ep.pc); - INFO("BL1: BL2 spsr = 0x%x\n", bl2_ep.spsr); - VERBOSE("BL1: BL2 memory layout address = 0x%llx\n", - (unsigned long long) bl2_tzram_layout); - bl1_run_bl2(&bl2_ep); return; @@ -209,12 +205,5 @@ void bl1_main(void) void display_boot_progress(entry_point_info_t *bl31_ep_info) { NOTICE("BL1: Booting BL3-1\n"); - INFO("BL1: BL3-1 address = 0x%llx\n", - (unsigned long long)bl31_ep_info->pc); - INFO("BL1: BL3-1 spsr = 0x%llx\n", - (unsigned long long)bl31_ep_info->spsr); - INFO("BL1: BL3-1 params address = 0x%llx\n", - (unsigned long long)bl31_ep_info->args.arg0); - INFO("BL1: BL3-1 plat params address = 0x%llx\n", - (unsigned long long)bl31_ep_info->args.arg1); + print_entry_point_info(bl31_ep_info); } |