THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
\r
- Module Name: SalApi.h\r
-\r
**/\r
\r
#ifndef __SAL_API_H__\r
#define EFI_SAL_PCI_CONFIG_READ 0x01000010\r
#define EFI_SAL_PCI_CONFIG_WRITE 0x01000011\r
#define EFI_SAL_FREQ_BASE 0x01000012\r
+#define EFI_SAL_PHYSICAL_ID_INFO 0x01000013\r
#define EFI_SAL_UPDATE_PAL 0x01000020\r
\r
#define EFI_SAL_FUNCTION_ID_MASK 0x0000ffff\r
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