UINT64 Reserved2[2];\r
} SAL_ST_ENTRY_POINT_DESCRIPTOR;\r
\r
-//\r
-// Not needed for Itanium-based OS boot\r
-//\r
-typedef struct {\r
- UINT8 Type; // Type == 1\r
- UINT8 NeedVirtualRegistration;\r
- UINT8 MemoryAttributes;\r
- UINT8 PageAccessRights;\r
- UINT8 SupportedAttributes;\r
- UINT8 Reserved;\r
- UINT8 MemoryType;\r
- UINT8 MemoryUsage;\r
- UINT64 PhysicalMemoryAddress;\r
- UINT32 Length;\r
- UINT32 Reserved1;\r
- UINT64 OemReserved;\r
-} SAL_ST_MEMORY_DESCRIPTOR_ENTRY;\r
-\r
-#pragma pack()\r
-//\r
-// Memory Attributes\r
-//\r
-#define SAL_MDT_ATTRIB_WB 0x00\r
-//\r
-// #define SAL_MDT_ATTRIB_UC 0x02\r
-//\r
-#define SAL_MDT_ATTRIB_UC 0x04\r
-#define SAL_MDT_ATTRIB_UCE 0x05\r
-#define SAL_MDT_ATTRIB_WC 0x06\r
-\r
-//\r
-// Supported memory Attributes\r
-//\r
-#define SAL_MDT_SUPPORT_WB 0x1\r
-#define SAL_MDT_SUPPORT_UC 0x2\r
-#define SAL_MDT_SUPPORT_UCE 0x4\r
-#define SAL_MDT_SUPPORT_WC 0x8\r
-\r
-//\r
-// Virtual address registration\r
-//\r
-#define SAL_MDT_NO_VA 0x00\r
-#define SAL_MDT_NEED_VA 0x01\r
-//\r
-// MemoryType info\r
-//\r
-#define SAL_REGULAR_MEMORY 0x0000\r
-#define SAL_MMIO_MAPPING 0x0001\r
-#define SAL_SAPIC_IPI_BLOCK 0x0002\r
-#define SAL_IO_PORT_MAPPING 0x0003\r
-#define SAL_FIRMWARE_MEMORY 0x0004\r
-#define SAL_BLACK_HOLE 0x000A\r
-//\r
-// Memory Usage info\r
-//\r
-#define SAL_MDT_USAGE_UNSPECIFIED 0x00\r
-#define SAL_PAL_CODE 0x01\r
-#define SAL_BOOTSERVICE_CODE 0x02\r
-#define SAL_BOOTSERVICE_DATA 0x03\r
-#define SAL_RUNTIMESERVICE_CODE 0x04\r
-#define SAL_RUNTIMESERVICE_DATA 0x05\r
-#define SAL_IA32_OPTIONROM 0x06\r
-#define SAL_IA32_SYSTEMROM 0x07\r
-#define SAL_PMI_CODE 0x0a\r
-#define SAL_PMI_DATA 0x0b\r
-\r
#pragma pack(1)\r
typedef struct {\r
UINT8 Type; // Type == 2\r