aos/tools/fastmodels/efi.c
Daniel Schwyn 6d444bf552 Main handout
Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>
2022-03-03 14:57:51 +01:00

40 lines
1.2 KiB
C

#include <stdio.h>
#include "efi.h"
#include "util.h"
void
print_mmap(efi_memory_descriptor *mmap, size_t mmap_len) {
size_t i;
printf("EFI Memory Map:\n");
for(i= 0; i < mmap_len; i++) {
printf("%016lx-%016lx ",
mmap[i].PhysicalStart,
mmap[i].PhysicalStart + (mmap[i].NumberOfPages * PAGE_4k) - 1);
switch(mmap[i].Type) {
case EfiConventionalMemory:
printf("EfiConventionalMemory");
break;
case EfiBarrelfishCPUDriver:
printf("EfiBarrelfishCPUDriver");
break;
case EfiBarrelfishCPUDriverStack:
printf("EfiBarrelfishCPUDriverStack");
break;
case EfiBarrelfishMultibootData:
printf("EfiBarrelfishMultibootData");
break;
case EfiBarrelfishELFData:
printf("EfiBarrelfishELFData");
break;
case EfiBarrelfishBootPageTable:
printf("EfiBarrelfishBootPageTable");
break;
default:
printf("Unrecognised");
}
printf(" (%lukB)\n", mmap[i].NumberOfPages * 4);
}
}