[Skiboot] [PATCH 1/2] include: Add PRD message definition

Neelesh Gupta neelegup at linux.vnet.ibm.com
Wed Feb 11 17:09:52 AEDT 2015


From: Jeremy Kerr <jk at ozlabs.org>

Signed-off-by: Jeremy Kerr <jk at ozlabs.org>
Signed-off-by: Neelesh Gupta <neelegup at linux.vnet.ibm.com>
---
 include/opal.h  |   41 ++++++++++++++++++++++++++++++++++++++++-
 include/xscom.h |    8 ++++++++
 2 files changed, 48 insertions(+), 1 deletion(-)

diff --git a/include/opal.h b/include/opal.h
index 6c9b13a..f9f502f 100644
--- a/include/opal.h
+++ b/include/opal.h
@@ -154,7 +154,8 @@
 #define OPAL_IPMI_SEND				107
 #define OPAL_IPMI_RECV				108
 #define OPAL_I2C_REQUEST			109
-#define OPAL_LAST				109
+#define OPAL_PRD_MSG				110
+#define OPAL_LAST				110
 
 #ifndef __ASSEMBLY__
 
@@ -398,6 +399,7 @@ enum OpalMessageType {
 	OPAL_MSG_SHUTDOWN,
 	OPAL_MSG_HMI_EVT,
 	OPAL_MSG_DPO,
+	OPAL_MSG_PRD,
 	OPAL_MSG_TYPE_MAX,
 };
 
@@ -754,6 +756,43 @@ typedef struct oppanel_line {
 	uint64_t 	line_len;
 } oppanel_line_t;
 
+enum opal_prd_msg_type {
+	OPAL_PRD_MSG_TYPE_INIT = 0,	/* RT --> FW */
+	OPAL_PRD_MSG_TYPE_FINI,		/* RT --> FW */
+	OPAL_PRD_MSG_TYPE_ATTN,		/* RT <-- FW */
+	OPAL_PRD_MSG_TYPE_ATTN_ACK,	/* RT --> FW */
+	OPAL_PRD_MSG_TYPE_OCC_ERROR,	/* RT <-- FW */
+	OPAL_PRD_MSG_TYPE_OCC_RESET,	/* RT <-- FW */
+	OPAL_PRD_MSG_TYPE_MAX,
+};
+
+struct opal_prd_msg {
+	uint8_t		type;
+	uint8_t		pad[3];
+	uint32_t	token;
+	union {
+		struct {
+			uint32_t	version;
+			uint64_t	ipoll;
+		} init;
+		struct {
+			uint64_t	proc;
+			uint64_t	ipoll_status;
+			uint64_t	ipoll_mask;
+		} attn;
+		struct {
+			uint64_t	proc;
+			uint64_t	ipoll_ack;
+		} attn_ack;
+		struct {
+			uint64_t	chip;
+		} occ_error;
+		struct {
+			uint64_t	chip;
+		} occ_reset;
+	};
+};
+
 /*
  * SG entries used for code update
  *
diff --git a/include/xscom.h b/include/xscom.h
index 5eed85f..970840b 100644
--- a/include/xscom.h
+++ b/include/xscom.h
@@ -154,6 +154,14 @@
 #define EX_PM_IDLE_ST_HIST_PM_STATE_MASK	PPC_BITMASK(0, 2)
 #define EX_PM_IDLE_ST_HIST_PM_STATE_LSH		PPC_BITLSHIFT(2)
 
+/* PRD registers */
+#define PRD_IPOLL_MASK_REG	0x01020013
+#define PRD_ERROR_STATUS	0x01020014
+#define PRD_IPOLL_XSTOP		PPC_BIT(0) /* Xstop for host/core/millicode */
+#define PRD_IPOLL_RECOV		PPC_BIT(1) /* Recoverable */
+#define PRD_IPOLL_SPEC_ATTN	PPC_BIT(2) /* Special attention */
+#define PRD_IPOLL_HOST_ATTN	PPC_BIT(3) /* Host attention */
+#define PRD_IPOLL_MASK		PPC_BITMASK(0, 3)
 
 /*
  * Error handling:



More information about the Skiboot mailing list