|
@@ -760,6 +760,19 @@ SecCoreStartupWithStack (
|
|
|
|
|
|
#if defined (TDX_GUEST_SUPPORTED)
|
|
|
if (CcProbe () == CcGuestTypeIntelTdx) {
|
|
|
+ //
|
|
|
+ // From the security perspective all the external input should be measured before
|
|
|
+ // it is consumed. TdHob and Configuration FV (Cfv) image are passed from VMM
|
|
|
+ // and should be measured here.
|
|
|
+ //
|
|
|
+ if (EFI_ERROR (TdxHelperMeasureTdHob ())) {
|
|
|
+ CpuDeadLoop ();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (EFI_ERROR (TdxHelperMeasureCfvImage ())) {
|
|
|
+ CpuDeadLoop ();
|
|
|
+ }
|
|
|
+
|
|
|
//
|
|
|
// For Td guests, the memory map info is in TdHobLib. It should be processed
|
|
|
// first so that the memory is accepted. Otherwise access to the unaccepted
|