// |-------------------|----> TempRamBase\r
IdtTableInStack.PeiService = NULL;\r
AsmReadIdtr (&IdtDescriptor);\r
- if ((IdtDescriptor.Base == 0) && (IdtDescriptor.Limit == 0xFFFF)) {\r
+ if (IdtDescriptor.Base == 0) {\r
ExceptionHandler = FspGetExceptionHandler(mIdtEntryTemplate);\r
for (Index = 0; Index < FixedPcdGet8(PcdFspMaxInterruptSupported); Index ++) {\r
CopyMem ((VOID*)&IdtTableInStack.IdtTable[Index], (VOID*)&ExceptionHandler, sizeof (UINT64));\r
// ERROR: IDT table size from boot loader is larger than FSP can support, DeadLoop here!\r
//\r
CpuDeadLoop();\r
+ } else {\r
+ CopyMem ((VOID *) (UINTN) &IdtTableInStack.IdtTable, (VOID *) IdtDescriptor.Base, IdtSize);\r
}\r
- CopyMem ((VOID *) (UINTN) &IdtTableInStack.IdtTable, (VOID *) IdtDescriptor.Base, IdtSize);\r
}\r
IdtDescriptor.Base = (UINTN) &IdtTableInStack.IdtTable;\r
IdtDescriptor.Limit = (UINT16)(IdtSize - 1);\r