qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] be3911: s390x/cpumodel: Add missing visit_fre


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] be3911: s390x/cpumodel: Add missing visit_free
Date: Tue, 22 Oct 2019 06:51:57 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: be39110d4cbf82bd4f9154d9958cd0a1aea57633
      
https://github.com/qemu/qemu/commit/be39110d4cbf82bd4f9154d9958cd0a1aea57633
  Author: Andrew Jones <address@hidden>
  Date:   2019-10-21 (Mon, 21 Oct 2019)

  Changed paths:
    M target/s390x/cpu_models.c

  Log Message:
  -----------
  s390x/cpumodel: Add missing visit_free

Beata Michalska noticed this missing visit_free() while reviewing
arm's implementation of qmp_query_cpu_model_expansion(), which is
modeled off this s390x implementation.

Signed-off-by: Andrew Jones <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 8064af6b1dac60491df611e5c49199d2e1c368c4
      
https://github.com/qemu/qemu/commit/8064af6b1dac60491df611e5c49199d2e1c368c4
  Author: David Hildenbrand <address@hidden>
  Date:   2019-10-21 (Mon, 21 Oct 2019)

  Changed paths:
    M target/s390x/mmu_helper.c

  Log Message:
  -----------
  s390x/mmu: Remove duplicate check for MMU_DATA_STORE

No need to double-check if we have a write.

Found by Coverity (CID: 1406404).

Fixes: 31b59419069e ("target/s390x: Return exception from mmu_translate_real")
Cc: Peter Maydell <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 49a7ce4e030a24c092c82076e23473ae9226fca9
      
https://github.com/qemu/qemu/commit/49a7ce4e030a24c092c82076e23473ae9226fca9
  Author: David Hildenbrand <address@hidden>
  Date:   2019-10-21 (Mon, 21 Oct 2019)

  Changed paths:
    M target/s390x/vec_int_helper.c

  Log Message:
  -----------
  s390x/tcg: Fix VECTOR MULTIPLY LOGICAL ODD

We have to read from odd offsets.

Fixes: 2bf3ee38f1f8 ("s390x/tcg: Implement VECTOR MULTIPLY *")
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 8b952519478780ac26779018d3d7e9bf930d055a
      
https://github.com/qemu/qemu/commit/8b952519478780ac26779018d3d7e9bf930d055a
  Author: David Hildenbrand <address@hidden>
  Date:   2019-10-21 (Mon, 21 Oct 2019)

  Changed paths:
    M target/s390x/vec_int_helper.c

  Log Message:
  -----------
  s390x/tcg: Fix VECTOR MULTIPLY AND ADD *

We missed that we always read a "double-wide even-odd element
pair of the fourth operand". Fix it in all four variants.

Fixes: 1b430aec4157 ("s390x/tcg: Implement VECTOR MULTIPLY AND ADD *")
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: b57b336876d08e303d5957d05bae77508ed0e4a2
      
https://github.com/qemu/qemu/commit/b57b336876d08e303d5957d05bae77508ed0e4a2
  Author: David Hildenbrand <address@hidden>
  Date:   2019-10-21 (Mon, 21 Oct 2019)

  Changed paths:
    M target/s390x/vec_int_helper.c

  Log Message:
  -----------
  s390x/tcg: Fix VECTOR SHIFT RIGHT ARITHMETIC BY BYTE

We forgot to propagate the highest bit accross the high doubleword in
two cases (shift >=64).

Fixes: 5f724887e3dd ("s390x/tcg: Implement VECTOR SHIFT RIGHT ARITHMETIC")
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 23e797749fff754b8a136ee37607c6448b06cfca
      
https://github.com/qemu/qemu/commit/23e797749fff754b8a136ee37607c6448b06cfca
  Author: David Hildenbrand <address@hidden>
  Date:   2019-10-21 (Mon, 21 Oct 2019)

  Changed paths:
    M target/s390x/translate_vx.inc.c
    M target/s390x/vec_int_helper.c

  Log Message:
  -----------
  s390x/tcg: Fix VECTOR SUBTRACT COMPUTE BORROW INDICATION

Looks like my idea of what a "borrow" is was wrong. The PoP says:

 "If the resulting subtraction results in a carry out of bit zero, a value
 of one is placed in the corresponding element of the first operand;
 otherwise, a value of zero is placed in the corresponding element"

As clarified by Richard, all we have to do is invert the result.

Fixes: 1ee2d7ba72f6 ("s390x/tcg: Implement VECTOR SUBTRACT COMPUTE BORROW 
INDICATION")
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 2cb8a68d375450ab7be372d90e2ddf5a2a832cdc
      
https://github.com/qemu/qemu/commit/2cb8a68d375450ab7be372d90e2ddf5a2a832cdc
  Author: David Hildenbrand <address@hidden>
  Date:   2019-10-21 (Mon, 21 Oct 2019)

  Changed paths:
    M target/s390x/translate_vx.inc.c

  Log Message:
  -----------
  s390x/tcg: Fix VECTOR SUBTRACT WITH BORROW INDICATION

Testing this, there seems to be something messed up. We are dealing with
unsigned numbers. "Each operand is treated as an unsigned binary integer."
Let's just implement as written in the PoP:

"A subtraction is performed by adding the contents of
 the second operand with the bitwise complement of
 the third operand along with a borrow indication from
 the rightmost bit position of the fourth operand and
 the result is placed in the first operand."

We can reuse gen_ac2_i64().

Fixes: 48390a7c2716 ("s390x/tcg: Implement VECTOR SUBTRACT WITH BORROW 
INDICATION")
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 38ad4fa3de4a0e747940711f16028fc509a4a6b6
      
https://github.com/qemu/qemu/commit/38ad4fa3de4a0e747940711f16028fc509a4a6b6
  Author: David Hildenbrand <address@hidden>
  Date:   2019-10-21 (Mon, 21 Oct 2019)

  Changed paths:
    M target/s390x/translate_vx.inc.c

  Log Message:
  -----------
  s390x/tcg: Fix VECTOR SUBTRACT WITH BORROW COMPUTE BORROW INDICATION

The numbers are unsigned, the computation is wrong. "Each operand is
treated as an unsigned binary integer".
Let's implement as given in the PoP:

"A subtraction is performed by adding the contents of the second operand
 with the bitwise complement of the third operand along with a borrow
 indication from the rightmost bit of the fourth operand."

Reuse gen_accc2_i64().

Fixes: bc725e65152c ("s390x/tcg: Implement VECTOR SUBTRACT WITH BORROW COMPUTE 
BORROW INDICATION")
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: de60a92ea7b7977854420c58fd98f38cb6de6de6
      
https://github.com/qemu/qemu/commit/de60a92ea7b7977854420c58fd98f38cb6de6de6
  Author: David Hildenbrand <address@hidden>
  Date:   2019-10-21 (Mon, 21 Oct 2019)

  Changed paths:
    M target/s390x/kvm.c

  Log Message:
  -----------
  s390x/kvm: Set default cpu model for all machine classes

We have to set the default model of all machine classes, not just for
the active one. Otherwise, "query-machines" will indicate the wrong
CPU model ("qemu-s390x-cpu" instead of "host-s390x-cpu") as
"default-cpu-type".

Doing a
    {"execute":"query-machines"}
under KVM now results in
    {"return": [
        {
            "hotpluggable-cpus": true,
            "name": "s390-ccw-virtio-4.0",
            "numa-mem-supported": false,
            "default-cpu-type": "host-s390x-cpu",
            "cpu-max": 248,
            "deprecated": false},
        {
            "hotpluggable-cpus": true,
            "name": "s390-ccw-virtio-2.7",
            "numa-mem-supported": false,
            "default-cpu-type": "host-s390x-cpu",
            "cpu-max": 248,
            "deprecated": false
        } ...

Libvirt probes all machines via "-machine none,accel=kvm:tcg" and will
currently see the wrong CPU model under KVM.

Reported-by: Jiri Denemark <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Fixes: b6805e127c6b ("s390x: use generic cpu_model parsing")
Cc: Igor Mammedov <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: f9bec781379dd7ccf9d01b4b6a79a9ec82c192e5
      
https://github.com/qemu/qemu/commit/f9bec781379dd7ccf9d01b4b6a79a9ec82c192e5
  Author: Peter Maydell <address@hidden>
  Date:   2019-10-22 (Tue, 22 Oct 2019)

  Changed paths:
    M target/s390x/cpu_models.c
    M target/s390x/kvm.c
    M target/s390x/mmu_helper.c
    M target/s390x/translate_vx.inc.c
    M target/s390x/vec_int_helper.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20191022' into staging

s390x fixes in tcg vector instruction handling and in the
cpu model code

# gpg: Signature made Tue 22 Oct 2019 10:51:07 BST
# gpg:                using RSA key C3D0D66DC3624FF6A8C018CEDECF6B93C6F02FAF
# gpg:                issuer "address@hidden"
# gpg: Good signature from "Cornelia Huck <address@hidden>" [unknown]
# gpg:                 aka "Cornelia Huck <address@hidden>" [full]
# gpg:                 aka "Cornelia Huck <address@hidden>" [full]
# gpg:                 aka "Cornelia Huck <address@hidden>" [unknown]
# gpg:                 aka "Cornelia Huck <address@hidden>" [unknown]
# Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF

* remotes/cohuck/tags/s390x-20191022:
  s390x/kvm: Set default cpu model for all machine classes
  s390x/tcg: Fix VECTOR SUBTRACT WITH BORROW COMPUTE BORROW INDICATION
  s390x/tcg: Fix VECTOR SUBTRACT WITH BORROW INDICATION
  s390x/tcg: Fix VECTOR SUBTRACT COMPUTE BORROW INDICATION
  s390x/tcg: Fix VECTOR SHIFT RIGHT ARITHMETIC BY BYTE
  s390x/tcg: Fix VECTOR MULTIPLY AND ADD *
  s390x/tcg: Fix VECTOR MULTIPLY LOGICAL ODD
  s390x/mmu: Remove duplicate check for MMU_DATA_STORE
  s390x/cpumodel: Add missing visit_free

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/2152e740a893...f9bec781379d



reply via email to

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