On 08/01/2017 09:57 AM, Dong Jia Shi wrote: > Let's use a macro for the ERC (error recover code) when generating a > Channel Subsystem Event-information pending CRW (channel report word). > > While we are at it, let's also add all other ERCs. > > Signed-off-by: Dong Jia Shi <bjsdj...@linux.vnet.ibm.com> > --- > hw/s390x/css.c | 2 +- > include/hw/s390x/ioinst.h | 11 +++++++++-- > 2 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/hw/s390x/css.c b/hw/s390x/css.c > index 6a42b95cee..5321ca016b 100644 > --- a/hw/s390x/css.c > +++ b/hw/s390x/css.c > @@ -2103,7 +2103,7 @@ void css_generate_chp_crws(uint8_t cssid, uint8_t chpid) > void css_generate_css_crws(uint8_t cssid) > { > if (!channel_subsys.sei_pending) { > - css_queue_crw(CRW_RSC_CSS, 0, 0, cssid); > + css_queue_crw(CRW_RSC_CSS, CRW_ERC_EVENT, 0, cssid); > } > channel_subsys.sei_pending = true; > } > diff --git a/include/hw/s390x/ioinst.h b/include/hw/s390x/ioinst.h > index 92d15655e4..f89019f78f 100644 > --- a/include/hw/s390x/ioinst.h > +++ b/include/hw/s390x/ioinst.h > @@ -201,8 +201,15 @@ typedef struct CRW { > #define CRW_FLAGS_MASK_A 0x0080 > #define CRW_FLAGS_MASK_ERC 0x003f > > -#define CRW_ERC_INIT 0x02 > -#define CRW_ERC_IPI 0x04 > +#define CRW_ERC_EVENT 0x00 /* event information pending */ > +#define CRW_ERC_AVAIL 0x01 /* available */ > +#define CRW_ERC_INIT 0x02 /* initialized */ > +#define CRW_ERC_TERROR 0x03 /* temporary error */ > +#define CRW_ERC_IPI 0x04 /* installed parm initialized */ > +#define CRW_ERC_TERM 0x05 /* terminal */ > +#define CRW_ERC_PERRN 0x06 /* perm. error, facility not init */ > +#define CRW_ERC_PERRI 0x07 /* perm. error, facility init */ > +#define CRW_ERC_PMOD 0x08 /* installed parameters modified */
You have missed installed parameters restored from the PoP (above you say add all other). Other than that. LGTM > > #define CRW_RSC_SUBCH 0x3 > #define CRW_RSC_CHP 0x4 >