On Mon, Nov 30, 2020 at 1:57 PM Andy Pont andy.pont@sdcsystems.com wrote:
Matt wrote…
That means that the SMMSTORE / NVRAM EFI variable storage is getting corrupted somehow. What platform is this on? I've seen some older platforms which are problematic, especially Braswell, but newer Core platforms seem to work reasonably well. There's also a new SMMSTOREv2 implementation you can try, but requires using the TIanocore UEFIPayload option as well as setting the branch/commit ID to `origin/uefipayloadpkg`
This is hardware that is based on Intel Comet Lake. It is using the flash descriptor from the stock BIOS but it could well be the case that I have something in the board.fmd or config defined incorrectly.
I've mostly been using SMMSTOREv2 w/UefiPayload+uefipayloadpkg on the CML devices I've been working on here (both Google and other boards), with no issues. But SMMSTORE (v1) should also work w/CorebootPayload. The SMMSTORE region is 64k-aligned and 256k so don't see any issues with the FMAP layout.
The board.fmd file contains:
FLASH 16M { BIOS@0x400000 0xC00000 { EC@0x0 0x20000 RW_MRC_CACHE@0x20000 0x10000 SMMSTORE@0x30000 0x40000 CONSOLE@0x70000 0x20000 FMAP@0x90000 0x200 COREBOOT(CBFS) } }
The key is that the EC firmware has to be the 128KiB at 0x400000. The rest of the definitions were cloned from one of the mainboards (I forget which).
-Andy.