diff mbox

[8/8] s390x/ioinst: CHSC has to set a condition code

Message ID 1387286530-31516-9-git-send-email-jfrei@linux.vnet.ibm.com
State New
Headers show

Commit Message

Jens Freimann Dec. 17, 2013, 1:22 p.m. UTC
From: Thomas Huth <thuth@linux.vnet.ibm.com>

I missed to set the CC in the CHSC instruction when I refactored
the CC setting in the IO instructions with the following commit:
	5d9bf1c07c1369ab3506fc82cc65a10f4415d867
	s390/ioinst: Moved the CC setting to the IO instruction handlers
This patch now restores the correct behaviour of CHSC by setting the
condition code 0 at the end of the instruction.

Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
---
 target-s390x/ioinst.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Alexander Graf Dec. 17, 2013, 2:01 p.m. UTC | #1
On 17.12.2013, at 14:22, Jens Freimann <jfrei@linux.vnet.ibm.com> wrote:

> From: Thomas Huth <thuth@linux.vnet.ibm.com>
> 
> I missed to set the CC in the CHSC instruction when I refactored
> the CC setting in the IO instructions with the following commit:
> 	5d9bf1c07c1369ab3506fc82cc65a10f4415d867
> 	s390/ioinst: Moved the CC setting to the IO instruction handlers
> This patch now restores the correct behaviour of CHSC by setting the
> condition code 0 at the end of the instruction.
> 
> Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>

I suppose this patch should be CC'ed to stable?


Alex

> ---
> target-s390x/ioinst.c | 1 +
> 1 file changed, 1 insertion(+)
> 
> diff --git a/target-s390x/ioinst.c b/target-s390x/ioinst.c
> index 8d6363d..b8a6486 100644
> --- a/target-s390x/ioinst.c
> +++ b/target-s390x/ioinst.c
> @@ -622,6 +622,7 @@ void ioinst_handle_chsc(S390CPU *cpu, uint32_t ipb)
>         break;
>     }
> 
> +    setcc(cpu, 0);    /* Command execution complete */
> out:
>     s390_cpu_physical_memory_unmap(env, req, map_size, 1);
> }
> -- 
> 1.8.3.4
>
Jens Freimann Dec. 17, 2013, 3:50 p.m. UTC | #2
On Tue, Dec 17, 2013 at 03:01:43PM +0100, Alexander Graf wrote:
> 
> On 17.12.2013, at 14:22, Jens Freimann <jfrei@linux.vnet.ibm.com> wrote:
> 
> > From: Thomas Huth <thuth@linux.vnet.ibm.com>
> > 
> > I missed to set the CC in the CHSC instruction when I refactored
> > the CC setting in the IO instructions with the following commit:
> > 	5d9bf1c07c1369ab3506fc82cc65a10f4415d867
> > 	s390/ioinst: Moved the CC setting to the IO instruction handlers
> > This patch now restores the correct behaviour of CHSC by setting the
> > condition code 0 at the end of the instruction.
> > 
> > Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
> > Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> > Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
> 
> I suppose this patch should be CC'ed to stable?

Good point, I'll send it again with stable on CC.
Same thing for Patch 1/8. 

Thanks!

regards
Jens
 
> 
> Alex
> 
> > ---
> > target-s390x/ioinst.c | 1 +
> > 1 file changed, 1 insertion(+)
> > 
> > diff --git a/target-s390x/ioinst.c b/target-s390x/ioinst.c
> > index 8d6363d..b8a6486 100644
> > --- a/target-s390x/ioinst.c
> > +++ b/target-s390x/ioinst.c
> > @@ -622,6 +622,7 @@ void ioinst_handle_chsc(S390CPU *cpu, uint32_t ipb)
> >         break;
> >     }
> > 
> > +    setcc(cpu, 0);    /* Command execution complete */
> > out:
> >     s390_cpu_physical_memory_unmap(env, req, map_size, 1);
> > }
> > -- 
> > 1.8.3.4
> > 
> 
>
diff mbox

Patch

diff --git a/target-s390x/ioinst.c b/target-s390x/ioinst.c
index 8d6363d..b8a6486 100644
--- a/target-s390x/ioinst.c
+++ b/target-s390x/ioinst.c
@@ -622,6 +622,7 @@  void ioinst_handle_chsc(S390CPU *cpu, uint32_t ipb)
         break;
     }
 
+    setcc(cpu, 0);    /* Command execution complete */
 out:
     s390_cpu_physical_memory_unmap(env, req, map_size, 1);
 }