Message ID | 20170801075727.31335-2-bjsdjshi@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 <bjsdjshi@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 >
* Halil Pasic <pasic@linux.vnet.ibm.com> [2017-08-01 17:24:10 +0200]: > > > 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 <bjsdjshi@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). Ok. Will add: #define CRW_ERC_IPR 0x0A /* installed parameters restored */ > > Other than that. > > LGTM > > > > > #define CRW_RSC_SUBCH 0x3 > > #define CRW_RSC_CHP 0x4 > >
On Wed, 2 Aug 2017 09:15:18 +0800 Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote: > * Halil Pasic <pasic@linux.vnet.ibm.com> [2017-08-01 17:24:10 +0200]: > > > > > > > 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 <bjsdjshi@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/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). > Ok. Will add: > #define CRW_ERC_IPR 0x0A /* installed parameters restored */ Makes sense. > > > > > Other than that. > > > > LGTM > > > > > > > > #define CRW_RSC_SUBCH 0x3 > > > #define CRW_RSC_CHP 0x4 > > > >
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 */ #define CRW_RSC_SUBCH 0x3 #define CRW_RSC_CHP 0x4
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 <bjsdjshi@linux.vnet.ibm.com> --- hw/s390x/css.c | 2 +- include/hw/s390x/ioinst.h | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-)