Please sign in to comment.
Treat additional region types as available memory
In order for the ia64 loader to find the memory map area occupied by the kernel (a.k.a. ram_end), it needs to consider additioanl region types which also denote available memory (after the call to ExitBootServices). These are: EfiLoaderCode, EfiLoaderData, EfiBootServicesCode and EfiBootServicesData. Without this the memory map is incomplete and contains a big hole that covers the entire area of the loaded image. The loader then cannot find ram_end and the boot fails. The memory map also needs to be compacted so that adjacent regions of the same type are not too small for a successful boot.
- Loading branch information...