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.

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.