Attention is currently required from: Derek Huang, Himanshu Sahdev, Andrey Petrov.
Subrata Banik has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/74784 )
Change subject: drivers/intel/fsp2_0: Apply FSP Reset Status W/A for MultiPhaseSiInit ......................................................................
Patch Set 5:
(1 comment)
File src/drivers/intel/fsp2_0/silicon_init.c:
https://review.coreboot.org/c/coreboot/+/74784/comment/438ab4d7_225ec26a PS5, Line 199: status = fsp_get_pch_reset_status();
You aren't actually be reading the status from the dedicated HOB if it doesn't exists for some reason (https://review.coreboot.org/c/coreboot/+/74783/5/src/soc/intel/common/fsp_re...) and will lose the last status from multi_phase_si_init as well.
The meaning of HOB not found is not any *accidental reason* as i could sense from your above comment "it doesn't exist for some reason ".
``` const struct fsp_reset_hob *hob = fsp_find_extension_hob_by_guid(fsp_reset_guid, &size); if (!hob) return 0; ``` The meaning of reset info hob not found inside is like, FSP doesn't want to issue any reset during the boot hence, didn't populate the reset info hob. This can be assumed as everything is good hence, returning the status as 0 aka no reset required.
for more details follow the fsp_handle_reset()
Is setting status to 0 is intentional here in case !hob?
Yes for sure.