Sorry for long pause, but back on the job.
Yes, after reading your suggestion, I reminded of reading the same thing in the FSP integration guide. I had :
UpdData->MemFastBoot = 1;
but I also had this :
FspInitParams.NvsBufferPtr = NULL;
I believe once I pass some NVRAM buffer, it should work. But I have few doubts :
- What sized-buffer should be good?
- How do I refer the chunk of memory from SPI flash to act as the NvsBuffer? Any sample code will be appreciated.
From: Wim Vervoorn <firstname.lastname@example.org>
Sent: Thursday, November 7, 2019 1:56 PM
To: Naveen Chaudhary <email@example.com>; firstname.lastname@example.org <email@example.com>
Cc: firstname.lastname@example.org <email@example.com>
Subject: RE: Call to FSP_FSP_INIT never returns back
The longer time is expected on the first boot. After that this should not take that long.
If every boot takes that long please check if the MRC information is preserved in flash and properly restored before making the FSP call.
From: Naveen Chaudhary [mailto:firstname.lastname@example.org]
Sent: Thursday, November 7, 2019 7:02 AM
Subject: [coreboot] Re: Call to FSP_FSP_INIT never returns back
I got that RAM stick working when I changed the fourth byte of SPD from from mini-UDIMM (0x06) to SO-DIMM (0x03) and its working fine... But still I am curious why mini-UDIMM
didn't work out. Perhaps this form factor was not supported by FSP?
Another thing I observed that the call to FSP_FSP_INIT takes 7-8 seconds to return back. Is that expected? What could be the possible ways to optimize it (even an inflexible
solution is welcome). The total boot time from power-on to loading payload is around 20 seconds with logs disabled.