]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/char/sclp.h
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6-omap-h63xx.git] / drivers / s390 / char / sclp.h
index 7d29ab45a6ed7fb21b392a5d2cd785e1f1c7983a..c7318a125852e37c94f0359ba2ce0d7e7d4d8912 100644 (file)
 #define MAX_KMEM_PAGES (sizeof(unsigned long) << 3)
 #define MAX_CONSOLE_PAGES      4
 
-#define EvTyp_OpCmd            0x01
-#define EvTyp_Msg              0x02
-#define EvTyp_StateChange      0x08
-#define EvTyp_PMsgCmd          0x09
-#define EvTyp_CntlProgOpCmd    0x20
-#define EvTyp_CntlProgIdent    0x0B
-#define EvTyp_SigQuiesce       0x1D
-#define EvTyp_VT220Msg         0x1A
-
-#define EvTyp_OpCmd_Mask       0x80000000
-#define EvTyp_Msg_Mask         0x40000000
-#define EvTyp_StateChange_Mask 0x01000000
-#define EvTyp_PMsgCmd_Mask     0x00800000
-#define EvTyp_CtlProgOpCmd_Mask        0x00000001
-#define EvTyp_CtlProgIdent_Mask        0x00200000
-#define EvTyp_SigQuiesce_Mask  0x00000008
-#define EvTyp_VT220Msg_Mask    0x00000040
-
-#define GnrlMsgFlgs_DOM                0x8000
-#define GnrlMsgFlgs_SndAlrm    0x4000
-#define GnrlMsgFlgs_HoldMsg    0x2000
-
-#define LnTpFlgs_CntlText      0x8000
-#define LnTpFlgs_LabelText     0x4000
-#define LnTpFlgs_DataText      0x2000
-#define LnTpFlgs_EndText       0x1000
-#define LnTpFlgs_PromptText    0x0800
+#define EVTYP_OPCMD            0x01
+#define EVTYP_MSG              0x02
+#define EVTYP_STATECHANGE      0x08
+#define EVTYP_PMSGCMD          0x09
+#define EVTYP_CNTLPROGOPCMD    0x20
+#define EVTYP_CNTLPROGIDENT    0x0B
+#define EVTYP_SIGQUIESCE       0x1D
+#define EVTYP_VT220MSG         0x1A
+#define EVTYP_CONFMGMDATA      0x04
+#define EVTYP_SDIAS            0x1C
+
+#define EVTYP_OPCMD_MASK       0x80000000
+#define EVTYP_MSG_MASK         0x40000000
+#define EVTYP_STATECHANGE_MASK 0x01000000
+#define EVTYP_PMSGCMD_MASK     0x00800000
+#define EVTYP_CTLPROGOPCMD_MASK        0x00000001
+#define EVTYP_CTLPROGIDENT_MASK        0x00200000
+#define EVTYP_SIGQUIESCE_MASK  0x00000008
+#define EVTYP_VT220MSG_MASK    0x00000040
+#define EVTYP_CONFMGMDATA_MASK 0x10000000
+#define EVTYP_SDIAS_MASK       0x00000010
+
+#define GNRLMSGFLGS_DOM                0x8000
+#define GNRLMSGFLGS_SNDALRM    0x4000
+#define GNRLMSGFLGS_HOLDMSG    0x2000
+
+#define LNTPFLGS_CNTLTEXT      0x8000
+#define LNTPFLGS_LABELTEXT     0x4000
+#define LNTPFLGS_DATATEXT      0x2000
+#define LNTPFLGS_ENDTEXT       0x1000
+#define LNTPFLGS_PROMPTTEXT    0x0800
 
 typedef unsigned int sclp_cmdw_t;
 
@@ -56,18 +60,30 @@ typedef unsigned int sclp_cmdw_t;
 #define SCLP_CMDW_READ_SCP_INFO_FORCED 0x00120001
 
 #define GDS_ID_MDSMU           0x1310
-#define GDS_ID_MDSRouteInfo    0x1311
-#define GDS_ID_AgUnWrkCorr     0x1549
-#define GDS_ID_SNACondReport   0x1532
+#define GDS_ID_MDSROUTEINFO    0x1311
+#define GDS_ID_AGUNWRKCORR     0x1549
+#define GDS_ID_SNACONDREPORT   0x1532
 #define GDS_ID_CPMSU           0x1212
-#define GDS_ID_RoutTargInstr   0x154D
-#define GDS_ID_OpReq           0x8070
-#define GDS_ID_TextCmd         0x1320
+#define GDS_ID_ROUTTARGINSTR   0x154D
+#define GDS_ID_OPREQ           0x8070
+#define GDS_ID_TEXTCMD         0x1320
 
-#define GDS_KEY_SelfDefTextMsg 0x31
+#define GDS_KEY_SELFDEFTEXTMSG 0x31
 
 typedef u32 sccb_mask_t;       /* ATTENTION: assumes 32bit mask !!! */
 
+struct sccb_header {
+       u16     length;
+       u8      function_code;
+       u8      control_mask[3];
+       u16     response_code;
+} __attribute__((packed));
+
+extern u64 sclp_facilities;
+
+#define SCLP_HAS_CHP_INFO      (sclp_facilities & 0x8000000000000000ULL)
+#define SCLP_HAS_CHP_RECONFIG  (sclp_facilities & 0x2000000000000000ULL)
+
 struct gds_subvector {
        u8      length;
        u8      key;
@@ -128,6 +144,9 @@ int sclp_deactivate(void);
 int sclp_reactivate(void);
 int sclp_service_call(sclp_cmdw_t command, void *sccb);
 
+int sclp_sdias_init(void);
+void sclp_sdias_exit(void);
+
 /* useful inlines */
 
 /* VM uses EBCDIC 037, LPAR+native(SE+HMC) use EBCDIC 500 */