Re: [Qemu-devel] [PATCH v2 1/2] s390x/css: use macro for event-information pending error recover code
On Wed, 2 Aug 2017 09:15:18 +0800 Dong Jia Shiwrote: > * Halil Pasic [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 > > > --- > > > 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_EVENT0x00 /* event information pending */ > > > +#define CRW_ERC_AVAIL0x01 /* 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_PERRN0x06 /* perm. error, facility not init */ > > > +#define CRW_ERC_PERRI0x07 /* 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 > > > >
Re: [Qemu-devel] [PATCH v2 1/2] s390x/css: use macro for event-information pending error recover code
* Halil Pasic[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 > > --- > > 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_EVENT0x00 /* event information pending */ > > +#define CRW_ERC_AVAIL0x01 /* 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_PERRN0x06 /* perm. error, facility not init */ > > +#define CRW_ERC_PERRI0x07 /* 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 > > -- Dong Jia Shi
Re: [Qemu-devel] [PATCH v2 1/2] s390x/css: use macro for event-information pending error recover code
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> --- > 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_EVENT0x00 /* event information pending */ > +#define CRW_ERC_AVAIL0x01 /* 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_PERRN0x06 /* perm. error, facility not init */ > +#define CRW_ERC_PERRI0x07 /* 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 >
[Qemu-devel] [PATCH v2 1/2] s390x/css: use macro for event-information pending error recover code
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--- 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_EVENT0x00 /* event information pending */ +#define CRW_ERC_AVAIL0x01 /* 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_PERRN0x06 /* perm. error, facility not init */ +#define CRW_ERC_PERRI0x07 /* perm. error, facility init */ +#define CRW_ERC_PMOD 0x08 /* installed parameters modified */ #define CRW_RSC_SUBCH 0x3 #define CRW_RSC_CHP 0x4 -- 2.11.2