Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _ASM_S390_CLP_H
0003 #define _ASM_S390_CLP_H
0004 
0005 /* CLP common request & response block size */
0006 #define CLP_BLK_SIZE            PAGE_SIZE
0007 
0008 /* Call Logical Processor - Command Code */
0009 #define CLP_SLPC        0x0001
0010 
0011 #define CLP_LPS_BASE    0
0012 #define CLP_LPS_PCI 2
0013 
0014 struct clp_req_hdr {
0015     u16 len;
0016     u16 cmd;
0017     u32 fmt     : 4;
0018     u32 reserved1   : 28;
0019     u64 reserved2;
0020 } __packed;
0021 
0022 struct clp_rsp_hdr {
0023     u16 len;
0024     u16 rsp;
0025     u32 fmt     : 4;
0026     u32 reserved1   : 28;
0027     u64 reserved2;
0028 } __packed;
0029 
0030 /* CLP Response Codes */
0031 #define CLP_RC_OK           0x0010  /* Command request successfully */
0032 #define CLP_RC_CMD          0x0020  /* Command code not recognized */
0033 #define CLP_RC_PERM         0x0030  /* Command not authorized */
0034 #define CLP_RC_FMT          0x0040  /* Invalid command request format */
0035 #define CLP_RC_LEN          0x0050  /* Invalid command request length */
0036 #define CLP_RC_8K           0x0060  /* Command requires 8K LPCB */
0037 #define CLP_RC_RESNOT0          0x0070  /* Reserved field not zero */
0038 #define CLP_RC_NODATA           0x0080  /* No data available */
0039 #define CLP_RC_FC_UNKNOWN       0x0100  /* Function code not recognized */
0040 
0041 /* Store logical-processor characteristics request */
0042 struct clp_req_slpc {
0043     struct clp_req_hdr hdr;
0044 } __packed;
0045 
0046 struct clp_rsp_slpc {
0047     struct clp_rsp_hdr hdr;
0048     u32 reserved2[4];
0049     u32 lpif[8];
0050     u32 reserved3[8];
0051     u32 lpic[8];
0052 } __packed;
0053 
0054 struct clp_req_rsp_slpc {
0055     struct clp_req_slpc request;
0056     struct clp_rsp_slpc response;
0057 } __packed;
0058 
0059 #endif