RETURN_STATUS Status;\r
MTRR_MEMORY_CACHE_TYPE CacheType;\r
\r
+ if (!IsMtrrSupported ()) {\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+\r
DEBUG((EFI_D_ERROR, "CpuAp: SetMemorySpaceAttributes(BA=%08x, Len=%08x, Attr=%08x)\n", BaseAddress, Length, Attributes));\r
\r
//\r
MTRR_FIXED_SETTINGS MtrrFixedSettings;\r
UINT32 FirmwareVariableMtrrCount;\r
\r
+ if (!IsMtrrSupported ()) {\r
+ return;\r
+ }\r
+\r
FirmwareVariableMtrrCount = GetFirmwareVariableMtrrCount ();\r
+ ASSERT (FirmwareVariableMtrrCount <= MTRR_NUMBER_OF_VARIABLE_MTRR);\r
\r
// mIsFlushingGCD = TRUE;\r
mIsFlushingGCD = FALSE;\r
IA32_DESCRIPTOR *IdtPtr;\r
UINTN Index;\r
UINTN CurrentHandler;\r
- BOOLEAN InterruptState;\r
\r
SetMem (ExternalVectorTable, sizeof(ExternalVectorTable), 0);\r
\r
IdtPtr->Base = (UINT32)(((UINTN)(VOID*) gIdtTable) & (BASE_4GB-1));\r
IdtPtr->Limit = sizeof (gIdtTable) - 1;\r
\r
- //\r
- // Disable interrupts and save the current interrupt state\r
- //\r
- InterruptState = SaveAndDisableInterrupts ();\r
-\r
AsmWriteIdtr (IdtPtr);\r
\r
- //\r
- // Restore the interrupt state\r
- //\r
- SetInterruptState (InterruptState);\r
-\r
FreePool (IdtPtrAlignmentBuffer);\r
\r
//\r