@ -379,7 +379,7 @@
/* EXTRACT CPU ATTRIBUTE */
C ( 0 xeb4c , ECAG , RSY_a , GIE , 0 , a2 , r1 , 0 , ecag , 0 )
/* EXTRACT CPU TIME */
C ( 0 xc801 , ECTG , SSF , ECT , 0 , 0 , 0 , 0 , ectg , 0 )
F ( 0 xc801 , ECTG , SSF , ECT , 0 , 0 , 0 , 0 , ectg , 0 , IF_IO )
/* EXTRACT FPC */
F ( 0 xb38c , EFPC , RRE , Z , 0 , 0 , new , r1_32 , efpc , 0 , IF_BFP )
/* EXTRACT PSW */
@ -855,10 +855,10 @@
C ( 0 xe32f , STRVG , RXY_a , Z , la2 , r1_o , new , m1_64 , rev64 , 0 )
/* STORE CLOCK */
C ( 0 xb205 , STCK , S , Z , la2 , 0 , new , m1_64 , stck , 0 )
C ( 0 xb27c , STCKF , S , SCF , la2 , 0 , new , m1_64 , stck , 0 )
F ( 0 xb205 , STCK , S , Z , la2 , 0 , new , m1_64 , stck , 0 , IF_IO )
F ( 0 xb27c , STCKF , S , SCF , la2 , 0 , new , m1_64 , stck , 0 , IF_IO )
/* STORE CLOCK EXTENDED */
C ( 0 xb278 , STCKE , S , Z , 0 , a2 , 0 , 0 , stcke , 0 )
F ( 0 xb278 , STCKE , S , Z , 0 , a2 , 0 , 0 , stcke , 0 , IF_IO )
/* STORE FACILITY LIST EXTENDED */
C ( 0 xb2b0 , STFLE , S , SFLE , 0 , a2 , 0 , 0 , stfle , 0 )
@ -1269,7 +1269,7 @@
E ( 0 xb250 , CSP , RRE , Z , r1_32u , ra2 , r1_P , 0 , csp , 0 , MO_TEUL , IF_PRIV )
E ( 0 xb98a , CSPG , RRE , DAT_ENH , r1_o , ra2 , r1_P , 0 , csp , 0 , MO_TEQ , IF_PRIV )
/* DIAGNOSE (KVM hypercall) */
F ( 0x8300 , DIAG , RSI , Z , 0 , 0 , 0 , 0 , diag , 0 , IF_PRIV )
F ( 0x8300 , DIAG , RSI , Z , 0 , 0 , 0 , 0 , diag , 0 , IF_PRIV | IF_IO )
/* INSERT STORAGE KEY EXTENDED */
F ( 0 xb229 , ISKE , RRE , Z , 0 , r2_o , new , r1_8 , iske , 0 , IF_PRIV )
/* INVALIDATE DAT TABLE ENTRY */
@ -1301,17 +1301,17 @@
/* RESET REFERENCE BIT EXTENDED */
F ( 0 xb22a , RRBE , RRE , Z , 0 , r2_o , 0 , 0 , rrbe , 0 , IF_PRIV )
/* SERVICE CALL LOGICAL PROCESSOR (PV hypercall) */
F ( 0 xb220 , SERVC , RRE , Z , r1_o , r2_o , 0 , 0 , servc , 0 , IF_PRIV )
F ( 0 xb220 , SERVC , RRE , Z , r1_o , r2_o , 0 , 0 , servc , 0 , IF_PRIV | IF_IO )
/* SET ADDRESS SPACE CONTROL FAST */
F ( 0 xb279 , SACF , S , Z , 0 , a2 , 0 , 0 , sacf , 0 , IF_PRIV )
/* SET CLOCK */
F ( 0 xb204 , SCK , S , Z , la2 , 0 , 0 , 0 , sck , 0 , IF_PRIV )
F ( 0 xb204 , SCK , S , Z , la2 , 0 , 0 , 0 , sck , 0 , IF_PRIV | IF_IO )
/* SET CLOCK COMPARATOR */
F ( 0 xb206 , SCKC , S , Z , 0 , m2_64a , 0 , 0 , sckc , 0 , IF_PRIV )
F ( 0 xb206 , SCKC , S , Z , 0 , m2_64a , 0 , 0 , sckc , 0 , IF_PRIV | IF_IO )
/* SET CLOCK PROGRAMMABLE FIELD */
F ( 0x0107 , SCKPF , E , Z , 0 , 0 , 0 , 0 , sckpf , 0 , IF_PRIV )
/* SET CPU TIMER */
F ( 0 xb208 , SPT , S , Z , 0 , m2_64a , 0 , 0 , spt , 0 , IF_PRIV )
F ( 0 xb208 , SPT , S , Z , 0 , m2_64a , 0 , 0 , spt , 0 , IF_PRIV | IF_IO )
/* SET PREFIX */
F ( 0 xb210 , SPX , S , Z , 0 , m2_32ua , 0 , 0 , spx , 0 , IF_PRIV )
/* SET PSW KEY FROM ADDRESS */
@ -1321,7 +1321,7 @@
/* SET SYSTEM MASK */
F ( 0x8000 , SSM , S , Z , 0 , m2_8u , 0 , 0 , ssm , 0 , IF_PRIV )
/* SIGNAL PROCESSOR */
F ( 0 xae00 , SIGP , RS_a , Z , 0 , a2 , 0 , 0 , sigp , 0 , IF_PRIV )
F ( 0 xae00 , SIGP , RS_a , Z , 0 , a2 , 0 , 0 , sigp , 0 , IF_PRIV | IF_IO )
/* STORE CLOCK COMPARATOR */
F ( 0 xb207 , STCKC , S , Z , la2 , 0 , new , m1_64a , stckc , 0 , IF_PRIV )
/* STORE CONTROL */
@ -1332,7 +1332,7 @@
/* STORE CPU ID */
F ( 0 xb202 , STIDP , S , Z , la2 , 0 , new , m1_64a , stidp , 0 , IF_PRIV )
/* STORE CPU TIMER */
F ( 0 xb209 , STPT , S , Z , la2 , 0 , new , m1_64a , stpt , 0 , IF_PRIV )
F ( 0 xb209 , STPT , S , Z , la2 , 0 , new , m1_64a , stpt , 0 , IF_PRIV | IF_IO )
/* STORE FACILITY LIST */
F ( 0 xb2b1 , STFL , S , Z , 0 , 0 , 0 , 0 , stfl , 0 , IF_PRIV )
/* STORE PREFIX */
@ -1352,35 +1352,35 @@
C ( 0 xe501 , TPROT , SSE , Z , la1 , a2 , 0 , 0 , tprot , 0 )
/* CCW I/O Instructions */
F ( 0 xb276 , XSCH , S , Z , 0 , 0 , 0 , 0 , xsch , 0 , IF_PRIV )
F ( 0 xb230 , CSCH , S , Z , 0 , 0 , 0 , 0 , csch , 0 , IF_PRIV )
F ( 0 xb231 , HSCH , S , Z , 0 , 0 , 0 , 0 , hsch , 0 , IF_PRIV )
F ( 0 xb232 , MSCH , S , Z , 0 , insn , 0 , 0 , msch , 0 , IF_PRIV )
F ( 0 xb23b , RCHP , S , Z , 0 , 0 , 0 , 0 , rchp , 0 , IF_PRIV )
F ( 0 xb238 , RSCH , S , Z , 0 , 0 , 0 , 0 , rsch , 0 , IF_PRIV )
F ( 0 xb237 , SAL , S , Z , 0 , 0 , 0 , 0 , sal , 0 , IF_PRIV )
F ( 0 xb23c , SCHM , S , Z , 0 , insn , 0 , 0 , schm , 0 , IF_PRIV )
F ( 0 xb274 , SIGA , S , Z , 0 , 0 , 0 , 0 , siga , 0 , IF_PRIV )
F ( 0 xb23a , STCPS , S , Z , 0 , 0 , 0 , 0 , stcps , 0 , IF_PRIV )
F ( 0 xb233 , SSCH , S , Z , 0 , insn , 0 , 0 , ssch , 0 , IF_PRIV )
F ( 0 xb239 , STCRW , S , Z , 0 , insn , 0 , 0 , stcrw , 0 , IF_PRIV )
F ( 0 xb234 , STSCH , S , Z , 0 , insn , 0 , 0 , stsch , 0 , IF_PRIV )
F ( 0 xb236 , TPI , S , Z , la2 , 0 , 0 , 0 , tpi , 0 , IF_PRIV )
F ( 0 xb235 , TSCH , S , Z , 0 , insn , 0 , 0 , tsch , 0 , IF_PRIV )
F ( 0 xb276 , XSCH , S , Z , 0 , 0 , 0 , 0 , xsch , 0 , IF_PRIV | IF_IO )
F ( 0 xb230 , CSCH , S , Z , 0 , 0 , 0 , 0 , csch , 0 , IF_PRIV | IF_IO )
F ( 0 xb231 , HSCH , S , Z , 0 , 0 , 0 , 0 , hsch , 0 , IF_PRIV | IF_IO )
F ( 0 xb232 , MSCH , S , Z , 0 , insn , 0 , 0 , msch , 0 , IF_PRIV | IF_IO )
F ( 0 xb23b , RCHP , S , Z , 0 , 0 , 0 , 0 , rchp , 0 , IF_PRIV | IF_IO )
F ( 0 xb238 , RSCH , S , Z , 0 , 0 , 0 , 0 , rsch , 0 , IF_PRIV | IF_IO )
F ( 0 xb237 , SAL , S , Z , 0 , 0 , 0 , 0 , sal , 0 , IF_PRIV | IF_IO )
F ( 0 xb23c , SCHM , S , Z , 0 , insn , 0 , 0 , schm , 0 , IF_PRIV | IF_IO )
F ( 0 xb274 , SIGA , S , Z , 0 , 0 , 0 , 0 , siga , 0 , IF_PRIV | IF_IO )
F ( 0 xb23a , STCPS , S , Z , 0 , 0 , 0 , 0 , stcps , 0 , IF_PRIV | IF_IO )
F ( 0 xb233 , SSCH , S , Z , 0 , insn , 0 , 0 , ssch , 0 , IF_PRIV | IF_IO )
F ( 0 xb239 , STCRW , S , Z , 0 , insn , 0 , 0 , stcrw , 0 , IF_PRIV | IF_IO )
F ( 0 xb234 , STSCH , S , Z , 0 , insn , 0 , 0 , stsch , 0 , IF_PRIV | IF_IO )
F ( 0 xb236 , TPI , S , Z , la2 , 0 , 0 , 0 , tpi , 0 , IF_PRIV | IF_IO )
F ( 0 xb235 , TSCH , S , Z , 0 , insn , 0 , 0 , tsch , 0 , IF_PRIV | IF_IO )
/ * ? ? ? Not listed in PoO ninth edition , but there ' s a linux driver that
uses it : "A CHSC subchannel is usually present on LPAR only." * /
F ( 0 xb25f , CHSC , RRE , Z , 0 , insn , 0 , 0 , chsc , 0 , IF_PRIV )
F ( 0 xb25f , CHSC , RRE , Z , 0 , insn , 0 , 0 , chsc , 0 , IF_PRIV | IF_IO )
/* zPCI Instructions */
/ * None of these instructions are documented in the PoP , so this is all
based upon target / s390x / kvm . c and Linux code and likely incomplete * /
F ( 0 xebd0 , PCISTB , RSY_a , PCI , la2 , 0 , 0 , 0 , pcistb , 0 , IF_PRIV )
F ( 0 xebd1 , SIC , RSY_a , AIS , r1 , r3 , 0 , 0 , sic , 0 , IF_PRIV )
F ( 0 xb9a0 , CLP , RRF_c , PCI , 0 , 0 , 0 , 0 , clp , 0 , IF_PRIV )
F ( 0 xb9d0 , PCISTG , RRE , PCI , 0 , 0 , 0 , 0 , pcistg , 0 , IF_PRIV )
F ( 0 xb9d2 , PCILG , RRE , PCI , 0 , 0 , 0 , 0 , pcilg , 0 , IF_PRIV )
F ( 0 xb9d3 , RPCIT , RRE , PCI , 0 , 0 , 0 , 0 , rpcit , 0 , IF_PRIV )
F ( 0 xe3d0 , MPCIFC , RXY_a , PCI , la2 , 0 , 0 , 0 , mpcifc , 0 , IF_PRIV )
F ( 0 xe3d4 , STPCIFC , RXY_a , PCI , la2 , 0 , 0 , 0 , stpcifc , 0 , IF_PRIV )
F ( 0 xebd0 , PCISTB , RSY_a , PCI , la2 , 0 , 0 , 0 , pcistb , 0 , IF_PRIV | IF_IO )
F ( 0 xebd1 , SIC , RSY_a , AIS , r1 , r3 , 0 , 0 , sic , 0 , IF_PRIV | IF_IO )
F ( 0 xb9a0 , CLP , RRF_c , PCI , 0 , 0 , 0 , 0 , clp , 0 , IF_PRIV | IF_IO )
F ( 0 xb9d0 , PCISTG , RRE , PCI , 0 , 0 , 0 , 0 , pcistg , 0 , IF_PRIV | IF_IO )
F ( 0 xb9d2 , PCILG , RRE , PCI , 0 , 0 , 0 , 0 , pcilg , 0 , IF_PRIV | IF_IO )
F ( 0 xb9d3 , RPCIT , RRE , PCI , 0 , 0 , 0 , 0 , rpcit , 0 , IF_PRIV | IF_IO )
F ( 0 xe3d0 , MPCIFC , RXY_a , PCI , la2 , 0 , 0 , 0 , mpcifc , 0 , IF_PRIV | IF_IO )
F ( 0 xe3d4 , STPCIFC , RXY_a , PCI , la2 , 0 , 0 , 0 , stpcifc , 0 , IF_PRIV | IF_IO )
# endif /* CONFIG_USER_ONLY */