if ((LastE820 != NULL) &&\r
(LastE820->type == (UINT32) E820Type) &&\r
(MemoryMap->PhysicalStart == LastEndAddr)) {\r
- LastE820->size += EFI_PAGES_TO_SIZE (MemoryMap->NumberOfPages);\r
- LastEndAddr += EFI_PAGES_TO_SIZE (MemoryMap->NumberOfPages);\r
+ LastE820->size += EFI_PAGES_TO_SIZE ((UINTN) MemoryMap->NumberOfPages);\r
+ LastEndAddr += EFI_PAGES_TO_SIZE ((UINTN) MemoryMap->NumberOfPages);\r
} else {\r
if (E820EntryCount >= (sizeof (Bp->e820_map) / sizeof (Bp->e820_map[0]))) {\r
break;\r
}\r
E820->type = (UINT32) E820Type;\r
E820->addr = MemoryMap->PhysicalStart;\r
- E820->size = EFI_PAGES_TO_SIZE (MemoryMap->NumberOfPages);\r
+ E820->size = EFI_PAGES_TO_SIZE ((UINTN) MemoryMap->NumberOfPages);\r
LastE820 = E820;\r
LastEndAddr = E820->addr + E820->size;\r
E820++;\r
InitLinuxDescriptorTables ();\r
\r
Bp->hdr.code32_start = (UINT32)(UINTN) Kernel;\r
- if (Bp->hdr.version >= 0x20b && Bp->hdr.handover_offset &&\r
- (Bp->hdr.load_flags & (sizeof(long) >> 1))) {\r
+ if (Bp->hdr.version >= 0x20c && Bp->hdr.handover_offset &&\r
+ (Bp->hdr.load_flags & (sizeof (UINTN) == 4 ? BIT2 : BIT3))) {\r
DEBUG ((EFI_D_INFO, "Jumping to kernel EFI handover point at ofs %x\n", Bp->hdr.handover_offset));\r
\r
DisableInterrupts ();\r
JumpToUefiKernel ((VOID*) gImageHandle, (VOID*) gST, KernelSetup, Kernel);\r
}\r
+\r
//\r
// Old kernels without EFI handover protocol\r
//\r