- Status = gDS->GetIoSpaceMap(&NumberOfDescriptors,&IoSpaceMap);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
- for (i=0; i < NumberOfDescriptors; i++) {\r
- AsciiPrint ("IO %08lx - %08lx",IoSpaceMap[i].BaseAddress,IoSpaceMap[i].BaseAddress+IoSpaceMap[i].Length);\r
- AsciiPrint ("\t%08x %08x",IoSpaceMap[i].ImageHandle,IoSpaceMap[i].DeviceHandle);\r
-\r
- if (IoSpaceMap[i].GcdIoType & EfiGcdMemoryTypeNonExistent)\r
- AsciiPrint (" TYPE_NONEXISTENT");\r
- if (IoSpaceMap[i].GcdIoType & EfiGcdMemoryTypeReserved)\r
- AsciiPrint (" TYPE_RESERVED");\r
- if (IoSpaceMap[i].GcdIoType & EfiGcdIoTypeIo)\r
- AsciiPrint (" TYPE_IO");\r
-\r
- AsciiPrint ("\n");\r
- }\r
+ Status = gDS->GetMemorySpaceMap(&NumberOfDescriptors,&MemorySpaceMap);\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+ AsciiPrint (" Address Range Image Device Attributes\n");\r
+ AsciiPrint ("__________________________________________________________\n");\r
+ for (i=0; i < NumberOfDescriptors; i++) {\r
+ AsciiPrint ("MEM %016lx - %016lx",(UINT64)MemorySpaceMap[i].BaseAddress,MemorySpaceMap[i].BaseAddress+MemorySpaceMap[i].Length-1);\r
+ AsciiPrint (" %08x %08x",MemorySpaceMap[i].ImageHandle,MemorySpaceMap[i].DeviceHandle);\r
+\r
+ if (MemorySpaceMap[i].Attributes & EFI_MEMORY_RUNTIME)\r
+ AsciiPrint (" RUNTIME");\r
+ if (MemorySpaceMap[i].Attributes & EFI_MEMORY_PORT_IO)\r
+ AsciiPrint (" PORT_IO");\r
+\r
+ if (MemorySpaceMap[i].Attributes & EFI_MEMORY_UC)\r
+ AsciiPrint (" MEM_UC");\r
+ if (MemorySpaceMap[i].Attributes & EFI_MEMORY_WC)\r
+ AsciiPrint (" MEM_WC");\r
+ if (MemorySpaceMap[i].Attributes & EFI_MEMORY_WT)\r
+ AsciiPrint (" MEM_WT");\r
+ if (MemorySpaceMap[i].Attributes & EFI_MEMORY_WB)\r
+ AsciiPrint (" MEM_WB");\r
+ if (MemorySpaceMap[i].Attributes & EFI_MEMORY_UCE)\r
+ AsciiPrint (" MEM_UCE");\r
+ if (MemorySpaceMap[i].Attributes & EFI_MEMORY_WP)\r
+ AsciiPrint (" MEM_WP");\r
+ if (MemorySpaceMap[i].Attributes & EFI_MEMORY_RP)\r
+ AsciiPrint (" MEM_RP");\r
+ if (MemorySpaceMap[i].Attributes & EFI_MEMORY_XP)\r
+ AsciiPrint (" MEM_XP");\r
+\r
+ if (MemorySpaceMap[i].GcdMemoryType & EfiGcdMemoryTypeNonExistent)\r
+ AsciiPrint (" TYPE_NONEXISTENT");\r
+ if (MemorySpaceMap[i].GcdMemoryType & EfiGcdMemoryTypeReserved)\r
+ AsciiPrint (" TYPE_RESERVED");\r
+ if (MemorySpaceMap[i].GcdMemoryType & EfiGcdMemoryTypeSystemMemory)\r
+ AsciiPrint (" TYPE_SYSMEM");\r
+ if (MemorySpaceMap[i].GcdMemoryType & EfiGcdMemoryTypeMemoryMappedIo)\r
+ AsciiPrint (" TYPE_MEMMAP");\r
+\r
+ AsciiPrint ("\n");\r
+ }\r
+\r
+ Status = gDS->GetIoSpaceMap(&NumberOfDescriptors,&IoSpaceMap);\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+ for (i=0; i < NumberOfDescriptors; i++) {\r
+ AsciiPrint ("IO %08lx - %08lx",IoSpaceMap[i].BaseAddress,IoSpaceMap[i].BaseAddress+IoSpaceMap[i].Length);\r
+ AsciiPrint ("\t%08x %08x",IoSpaceMap[i].ImageHandle,IoSpaceMap[i].DeviceHandle);\r
+\r
+ if (IoSpaceMap[i].GcdIoType & EfiGcdMemoryTypeNonExistent)\r
+ AsciiPrint (" TYPE_NONEXISTENT");\r
+ if (IoSpaceMap[i].GcdIoType & EfiGcdMemoryTypeReserved)\r
+ AsciiPrint (" TYPE_RESERVED");\r
+ if (IoSpaceMap[i].GcdIoType & EfiGcdIoTypeIo)\r
+ AsciiPrint (" TYPE_IO");\r
+\r
+ AsciiPrint ("\n");\r
+ }\r