On 09/27/18 12:59, Marc-André Lureau wrote: > Hi, > > According to "TCG Platform Reset Attack Mitigation Specification", if > MOR bit is set, "it must initiate a vendor-specific method that > overwrites all of system memory and the processor caches" > > In QuarkPlatformPkg/Platform/Pei/PlatformInit/MemoryCallback.c and > QuarkPlatformPkg/Platform/Pei/PlatformInit/MrcWrapper.c, there is some > code to clear RAM, however I don't see code that would clear the > processor caches. > > For edk2/qemu, Paolo suggested it may be simpler to clear the cache > unconditionally. How would you implement that? Using > EFI_CPU_ARCH_PROTOCOL.FlushDataCache? (or direct AsmWbinvd call)
I would call the appropriate low-level BaseLib.h function somewhere in OvmfPkg/PlatformPei (unconditionally, yes). I haven't looked into AsmWbinvd(), but if that's the right function, call that. (Checking the Intel SDM re: WBINVD, I agree it could be the right one.) Laszlo _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

