Message ID | 20170727015418.85407-2-bjsdjshi@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, 27 Jul 2017 03:54:16 +0200 Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote: > Let's use a macro for the ERC (error recover code) when generating a > Channel Subsystem Event-information pending CRW (channel report word). Sounds reasonable. > > Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> > --- > hw/s390x/css.c | 2 +- > include/hw/s390x/ioinst.h | 5 +++-- > 2 files changed, 4 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..c1d1052279 100644 > --- a/include/hw/s390x/ioinst.h > +++ b/include/hw/s390x/ioinst.h > @@ -201,8 +201,9 @@ 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 OK, that matches the name the Linux kernel uses. Do we want to add all ERCs while we're at it? > +#define CRW_ERC_INIT 0x02 > +#define CRW_ERC_IPI 0x04 > > #define CRW_RSC_SUBCH 0x3 > #define CRW_RSC_CHP 0x4
* Cornelia Huck <cohuck@redhat.com> [2017-07-27 12:10:17 +0200]: [...] > > diff --git a/include/hw/s390x/ioinst.h b/include/hw/s390x/ioinst.h > > index 92d15655e4..c1d1052279 100644 > > --- a/include/hw/s390x/ioinst.h > > +++ b/include/hw/s390x/ioinst.h > > @@ -201,8 +201,9 @@ 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 > > OK, that matches the name the Linux kernel uses. A thief was caught by you. ;) > > Do we want to add all ERCs while we're at it? > > > +#define CRW_ERC_INIT 0x02 > > +#define CRW_ERC_IPI 0x04 No problem for me. I can do that by stealing again: #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 */ Want the comment or not? I like them. > > > > #define CRW_RSC_SUBCH 0x3 > > #define CRW_RSC_CHP 0x4 >
On Fri, 28 Jul 2017 15:12:25 +0800 Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote: > * Cornelia Huck <cohuck@redhat.com> [2017-07-27 12:10:17 +0200]: > > Do we want to add all ERCs while we're at it? > > > > > +#define CRW_ERC_INIT 0x02 > > > +#define CRW_ERC_IPI 0x04 > No problem for me. I can do that by stealing again: > > #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 */ > > Want the comment or not? I like them. Yes, just do it. > > > > > > > #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..c1d1052279 100644 --- a/include/hw/s390x/ioinst.h +++ b/include/hw/s390x/ioinst.h @@ -201,8 +201,9 @@ 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 +#define CRW_ERC_INIT 0x02 +#define CRW_ERC_IPI 0x04 #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). Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> --- hw/s390x/css.c | 2 +- include/hw/s390x/ioinst.h | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-)