|
@@ -215,3 +215,66 @@ typedef struct ia64_sal_ptc_domain_info {
|
|
|
u64 proc_list; /* physical address of LID array */
|
|
|
} ia64_sal_ptc_domain_info_t;
|
|
|
|
|
|
+typedef struct ia64_sal_ptc_domain_proc_entry {
|
|
|
+ u64 id : 8; /* id of processor */
|
|
|
+ u64 eid : 8; /* eid of processor */
|
|
|
+} ia64_sal_ptc_domain_proc_entry_t;
|
|
|
+
|
|
|
+
|
|
|
+#define IA64_SAL_AP_EXTERNAL_INT 0
|
|
|
+
|
|
|
+typedef struct ia64_sal_desc_ap_wakeup {
|
|
|
+ u8 type;
|
|
|
+ u8 mechanism; /* 0 == external interrupt */
|
|
|
+ u8 reserved1[6];
|
|
|
+ u64 vector; /* interrupt vector in range 0x10-0xff */
|
|
|
+} ia64_sal_desc_ap_wakeup_t ;
|
|
|
+
|
|
|
+extern ia64_sal_handler ia64_sal;
|
|
|
+extern struct ia64_sal_desc_ptc *ia64_ptc_domain_info;
|
|
|
+
|
|
|
+extern unsigned short sal_revision; /* supported SAL spec revision */
|
|
|
+extern unsigned short sal_version; /* SAL version; OEM dependent */
|
|
|
+#define SAL_VERSION_CODE(major, minor) ((bin2bcd(major) << 8) | bin2bcd(minor))
|
|
|
+
|
|
|
+extern const char *ia64_sal_strerror (long status);
|
|
|
+extern void ia64_sal_init (struct ia64_sal_systab *sal_systab);
|
|
|
+
|
|
|
+/* SAL information type encodings */
|
|
|
+enum {
|
|
|
+ SAL_INFO_TYPE_MCA = 0, /* Machine check abort information */
|
|
|
+ SAL_INFO_TYPE_INIT = 1, /* Init information */
|
|
|
+ SAL_INFO_TYPE_CMC = 2, /* Corrected machine check information */
|
|
|
+ SAL_INFO_TYPE_CPE = 3 /* Corrected platform error information */
|
|
|
+};
|
|
|
+
|
|
|
+/* Encodings for machine check parameter types */
|
|
|
+enum {
|
|
|
+ SAL_MC_PARAM_RENDEZ_INT = 1, /* Rendezvous interrupt */
|
|
|
+ SAL_MC_PARAM_RENDEZ_WAKEUP = 2, /* Wakeup */
|
|
|
+ SAL_MC_PARAM_CPE_INT = 3 /* Corrected Platform Error Int */
|
|
|
+};
|
|
|
+
|
|
|
+/* Encodings for rendezvous mechanisms */
|
|
|
+enum {
|
|
|
+ SAL_MC_PARAM_MECHANISM_INT = 1, /* Use interrupt */
|
|
|
+ SAL_MC_PARAM_MECHANISM_MEM = 2 /* Use memory synchronization variable*/
|
|
|
+};
|
|
|
+
|
|
|
+/* Encodings for vectors which can be registered by the OS with SAL */
|
|
|
+enum {
|
|
|
+ SAL_VECTOR_OS_MCA = 0,
|
|
|
+ SAL_VECTOR_OS_INIT = 1,
|
|
|
+ SAL_VECTOR_OS_BOOT_RENDEZ = 2
|
|
|
+};
|
|
|
+
|
|
|
+/* Encodings for mca_opt parameter sent to SAL_MC_SET_PARAMS */
|
|
|
+#define SAL_MC_PARAM_RZ_ALWAYS 0x1
|
|
|
+#define SAL_MC_PARAM_BINIT_ESCALATE 0x10
|
|
|
+
|
|
|
+/*
|
|
|
+ * Definition of the SAL Error Log from the SAL spec
|
|
|
+ */
|
|
|
+
|
|
|
+/* SAL Error Record Section GUID Definitions */
|
|
|
+#define SAL_PROC_DEV_ERR_SECT_GUID \
|