Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47699 )
Change subject: lib/bootblock.c: Work around invalid timestamp argument ......................................................................
Patch Set 1: Code-Review-2
Patch Set 1: Code-Review-1
This sounds like a fix in generic code to a very platform-specific problem, so generally not the right thing to do. Can you explain in more detail what the problem is? There should be some way to solve this without changing the code for all other architectures (e.g. if the platform doesn't have a valid initial timestamp, it should just be entering through main() instead of bootblock_main_with_basetime()).
Agreed. This issue seems to happen on soc/intel/xeon_sp/cpx where FSP-T violates its own spec. FSP-T should not trash the content of some registers. Coreboot stores the initial timestamp in those. So what happens is that the initial timestamp is later than some following timestamps.
The proper place for this fix seems to be soc/intel/xeon_sp/bootblock.c