1#include <stdio.h> 2 3#include "efi.h" 4#include "util.h" 5 6void 7print_mmap(efi_memory_descriptor *mmap, size_t mmap_len) { 8 size_t i; 9 10 printf("EFI Memory Map:\n"); 11 for(i= 0; i < mmap_len; i++) { 12 printf("%016lx-%016lx ", 13 mmap[i].PhysicalStart, 14 mmap[i].PhysicalStart + (mmap[i].NumberOfPages * PAGE_4k) - 1); 15 switch(mmap[i].Type) { 16 case EfiConventionalMemory: 17 printf("EfiConventionalMemory"); 18 break; 19 case EfiBarrelfishCPUDriver: 20 printf("EfiBarrelfishCPUDriver"); 21 break; 22 case EfiBarrelfishCPUDriverStack: 23 printf("EfiBarrelfishCPUDriverStack"); 24 break; 25 case EfiBarrelfishMultibootData: 26 printf("EfiBarrelfishMultibootData"); 27 break; 28 case EfiBarrelfishELFData: 29 printf("EfiBarrelfishELFData"); 30 break; 31 case EfiBarrelfishBootPageTable: 32 printf("EfiBarrelfishBootPageTable"); 33 break; 34 default: 35 printf("Unrecognised"); 36 } 37 printf(" (%lukB)\n", mmap[i].NumberOfPages * 4); 38 } 39} 40