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

Reply via email to