qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/2] s390x/kvm: Fix opcode decoding for eb instr


From: Thomas Huth
Subject: Re: [Qemu-devel] [PATCH 1/2] s390x/kvm: Fix opcode decoding for eb instruction handler
Date: Mon, 3 Nov 2014 15:42:27 +0100

On Mon,  3 Nov 2014 15:30:33 +0100
Cornelia Huck <address@hidden> wrote:

> From: Frank Blaschka <address@hidden>
> 
> The second byte of the opcode is encoded in the lowest byte of the ipb
> field, not the lowest byte of the ipa field.
> 
> Signed-off-by: Frank Blaschka <address@hidden>
> Signed-off-by: Cornelia Huck <address@hidden>
> ---
>  target-s390x/kvm.c |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c
> index 5b10a25..690cb71 100644
> --- a/target-s390x/kvm.c
> +++ b/target-s390x/kvm.c
> @@ -827,18 +827,18 @@ static int handle_b9(S390CPU *cpu, struct kvm_run *run, 
> uint8_t ipa1)
>      return r;
>  }
> 
> -static int handle_eb(S390CPU *cpu, struct kvm_run *run, uint8_t ipa1)
> +static int handle_eb(S390CPU *cpu, struct kvm_run *run, uint8_t ipbl)
>  {
>      int r = 0;
> 
> -    switch (ipa1) {
> +    switch (ipbl) {
>      case PRIV_EB_SQBS:
>          /* just inject exception */
>          r = -1;
>          break;
>      default:
>          r = -1;
> -        DPRINTF("KVM: unhandled PRIV: 0xeb%x\n", ipa1);
> +        DPRINTF("KVM: unhandled PRIV: 0xeb%x\n", ipbl);
>          break;
>      }
> 
> @@ -1039,7 +1039,7 @@ static int handle_instruction(S390CPU *cpu, struct 
> kvm_run *run)
>          r = handle_b9(cpu, run, ipa1);
>          break;
>      case IPA0_EB:
> -        r = handle_eb(cpu, run, ipa1);
> +        r = handle_eb(cpu, run, run->s390_sieic.ipb & 0xff);
>          break;
>      case IPA0_DIAG:
>          r = handle_diag(cpu, run, run->s390_sieic.ipb);

Looks right!

Reviewed-by: Thomas Huth <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]