diff options
author | Patrick Rudolph <patrick.rudolph@9elements.com> | 2022-03-22 12:17:48 +0100 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-03-31 14:21:27 +0000 |
commit | ac49aaf0f948fec9c57c6e19ad706dedf0856960 (patch) | |
tree | ef0748706880b86602cd5397d0cd3b1d95503365 | |
parent | d7803c89b6f6709a5c9e235e2961845edefed50e (diff) |
drivers/intel/fsp1_1: Fix code not working with strict-aliasing rules
Change-Id: Ifc95a093cf86c834d63825bf76312ed21ec68215
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62995
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Frans Hendriks <fhendriks@eltan.com>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
-rw-r--r-- | src/drivers/intel/fsp1_1/hob.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/src/drivers/intel/fsp1_1/hob.c b/src/drivers/intel/fsp1_1/hob.c index 9a09cfd81a..076dd5f768 100644 --- a/src/drivers/intel/fsp1_1/hob.c +++ b/src/drivers/intel/fsp1_1/hob.c @@ -257,21 +257,19 @@ static const char *get_hob_type_string(void *hob_ptr) */ void print_hob_type_structure(u16 hob_type, void *hob_list_ptr) { - u32 *current_hob; - u32 *next_hob = 0; - u8 last_hob = 0; + void *current_hob; u32 current_type; const char *current_type_str; - current_hob = hob_list_ptr; - /* * Print out HOBs of our desired type until * the end of the HOB list */ printk(BIOS_DEBUG, "\n=== FSP HOB Data Structure ===\n"); printk(BIOS_DEBUG, "%p: hob_list_ptr\n", hob_list_ptr); - do { + for (current_hob = hob_list_ptr; !END_OF_HOB_LIST(current_hob); + current_hob = GET_NEXT_HOB(current_hob)) { + EFI_HOB_GENERIC_HEADER *current_header_ptr = (EFI_HOB_GENERIC_HEADER *)current_hob; @@ -292,16 +290,6 @@ void print_hob_type_structure(u16 hob_type, void *hob_list_ptr) break; } } - - /* Check for end of HOB list */ - last_hob = END_OF_HOB_LIST(current_hob); - if (!last_hob) { - /* Get next HOB pointer */ - next_hob = GET_NEXT_HOB(current_hob); - - /* Start on next HOB */ - current_hob = next_hob; - } - } while (!last_hob); + } printk(BIOS_DEBUG, "=== End of FSP HOB Data Structure ===\n\n"); } |