0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef S390_ORB_H
0013 #define S390_ORB_H
0014
0015
0016
0017
0018 struct cmd_orb {
0019 u32 intparm;
0020 u32 key:4;
0021 u32 spnd:1;
0022 u32 res1:1;
0023 u32 mod:1;
0024 u32 sync:1;
0025 u32 fmt:1;
0026 u32 pfch:1;
0027 u32 isic:1;
0028 u32 alcc:1;
0029 u32 ssic:1;
0030 u32 res2:1;
0031 u32 c64:1;
0032 u32 i2k:1;
0033 u32 lpm:8;
0034 u32 ils:1;
0035 u32 zero:6;
0036 u32 orbx:1;
0037 u32 cpa;
0038 } __packed __aligned(4);
0039
0040
0041
0042
0043 struct tm_orb {
0044 u32 intparm;
0045 u32 key:4;
0046 u32:9;
0047 u32 b:1;
0048 u32:2;
0049 u32 lpm:8;
0050 u32:7;
0051 u32 x:1;
0052 u32 tcw;
0053 u32 prio:8;
0054 u32:8;
0055 u32 rsvpgm:8;
0056 u32:8;
0057 u32:32;
0058 u32:32;
0059 u32:32;
0060 u32:32;
0061 } __packed __aligned(4);
0062
0063
0064
0065
0066 struct eadm_orb {
0067 u32 intparm;
0068 u32 key:4;
0069 u32:4;
0070 u32 compat1:1;
0071 u32 compat2:1;
0072 u32:21;
0073 u32 x:1;
0074 u32 aob;
0075 u32 css_prio:8;
0076 u32:8;
0077 u32 scm_prio:8;
0078 u32:8;
0079 u32:29;
0080 u32 fmt:3;
0081 u32:32;
0082 u32:32;
0083 u32:32;
0084 } __packed __aligned(4);
0085
0086 union orb {
0087 struct cmd_orb cmd;
0088 struct tm_orb tm;
0089 struct eadm_orb eadm;
0090 } __packed __aligned(4);
0091
0092 #endif