diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.c b/UefiCpuPkg/CpuDxe/CpuDxe.c index 369fe65aa6..52741fcb26 100644 --- a/UefiCpuPkg/CpuDxe/CpuDxe.c +++ b/UefiCpuPkg/CpuDxe/CpuDxe.c @@ -1061,7 +1061,7 @@ InitInterruptDescriptorTable ( IdtPtrAlignmentBuffer = AllocatePool (sizeof (*IdtPtr) + 16); IdtPtr = ALIGN_POINTER (IdtPtrAlignmentBuffer, 16); IdtPtr->Base = (UINT32)(((UINTN)(VOID*) gIdtTable) & (BASE_4GB-1)); - IdtPtr->Limit = sizeof (gIdtTable) - 1; + IdtPtr->Limit = (UINT16) (sizeof (gIdtTable) - 1); AsmWriteIdtr (IdtPtr); diff --git a/UefiCpuPkg/CpuDxe/CpuGdt.c b/UefiCpuPkg/CpuDxe/CpuGdt.c index 2fe27ad64e..32f45a535d 100644 --- a/UefiCpuPkg/CpuDxe/CpuGdt.c +++ b/UefiCpuPkg/CpuDxe/CpuGdt.c @@ -188,7 +188,7 @@ InitGlobalDescriptorTable ( // Write GDT register // gdtPtr.Base = (UINT32)(UINTN)(VOID*) gdt; - gdtPtr.Limit = sizeof (GdtTemplate) - 1; + gdtPtr.Limit = (UINT16) (sizeof (GdtTemplate) - 1); AsmWriteGdtr (&gdtPtr); //