26 throw std::runtime_error(
"memory_map == nullptr");
34 debug << L
"Type\t\t\t\tPages\tPhysicalStart\tVirtualStart\tAttribute"
37 auto *MMap =
reinterpret_cast<EFI_MEMORY_DESCRIPTOR *
>(
41 case EfiReservedMemoryType: {
42 debug << L
"iReservedMemoryType\t\t";
46 debug << L
"EfiLoaderCode\t\t\t";
50 debug << L
"EfiLoaderData\t\t\t";
53 case EfiBootServicesCode: {
54 debug << L
"EfiBootServicesCode\t\t";
57 case EfiBootServicesData: {
58 debug << L
"EfiBootServicesData\t\t";
61 case EfiRuntimeServicesCode: {
62 debug << L
"EfiRuntimeServicesCode\t\t";
65 case EfiRuntimeServicesData: {
66 debug << L
"EfiRuntimeServicesData\t\t";
69 case EfiConventionalMemory: {
70 debug << L
"EfiConventionalMemory\t\t";
73 case EfiUnusableMemory: {
74 debug << L
"EfiUnusableMemory\t\t";
77 case EfiACPIReclaimMemory: {
78 debug << L
"EfiACPIReclaimMemory\t\t";
81 case EfiACPIMemoryNVS: {
82 debug << L
"EfiACPIMemoryNVS\t\t";
85 case EfiMemoryMappedIO: {
86 debug << L
"EfiMemoryMappedIO\t\t";
89 case EfiMemoryMappedIOPortSpace: {
90 debug << L
"EfiMemoryMappedIOPortSpace\t\t";
94 debug << L
"EfiPalCode\t\t";
97 case EfiMaxMemoryType: {
98 debug << L
"EfiMaxMemoryType\t\t";
109 << MMap->VirtualStart << L
"\t" <<
ostream::hex_X << MMap->Attribute
EFI_MEMORY_DESCRIPTOR * memory_map
static auto endl(ostream &_ostream) -> ostream &
static auto hex_x(ostream &_ostream) -> ostream &
static auto hex_X(ostream &_ostream) -> ostream &
static ostream debug
全局输出流