qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 16617c: accel/kvm: Make kvm_has_guest_debug s


From: Alex Bennée
Subject: [Qemu-commits] [qemu/qemu] 16617c: accel/kvm: Make kvm_has_guest_debug static
Date: Wed, 20 Dec 2023 08:03:49 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 16617c3cba550a5ee954641dc4ad905a9f3ae68e
      
https://github.com/qemu/qemu/commit/16617c3cba550a5ee954641dc4ad905a9f3ae68e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M accel/kvm/kvm-all.c

  Log Message:
  -----------
  accel/kvm: Make kvm_has_guest_debug static

This variable is not used or declared outside kvm-all.c.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: b16620c32cfdfba40d8f6e515fc9c19d12a17ef0
      
https://github.com/qemu/qemu/commit/b16620c32cfdfba40d8f6e515fc9c19d12a17ef0
  Author: Chao Du <duchao@eswincomputing.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm64.c

  Log Message:
  -----------
  target/arm: kvm64: remove a redundant KVM_CAP_SET_GUEST_DEBUG probe

The KVM_CAP_SET_GUEST_DEBUG is probed during kvm_init().
gdbserver will fail to start if the CAP is not supported.
So no need to make another probe here, like other targets.

Signed-off-by: Chao Du <duchao@eswincomputing.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231025070726.22689-1-duchao@eswincomputing.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: dd2157d29114f9ad8d0deda155131900e9d6aa99
      
https://github.com/qemu/qemu/commit/dd2157d29114f9ad8d0deda155131900e9d6aa99
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm64.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Merge kvm_arm_init_debug into kvm_arch_init

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 20c83dc9ed3453c991d034bdaa12d36c3e6ff3e0
      
https://github.com/qemu/qemu/commit/20c83dc9ed3453c991d034bdaa12d36c3e6ff3e0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm64.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Move kvm_arm_verify_ext_dabt_pending and unexport

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: ec4145f728287e3efdfab834fb1a6c7342fa27f1
      
https://github.com/qemu/qemu/commit/ec4145f728287e3efdfab834fb1a6c7342fa27f1
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm64.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Move kvm_arm_copy_hw_debug_data and unexport

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: ea79c59989e43cb7d6116e3f59e63048d8872251
      
https://github.com/qemu/qemu/commit/ea79c59989e43cb7d6116e3f59e63048d8872251
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm64.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Move kvm_arm_hw_debug_active and unexport

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 5cba8f26de98afebfd622d945e3eb7fadbe77265
      
https://github.com/qemu/qemu/commit/5cba8f26de98afebfd622d945e3eb7fadbe77265
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm64.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Move kvm_arm_handle_debug and unexport

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 46512471c4bf11771da85fab5d040180134ca83c
      
https://github.com/qemu/qemu/commit/46512471c4bf11771da85fab5d040180134ca83c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Unexport kvm_arm_{get, put}_virtual_time

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 21beccd3842ca9bdc9e2f791550008c63c29fb6b
      
https://github.com/qemu/qemu/commit/21beccd3842ca9bdc9e2f791550008c63c29fb6b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm64.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Inline kvm_arm_steal_time_supported

This function is only used once, and is quite simple.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: dc40d45ebd8edf598627d1404c620e712c25d773
      
https://github.com/qemu/qemu/commit/dc40d45ebd8edf598627d1404c620e712c25d773
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm64.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Move kvm_arm_get_host_cpu_features and unexport

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: d213f5adf504d9f9bfa312c7db033099e6680271
      
https://github.com/qemu/qemu/commit/d213f5adf504d9f9bfa312c7db033099e6680271
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm64.c

  Log Message:
  -----------
  target/arm/kvm: Use a switch for kvm_arm_cpreg_level

Use a switch instead of a linear search through data.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 676fe6846f8554087bad3b0809cb158a6a2f6207
      
https://github.com/qemu/qemu/commit/676fe6846f8554087bad3b0809cb158a6a2f6207
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm64.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Move kvm_arm_cpreg_level and unexport

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: f38ce925eb2eca680ece6f9c31ad00e8466a609c
      
https://github.com/qemu/qemu/commit/f38ce925eb2eca680ece6f9c31ad00e8466a609c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm64.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Move kvm_arm_reg_syncs_via_cpreg_list and unexport

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[PMM: merged two duplicate comments, as suggested by Gavin]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: de3c96017f1ea482dacf7e61b54810170366c1c5
      
https://github.com/qemu/qemu/commit/de3c96017f1ea482dacf7e61b54810170366c1c5
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    R target/arm/kvm64.c
    M target/arm/meson.build

  Log Message:
  -----------
  target/arm/kvm: Merge kvm64.c into kvm.c

Since kvm32.c was removed, there is no need to keep them separate.
This will allow more symbols to be unexported.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[PMM: retain copyright lines from kvm64.c in kvm.c]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 5a8a6013ea5cfade9c300ab7062585ccd8d1690c
      
https://github.com/qemu/qemu/commit/5a8a6013ea5cfade9c300ab7062585ccd8d1690c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Unexport kvm_arm_vcpu_init

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: c223c67aaa452628f392ff1d274bc6e47c3ea6b1
      
https://github.com/qemu/qemu/commit/c223c67aaa452628f392ff1d274bc6e47c3ea6b1
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Unexport kvm_arm_vcpu_finalize

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 09ddc0121648b475fd320734f25823dedc6d4cbe
      
https://github.com/qemu/qemu/commit/09ddc0121648b475fd320734f25823dedc6d4cbe
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Unexport kvm_arm_init_cpreg_list

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 51641de468933f298ed5e4788af90f648c881bef
      
https://github.com/qemu/qemu/commit/51641de468933f298ed5e4788af90f648c881bef
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Init cap_has_inject_serror_esr in kvm_arch_init

There is no need to do this in kvm_arch_init_vcpu per vcpu.
Inline kvm_arm_init_serror_injection rather than keep separate.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 353e03cd45f307264cd38eebca741fabe74114b4
      
https://github.com/qemu/qemu/commit/353e03cd45f307264cd38eebca741fabe74114b4
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Unexport kvm_{get,put}_vcpu_events

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 71c34911c19b6cf6ea60ef608154df7e00fb42c8
      
https://github.com/qemu/qemu/commit/71c34911c19b6cf6ea60ef608154df7e00fb42c8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Unexport and tidy kvm_arm_sync_mpstate_to_{kvm, qemu}

Drop fprintfs and actually use the return values in the callers.
This is OK to do since commit 7191f24c7fcf which added the
error-check to the generic accel/kvm functions that eventually
call into these ones.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[PMM: tweak commit message]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 396b6c50c3e25f55ae59ab8fc551576d24ce919b
      
https://github.com/qemu/qemu/commit/396b6c50c3e25f55ae59ab8fc551576d24ce919b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Unexport kvm_arm_vm_state_change

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 5db30bcd7dcd0bc8053ed521dc6e50153aadf125
      
https://github.com/qemu/qemu/commit/5db30bcd7dcd0bc8053ed521dc6e50153aadf125
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/intc/arm_gicv3_its_kvm.c

  Log Message:
  -----------
  hw/intc/arm_gicv3: Include missing 'qemu/error-report.h' header

kvm_arm_its_reset_hold() calls warn_report(), itself declared
in "qemu/error-report.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-2-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 600f070e934302e17081eebf8d77d4c6a5bef38d
      
https://github.com/qemu/qemu/commit/600f070e934302e17081eebf8d77d4c6a5bef38d
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Remove unused includes

Both MemoryRegion and Error types are forward declared
in "qemu/typedefs.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-3-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: cac675b54e6a9cb71dde6517f39c1763ae94c107
      
https://github.com/qemu/qemu/commit/cac675b54e6a9cb71dde6517f39c1763ae94c107
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/cpu.c
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_add_vcpu_properties take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-4-philmd@linaro.org
[PMM: fix parameter name in doc comment too]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: bc1b09b3dbcfff24c33e6829aaa08e45dc305204
      
https://github.com/qemu/qemu/commit/bc1b09b3dbcfff24c33e6829aaa08e45dc305204
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_sve_set_vls take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-5-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: d63392820b78b2e06147d796ca98f925d69155d0
      
https://github.com/qemu/qemu/commit/d63392820b78b2e06147d796ca98f925d69155d0
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/cpu64.c
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_sve_get_vls take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-6-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: e77034f74bfc6afeb5ae56a8fd27815625999002
      
https://github.com/qemu/qemu/commit/e77034f74bfc6afeb5ae56a8fd27815625999002
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_set_device_attr take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-7-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 55503372c3454ff0ce86f56866b9dddc2af00d9b
      
https://github.com/qemu/qemu/commit/55503372c3454ff0ce86f56866b9dddc2af00d9b
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/arm/virt.c
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_pvtime_init take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-8-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: d344f5ba87dc8a91adef4ed80e6c82674ca93e2e
      
https://github.com/qemu/qemu/commit/d344f5ba87dc8a91adef4ed80e6c82674ca93e2e
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/arm/virt.c
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_pmu_init take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-9-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 5ed84f3bf714b20001f6c5ff370d0f070f7c89cf
      
https://github.com/qemu/qemu/commit/5ed84f3bf714b20001f6c5ff370d0f070f7c89cf
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/arm/virt.c
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_pmu_set_irq take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-10-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: bbb22d586561c67103a14311662ff7bc877fcbb9
      
https://github.com/qemu/qemu/commit/bbb22d586561c67103a14311662ff7bc877fcbb9
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_vcpu_init take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-11-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 0d31a631868876c623fc29875871516db09af33c
      
https://github.com/qemu/qemu/commit/0d31a631868876c623fc29875871516db09af33c
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_vcpu_finalize take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-12-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 76acc9879991ffa9ef1c66c65171d87f7d5c6a25
      
https://github.com/qemu/qemu/commit/76acc9879991ffa9ef1c66c65171d87f7d5c6a25
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_[get|put]_virtual_time take ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-13-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: ca0d1b7ca46f1520a64cfa47d84ee70c14915516
      
https://github.com/qemu/qemu/commit/ca0d1b7ca46f1520a64cfa47d84ee70c14915516
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_verify_ext_dabt_pending take a ARMCPU arg

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-14-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 3187e06a8200df17cb3409c6ea56d8e40065b30a
      
https://github.com/qemu/qemu/commit/3187e06a8200df17cb3409c6ea56d8e40065b30a
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_handle_dabt_nisv take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-15-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 39639275a1c7efd254108213f6a5dfce11bef149
      
https://github.com/qemu/qemu/commit/39639275a1c7efd254108213f6a5dfce11bef149
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_handle_debug take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-16-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 366bf10e1104fda9e68db6a975064aa6e5169372
      
https://github.com/qemu/qemu/commit/366bf10e1104fda9e68db6a975064aa6e5169372
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/kvm.c

  Log Message:
  -----------
  target/arm/kvm: Have kvm_arm_hw_debug_active take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-17-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: c36a0d577b82afaa2a5a9d7332cf96b44247ed6d
      
https://github.com/qemu/qemu/commit/c36a0d577b82afaa2a5a9d7332cf96b44247ed6d
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/debug_helper.c
    M target/arm/helper.c

  Log Message:
  -----------
  target/arm: Don't implement *32_EL2 registers when EL1 is AArch64 only

The system registers DBGVCR32_EL2, FPEXC32_EL2, DACR32_EL2 and
IFSR32_EL2 are present only to allow an AArch64 EL2 or EL3 to read
and write the contents of an AArch32-only system register.  The
architecture requires that they are present only when EL1 can be
AArch32, but we implement them unconditionally.  This was OK when all
our CPUs supported AArch32 EL1, but we have quite a lot of CPU models
now which only support AArch64 at EL1:
 a64fx
 cortex-a76
 cortex-a710
 neoverse-n1
 neoverse-n2
 neoverse-v1

Only define these registers for CPUs which allow AArch32 EL1.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20231121144605.3980419-1-peter.maydell@linaro.org


  Commit: d1d119bbd7776c8f460560e4f4b69fdc8bfd8657
      
https://github.com/qemu/qemu/commit/d1d119bbd7776c8f460560e4f4b69fdc8bfd8657
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/helper.c
    M target/arm/tcg/op_helper.c

  Log Message:
  -----------
  target/arm: Restrict TCG specific helpers

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20231130142519.28417-2-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7a3014a9a26b61b1df246426b6510b8956acfaab
      
https://github.com/qemu/qemu/commit/7a3014a9a26b61b1df246426b6510b8956acfaab
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/helper.c

  Log Message:
  -----------
  target/arm: Restrict DC CVAP & DC CVADP instructions to TCG accel

Hardware accelerators handle that in *hardware*.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20231130142519.28417-3-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 47eac5d4237f217a09313a807b5ebb2ab784e0f7
      
https://github.com/qemu/qemu/commit/47eac5d4237f217a09313a807b5ebb2ab784e0f7
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/tcg/translate-a64.c

  Log Message:
  -----------
  target/arm/tcg: Including missing 'exec/exec-all.h' header

translate_insn() ends up calling probe_access_full(), itself
declared in "exec/exec-all.h":

  TranslatorOps::translate_insn
    -> aarch64_tr_translate_insn()
      -> is_guarded_page()
        -> probe_access_full()

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20231130142519.28417-4-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 6980c31dec42b6daebf7fec13b2d39ed87bb4766
      
https://github.com/qemu/qemu/commit/6980c31dec42b6daebf7fec13b2d39ed87bb4766
  Author: Jean-Philippe Brucker <jean-philippe@linaro.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M target/arm/helper.c

  Log Message:
  -----------
  target/arm/helper: Propagate MDCR_EL2.HPMN into PMCR_EL0.N

MDCR_EL2.HPMN allows an hypervisor to limit the number of PMU counters
available to EL1 and EL0 (to keep the others to itself). QEMU already
implements this split correctly, except for PMCR_EL0.N reads: the number
of counters read by EL1 or EL0 should be the one configured in
MDCR_EL2.HPMN.

Cc: qemu-stable@nongnu.org
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-id: 20231215144652.4193815-2-jean-philippe@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 6f9c3aaa34e937d8deaab44671e7562e4027436b
      
https://github.com/qemu/qemu/commit/6f9c3aaa34e937d8deaab44671e7562e4027436b
  Author: Nikita Ostrenkov <n.ostrenkov@gmail.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/misc/imx7_snvs.c
    M hw/misc/trace-events
    M include/hw/misc/imx7_snvs.h

  Log Message:
  -----------
  fsl-imx: add simple RTC emulation for i.MX6 and i.MX7 boards

Signed-off-by: Nikita Ostrenkov <n.ostrenkov@gmail.com>
Message-id: 20231216133408.2884-1-n.ostrenkov@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: f61dddd73232e3d82d560d1e1bca120446021f2f
      
https://github.com/qemu/qemu/commit/f61dddd73232e3d82d560d1e1bca120446021f2f
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M include/hw/vfio/vfio-common.h
    A include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio: Introduce base object for VFIOContainer and targeted interface

Introduce a dumb VFIOContainerBase object and its targeted interface.
This is willingly not a QOM object because we don't want it to be
visible from the user interface. The VFIOContainerBase will be
smoothly populated in subsequent patches as well as interfaces.

No functional change intended.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: d24668579184f4098779983724ec74cd3db62e10
      
https://github.com/qemu/qemu/commit/d24668579184f4098779983724ec74cd3db62e10
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/container.c
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio/container: Introduce a empty VFIOIOMMUOps

This empty VFIOIOMMUOps named vfio_legacy_ops will hold all general
IOMMU ops of legacy container.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: b08501a999e2448f500a46d68da503be55186b04
      
https://github.com/qemu/qemu/commit/b08501a999e2448f500a46d68da503be55186b04
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    A hw/vfio/container-base.c
    M hw/vfio/container.c
    M hw/vfio/meson.build
    M hw/vfio/trace-events
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/container: Switch to dma_map|unmap API

No functional change intended.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: ed2f7f80170251e7cdd2965a13ee97527d1fbec8
      
https://github.com/qemu/qemu/commit/ed2f7f80170251e7cdd2965a13ee97527d1fbec8
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/container-base.c
    M hw/vfio/container.c
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/common: Introduce vfio_container_init/destroy helper

This adds two helper functions vfio_container_init/destroy which will be
used by both legacy and iommufd containers to do base container specific
initialization and release.

No functional change intended.

Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: dddf83ab99eb832c449249397a1c302c6ed746bf
      
https://github.com/qemu/qemu/commit/dddf83ab99eb832c449249397a1c302c6ed746bf
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/container-base.c
    M hw/vfio/container.c
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/common: Move giommu_list in base container

Move the giommu_list field in the base container and store
the base container in the VFIOGuestIOMMU.

No functional change intended.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: e5597063386a0c76308ad16da31726d23f489945
      
https://github.com/qemu/qemu/commit/e5597063386a0c76308ad16da31726d23f489945
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/ppc/spapr_pci_vfio.c
    M hw/vfio/common.c
    M hw/vfio/container-base.c
    M hw/vfio/container.c
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/container: Move space field to base container

Move the space field to the base object. Also the VFIOAddressSpace
now contains a list of base containers.

No functional change intended.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: bb424490edcef73d07f200d53f69415b203d81df
      
https://github.com/qemu/qemu/commit/bb424490edcef73d07f200d53f69415b203d81df
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/container-base.c
    M hw/vfio/container.c
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/container: Switch to IOMMU BE set_dirty_page_tracking/query_dirty_bitmap 
API

dirty_pages_supported field is also moved to the base container

No functional change intended.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 3e6015d1117579324b456aa169dfca06da9922cf
      
https://github.com/qemu/qemu/commit/3e6015d1117579324b456aa169dfca06da9922cf
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/container.c
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/container: Move per container device list in base container

VFIO Device is also changed to point to base container instead of
legacy container.

No functional change intended.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: e1cac6b203f45b5322e831e8d50edfdf18609b09
      
https://github.com/qemu/qemu/commit/e1cac6b203f45b5322e831e8d50edfdf18609b09
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/container.c
    M hw/vfio/trace-events
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio/container: Convert functions to base container

In the prospect to get rid of VFIOContainer refs
in common.c lets convert misc functions to use the base
container object instead:

vfio_devices_all_dirty_tracking
vfio_devices_all_device_dirty_tracking
vfio_devices_all_running_and_mig_active
vfio_devices_query_dirty_bitmap
vfio_get_dirty_bitmap

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 7ab1cb74ffdbf92ef237243b41bde5c7067d5298
      
https://github.com/qemu/qemu/commit/7ab1cb74ffdbf92ef237243b41bde5c7067d5298
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/container-base.c
    M hw/vfio/container.c
    M hw/vfio/spapr.c
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/container: Move pgsizes and dma_max_mappings to base container

No functional change intended.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: dc74a4b0056c0c803d46612a2319294921097974
      
https://github.com/qemu/qemu/commit/dc74a4b0056c0c803d46612a2319294921097974
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/container-base.c
    M hw/vfio/container.c
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/container: Move vrdl_list to base container

No functional change intended.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: c7b313d300f161c650d011a5c9da469bcd5d34e4
      
https://github.com/qemu/qemu/commit/c7b313d300f161c650d011a5c9da469bcd5d34e4
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/container-base.c
    M hw/vfio/container.c
    M hw/vfio/spapr.c
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/container: Move listener to base container

Move listener to base container. Also error and initialized fields
are moved at the same time.

No functional change intended.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 4d6b95010c59127ac4f7230d6ee88b5d0e99738c
      
https://github.com/qemu/qemu/commit/4d6b95010c59127ac4f7230d6ee88b5d0e99738c
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/container.c
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/container: Move dirty_pgsizes and max_dirty_bitmap_size to base container

No functional change intended.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: f79baf8c9575ac3193ca86ec508791c86d96b13e
      
https://github.com/qemu/qemu/commit/f79baf8c9575ac3193ca86ec508791c86d96b13e
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/container-base.c
    M hw/vfio/container.c
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/container: Move iova_ranges to base container

Meanwhile remove the helper function vfio_free_container as it
only calls g_free now.

No functional change intended.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 1eb31f13b24c49884d8256f96a6664df2dd0824d
      
https://github.com/qemu/qemu/commit/1eb31f13b24c49884d8256f96a6664df2dd0824d
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/container.c

  Log Message:
  -----------
  vfio/container: Implement attach/detach_device

No functional change intended.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 9b7d38bf5a2c1054bfe6de08806954cdc45d8d98
      
https://github.com/qemu/qemu/commit/9b7d38bf5a2c1054bfe6de08806954cdc45d8d98
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/spapr.c
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/spapr: Introduce spapr backend and target interface

Introduce an empty spapr backend which will hold spapr specific
content, currently only prereg_listener and hostwin_list.

Also introduce two spapr specific callbacks add/del_window into
VFIOIOMMUOps. Instantiate a spapr ops with a helper setup_spapr_ops
and assign it to bcontainer->ops.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 233309e8e4c158af6c6b126d5ad021bae40a918a
      
https://github.com/qemu/qemu/commit/233309e8e4c158af6c6b126d5ad021bae40a918a
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/container-base.c
    M hw/vfio/spapr.c
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/spapr: switch to spapr IOMMU BE add/del_section_window

No functional change intended.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 6ad359ec29af7f21dcb206c8edb26905a4925f80
      
https://github.com/qemu/qemu/commit/6ad359ec29af7f21dcb206c8edb26905a4925f80
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/spapr.c
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio/spapr: Move prereg_listener into spapr container

No functional changes intended.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: dbb9d0c9691d145338686d3e0920da047f2ab3da
      
https://github.com/qemu/qemu/commit/dbb9d0c9691d145338686d3e0920da047f2ab3da
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/spapr.c
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio/spapr: Move hostwin_list into spapr container

No functional changes intended.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 6e6d8ac62b5b38dc9d4b69ffdf073f0a0b43b7be
      
https://github.com/qemu/qemu/commit/6e6d8ac62b5b38dc9d4b69ffdf073f0a0b43b7be
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M MAINTAINERS
    M backends/Kconfig
    A backends/iommufd.c
    M backends/meson.build
    M backends/trace-events
    A include/sysemu/iommufd.h
    M qapi/qom.json
    M qemu-options.hx

  Log Message:
  -----------
  backends/iommufd: Introduce the iommufd object

Introduce an iommufd object which allows the interaction
with the host /dev/iommu device.

The /dev/iommu can have been already pre-opened outside of qemu,
in which case the fd can be passed directly along with the
iommufd object:

This allows the iommufd object to be shared accross several
subsystems (VFIO, VDPA, ...). For example, libvirt would open
the /dev/iommu once.

If no fd is passed along with the iommufd object, the /dev/iommu
is opened by the qemu code.

Suggested-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: d6b5c4c1b516a8176b74ec35a0af8cf89b04b6c1
      
https://github.com/qemu/qemu/commit/d6b5c4c1b516a8176b74ec35a0af8cf89b04b6c1
  Author: Yi Liu <yi.l.liu@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M MAINTAINERS
    A include/qemu/chardev_open.h
    A util/chardev_open.c
    M util/meson.build

  Log Message:
  -----------
  util/char_dev: Add open_cdev()

/dev/vfio/devices/vfioX may not exist. In that case it is still possible
to open /dev/char/$major:$minor instead. Add helper function to abstract
the cdev open.

Suggested-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 1eae5b7bd3ddd03b5591e9122b011c6520064a5a
      
https://github.com/qemu/qemu/commit/1eae5b7bd3ddd03b5591e9122b011c6520064a5a
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c

  Log Message:
  -----------
  vfio/common: return early if space isn't empty

This is a trivial optimization. If there is active container in space,
vfio_reset_handler will never be unregistered. So revert the check of
space->containers and return early.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 5ee3dc7af7859e7b8aa34c10c21778101c15e812
      
https://github.com/qemu/qemu/commit/5ee3dc7af7859e7b8aa34c10c21778101c15e812
  Author: Yi Liu <yi.l.liu@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    A hw/vfio/iommufd.c
    M hw/vfio/meson.build
    M hw/vfio/trace-events
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio/iommufd: Implement the iommufd backend

The iommufd backend is implemented based on the new /dev/iommu user API.
This backend obviously depends on CONFIG_IOMMUFD.

So far, the iommufd backend doesn't support dirty page sync yet.

Co-authored-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 36e84d0c17102fa1c887d8c650a13ec08fca0ec0
      
https://github.com/qemu/qemu/commit/36e84d0c17102fa1c887d8c650a13ec08fca0ec0
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/container-base.c
    M hw/vfio/container.c

  Log Message:
  -----------
  vfio/iommufd: Relax assert check for iommufd backend

Currently iommufd doesn't support dirty page sync yet,
but it will not block us doing live migration if VFIO
migration is force enabled.

So in this case we allow set_dirty_page_tracking to be NULL.
Note we don't need same change for query_dirty_bitmap because
when dirty page sync isn't supported, query_dirty_bitmap will
never be called.

Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 714e9affa8ae1d84007c8afde7bb10fef9cb883d
      
https://github.com/qemu/qemu/commit/714e9affa8ae1d84007c8afde7bb10fef9cb883d
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/iommufd.c

  Log Message:
  -----------
  vfio/iommufd: Add support for iova_ranges and pgsizes

Some vIOMMU such as virtio-iommu use IOVA ranges from host side to
setup reserved ranges for passthrough device, so that guest will not
use an IOVA range beyond host support.

Use an uAPI of IOMMUFD to get IOVA ranges of host side and pass to
vIOMMU just like the legacy backend, if this fails, fallback to
64bit IOVA range.

Also use out_iova_alignment returned from uAPI as pgsizes instead of
qemu_real_host_page_size() as a fallback.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 4d36ec23a75eb387492f4d68ff1b8eeee5d68142
      
https://github.com/qemu/qemu/commit/4d36ec23a75eb387492f4d68ff1b8eeee5d68142
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/pci.c
    M hw/vfio/pci.h

  Log Message:
  -----------
  vfio/pci: Extract out a helper vfio_pci_get_pci_hot_reset_info

This helper will be used by both legacy and iommufd backends.

No functional changes intended.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: c328e7e8ad1c969dbcbe90ee76afcd3cfec5e945
      
https://github.com/qemu/qemu/commit/c328e7e8ad1c969dbcbe90ee76afcd3cfec5e945
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/container.c
    M hw/vfio/pci.c
    M hw/vfio/pci.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio/pci: Introduce a vfio pci hot reset interface

Legacy vfio pci and iommufd cdev have different process to hot reset
vfio device, expand current code to abstract out pci_hot_reset callback
for legacy vfio, this same interface will also be used by iommufd
cdev vfio device.

Rename vfio_pci_hot_reset to vfio_legacy_pci_hot_reset and move it
into container.c.

vfio_pci_[pre/post]_reset and vfio_pci_host_match are exported so
they could be called in legacy and iommufd pci_hot_reset callback.

Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 96d6f85ff012abd7aaa35b1a2bc48b8640c898d9
      
https://github.com/qemu/qemu/commit/96d6f85ff012abd7aaa35b1a2bc48b8640c898d9
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/iommufd.c
    M hw/vfio/trace-events

  Log Message:
  -----------
  vfio/iommufd: Enable pci hot reset through iommufd cdev interface

Implement the newly introduced pci_hot_reset callback named
iommufd_cdev_pci_hot_reset to do iommufd specific check and
reset operation.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: ee42b261b0a2e465ae003ddcaf1caf117c201f74
      
https://github.com/qemu/qemu/commit/ee42b261b0a2e465ae003ddcaf1caf117c201f74
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/pci.c

  Log Message:
  -----------
  vfio/pci: Allow the selection of a given iommu backend

Now we support two types of iommu backends, let's add the capability
to select one of them. This depends on whether an iommufd object has
been linked with the vfio-pci device:

If the user wants to use the legacy backend, it shall not
link the vfio-pci device with any iommufd object:

 -device vfio-pci,host=0000:02:00.0

This is called the legacy mode/backend.

If the user wants to use the iommufd backend (/dev/iommu) it
shall pass an iommufd object id in the vfio-pci device options:

 -object iommufd,id=iommufd0
 -device vfio-pci,host=0000:02:00.0,iommufd=iommufd0

Suggested-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: da3e04b26fd8d15b344944504d5ffa9c5f20b54b
      
https://github.com/qemu/qemu/commit/da3e04b26fd8d15b344944504d5ffa9c5f20b54b
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/helpers.c
    M hw/vfio/iommufd.c
    M hw/vfio/pci.c
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio/pci: Make vfio cdev pre-openable by passing a file handle

This gives management tools like libvirt a chance to open the vfio
cdev with privilege and pass FD to qemu. This way qemu never needs
to have privilege to open a VFIO or iommu cdev node.

Together with the earlier support of pre-opening /dev/iommu device,
now we have full support of passing a vfio device to unprivileged
qemu by management tool. This mode is no more considered for the
legacy backend. So let's remove the "TODO" comment.

Add helper functions vfio_device_set_fd() and vfio_device_get_name()
to set fd and get device name, they will also be used by other vfio
devices.

There is no easy way to check if a device is mdev with FD passing,
so fail the x-balloon-allowed check unconditionally in this case.

There is also no easy way to get BDF as name with FD passing, so
we fake a name by VFIO_FD[fd].

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: a6c50e1c3f8d0eb77edaea392e61508bb3c516f8
      
https://github.com/qemu/qemu/commit/a6c50e1c3f8d0eb77edaea392e61508bb3c516f8
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/platform.c

  Log Message:
  -----------
  vfio/platform: Allow the selection of a given iommu backend

Now we support two types of iommu backends, let's add the capability
to select one of them. This depends on whether an iommufd object has
been linked with the vfio-platform device:

If the user wants to use the legacy backend, it shall not
link the vfio-platform device with any iommufd object:

 -device vfio-platform,host=XXX

This is called the legacy mode/backend.

If the user wants to use the iommufd backend (/dev/iommu) it
shall pass an iommufd object id in the vfio-platform device options:

 -object iommufd,id=iommufd0
 -device vfio-platform,host=XXX,iommufd=iommufd0

Suggested-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 3016e60f8f715d2058a48e4956be994482c5e218
      
https://github.com/qemu/qemu/commit/3016e60f8f715d2058a48e4956be994482c5e218
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/platform.c

  Log Message:
  -----------
  vfio/platform: Make vfio cdev pre-openable by passing a file handle

This gives management tools like libvirt a chance to open the vfio
cdev with privilege and pass FD to qemu. This way qemu never needs
to have privilege to open a VFIO or iommu cdev node.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 336f308958d598f3db351bb7d94cc57b4b2d448d
      
https://github.com/qemu/qemu/commit/336f308958d598f3db351bb7d94cc57b4b2d448d
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/ap.c

  Log Message:
  -----------
  vfio/ap: Allow the selection of a given iommu backend

Now we support two types of iommu backends, let's add the capability
to select one of them. This depends on whether an iommufd object has
been linked with the vfio-ap device:

if the user wants to use the legacy backend, it shall not
link the vfio-ap device with any iommufd object:

 -device vfio-ap,sysfsdev=/sys/bus/mdev/devices/XXX

This is called the legacy mode/backend.

If the user wants to use the iommufd backend (/dev/iommu) it
shall pass an iommufd object id in the vfio-ap device options:

 -object iommufd,id=iommufd0
 -device vfio-ap,sysfsdev=/sys/bus/mdev/devices/XXX,iommufd=iommufd0

Suggested-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 5e7ba401b71d18544a3e44b2a58b9e63fd5148d5
      
https://github.com/qemu/qemu/commit/5e7ba401b71d18544a3e44b2a58b9e63fd5148d5
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/ap.c

  Log Message:
  -----------
  vfio/ap: Make vfio cdev pre-openable by passing a file handle

This gives management tools like libvirt a chance to open the vfio
cdev with privilege and pass FD to qemu. This way qemu never needs
to have privilege to open a VFIO or iommu cdev node.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: e70f971a6c1230138843d7ab82267e4a5aaf6bda
      
https://github.com/qemu/qemu/commit/e70f971a6c1230138843d7ab82267e4a5aaf6bda
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/ccw.c

  Log Message:
  -----------
  vfio/ccw: Allow the selection of a given iommu backend

Now we support two types of iommu backends, let's add the capability
to select one of them. This depends on whether an iommufd object has
been linked with the vfio-ccw device:

If the user wants to use the legacy backend, it shall not
link the vfio-ccw device with any iommufd object:

 -device vfio-ccw,sysfsdev=/sys/bus/mdev/devices/XXX

This is called the legacy mode/backend.

If the user wants to use the iommufd backend (/dev/iommu) it
shall pass an iommufd object id in the vfio-ccw device options:

 -object iommufd,id=iommufd0
 -device vfio-ccw,sysfsdev=/sys/bus/mdev/devices/XXX,iommufd=iommufd0

Suggested-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 909a6254edaa8d0b0e3f1c0a623862e73d1842e9
      
https://github.com/qemu/qemu/commit/909a6254edaa8d0b0e3f1c0a623862e73d1842e9
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/ccw.c

  Log Message:
  -----------
  vfio/ccw: Make vfio cdev pre-openable by passing a file handle

This gives management tools like libvirt a chance to open the vfio
cdev with privilege and pass FD to qemu. This way qemu never needs
to have privilege to open a VFIO or iommu cdev node.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 4517c33c31d392f08fa96a9db911da1e3507be94
      
https://github.com/qemu/qemu/commit/4517c33c31d392f08fa96a9db911da1e3507be94
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/container-base.c
    M hw/vfio/container.c
    M hw/vfio/iommufd.c
    M include/hw/vfio/vfio-common.h
    M include/hw/vfio/vfio-container-base.h

  Log Message:
  -----------
  vfio: Make VFIOContainerBase poiner parameter const in VFIOIOMMUOps callbacks

Some of the callbacks in VFIOIOMMUOps pass VFIOContainerBase poiner,
those callbacks only need read access to the sub object of VFIOContainerBase.
So make VFIOContainerBase, VFIOContainer and VFIOIOMMUFDContainer as const
in these callbacks.

Local functions called by those callbacks also need same changes to avoid
build error.

Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 0970238343af45a8b547695bfc22f18d4eb7da7e
      
https://github.com/qemu/qemu/commit/0970238343af45a8b547695bfc22f18d4eb7da7e
  Author: Cédric Le Goater <clg@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/arm/Kconfig

  Log Message:
  -----------
  hw/arm: Activate IOMMUFD for virt machines

Signed-off-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 73e2df669335047b542b67d37ade060a6ae40dd8
      
https://github.com/qemu/qemu/commit/73e2df669335047b542b67d37ade060a6ae40dd8
  Author: Cédric Le Goater <clg@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/s390x/Kconfig

  Log Message:
  -----------
  kconfig: Activate IOMMUFD for s390x machines

Signed-off-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 64ad06f6eba66c514477f490bcba409439a480d8
      
https://github.com/qemu/qemu/commit/64ad06f6eba66c514477f490bcba409439a480d8
  Author: Cédric Le Goater <clg@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/i386/Kconfig

  Log Message:
  -----------
  hw/i386: Activate IOMMUFD for q35 machines

Signed-off-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: dd2fcb1716be9b89c726b3446f38446bb99d6b3a
      
https://github.com/qemu/qemu/commit/dd2fcb1716be9b89c726b3446f38446bb99d6b3a
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/pci.c

  Log Message:
  -----------
  vfio/pci: Move VFIODevice initializations in vfio_instance_init

Some of the VFIODevice initializations is in vfio_realize,
move all of them in vfio_instance_init.

No functional change intended.

Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: a0cf44c8d618578843a65ea7f6d3db8ce52185bc
      
https://github.com/qemu/qemu/commit/a0cf44c8d618578843a65ea7f6d3db8ce52185bc
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/platform.c

  Log Message:
  -----------
  vfio/platform: Move VFIODevice initializations in vfio_platform_instance_init

Some of the VFIODevice initializations is in vfio_platform_realize,
move all of them in vfio_platform_instance_init.

No functional change intended.

Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: cbbcc2f1706aa1a08637142744d2f5f6515ac93f
      
https://github.com/qemu/qemu/commit/cbbcc2f1706aa1a08637142744d2f5f6515ac93f
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/ap.c

  Log Message:
  -----------
  vfio/ap: Move VFIODevice initializations in vfio_ap_instance_init

Some of the VFIODevice initializations is in vfio_ap_realize,
move all of them in vfio_ap_instance_init.

No functional change intended.

Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: c12b55ad6f9d3b4792b590e9211bd7319e4a2d70
      
https://github.com/qemu/qemu/commit/c12b55ad6f9d3b4792b590e9211bd7319e4a2d70
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/ccw.c

  Log Message:
  -----------
  vfio/ccw: Move VFIODevice initializations in vfio_ccw_instance_init

Some of the VFIODevice initializations is in vfio_ccw_realize,
move all of them in vfio_ccw_instance_init.

No functional change intended.

Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 6106a329141af7d47bdc3346ce9820d4714e0e5d
      
https://github.com/qemu/qemu/commit/6106a329141af7d47bdc3346ce9820d4714e0e5d
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/vfio/ap.c
    M hw/vfio/ccw.c
    M hw/vfio/helpers.c
    M hw/vfio/pci.c
    M hw/vfio/platform.c
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: Introduce a helper function to initialize VFIODevice

Introduce a helper function to replace the common code to initialize
VFIODevice in pci, platform, ap and ccw VFIO device.

No functional change intended.

Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 98dad2b01931f6064c6c4b48ca3c2a1d9f542cd8
      
https://github.com/qemu/qemu/commit/98dad2b01931f6064c6c4b48ca3c2a1d9f542cd8
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M MAINTAINERS
    M docs/devel/index-internals.rst
    A docs/devel/vfio-iommufd.rst

  Log Message:
  -----------
  docs/devel: Add VFIO iommufd backend documentation

Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 4278df9d1d2383b738338c857406357660f11e42
      
https://github.com/qemu/qemu/commit/4278df9d1d2383b738338c857406357660f11e42
  Author: Cédric Le Goater <clg@redhat.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M hw/ppc/Kconfig
    M hw/ppc/spapr_pci_vfio.c

  Log Message:
  -----------
  hw/ppc/Kconfig: Imply VFIO_PCI

When the legacy and iommufd backends were introduced, a set of common
vfio-pci routines were exported in pci.c for both backends to use :

  vfio_pci_pre_reset
  vfio_pci_get_pci_hot_reset_info
  vfio_pci_host_match
  vfio_pci_post_reset

This introduced a build failure on PPC when --without-default-devices
is use because VFIO is always selected in ppc/Kconfig but VFIO_PCI is
not.

Use an 'imply VFIO_PCI' in ppc/Kconfig and bypass compilation of the
VFIO EEH hooks routines defined in hw/ppc/spapr_pci_vfio.c with
CONFIG_VFIO_PCI.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>


  Commit: 2b10a6760ee6d00dd404975549d51e079a26605c
      
https://github.com/qemu/qemu/commit/2b10a6760ee6d00dd404975549d51e079a26605c
  Author: Cornelia Huck <cohuck@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M hw/arm/virt.c
    M hw/core/machine.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/m68k/virt.c
    M hw/ppc/spapr.c
    M hw/s390x/s390-virtio-ccw.c
    M include/hw/boards.h
    M include/hw/i386/pc.h

  Log Message:
  -----------
  hw: Add compat machines for 9.0

Add 9.0 machine types for arm/i440fx/m68k/q35/s390x/spapr.

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Message-ID: <20231120094259.1191804-1-cohuck@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Acked-by: Eric Farman <farman@linux.ibm.com>  # s390x
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 6c4937245d90c0d2f8cedd2b25c2c17b8659c46a
      
https://github.com/qemu/qemu/commit/6c4937245d90c0d2f8cedd2b25c2c17b8659c46a
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add some more vmware-related files to the corresponding section

These files are obviously related to Vmware emulation, so let's list
them in the corresponding section in the MAINTAINERS file.

Message-ID: <20231107102738.14797-1-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 65eac5bd547f6e8abffb3e85bd2d793c609ab396
      
https://github.com/qemu/qemu/commit/65eac5bd547f6e8abffb3e85bd2d793c609ab396
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M system/qtest.c

  Log Message:
  -----------
  system/qtest: Include missing 'hw/core/cpu.h' header

"hw/core/cpu.h" declares 'first_cpu'. Include it to avoid
when unrelated headers are refactored:

  system/qtest.c:548:33: error: use of undeclared identifier 'first_cpu'
            address_space_write(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED,
                                ^

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20231212113016.29808-2-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 60144cf50943600c9b433924d3a98124aa4b49aa
      
https://github.com/qemu/qemu/commit/60144cf50943600c9b433924d3a98124aa4b49aa
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M include/sysemu/qtest.h

  Log Message:
  -----------
  system/qtest: Restrict QTest API to system emulation

Outside of system emulation, only qtest_enabled() can be used.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20231212113016.29808-3-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 43562e1882014c4ad1ec2c319e2c054d84c6295a
      
https://github.com/qemu/qemu/commit/43562e1882014c4ad1ec2c319e2c054d84c6295a
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M hw/ppc/spapr_hcall.c

  Log Message:
  -----------
  hw/ppc/spapr_hcall: Remove unused 'exec/exec-all.h' included header

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20231212113640.30287-2-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: b5570da73445aab7f67f03650d787f611f9b9ce9
      
https://github.com/qemu/qemu/commit/b5570da73445aab7f67f03650d787f611f9b9ce9
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M hw/misc/mips_itu.c

  Log Message:
  -----------
  hw/misc/mips_itu: Remove unnecessary 'exec/exec-all.h' header

mips_itu.c only requires declarations from "hw/core/cpu.h"
and "cpu.h". Avoid including the huge "exec/exec-all.h" header.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20231212113640.30287-3-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: e1c85e5f0f047df2bf1bc96fa343eba6187e212a
      
https://github.com/qemu/qemu/commit/e1c85e5f0f047df2bf1bc96fa343eba6187e212a
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M hw/s390x/ipl.c

  Log Message:
  -----------
  hw/s390x/ipl: Remove unused 'exec/exec-all.h' included header

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20231212113640.30287-4-philmd@linaro.org>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c0f6cd9f670888eed851cd0c06a803077020068c
      
https://github.com/qemu/qemu/commit/c0f6cd9f670888eed851cd0c06a803077020068c
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M target/i386/cpu.c
    M target/loongarch/cpu.c

  Log Message:
  -----------
  target: Restrict 'sysemu/reset.h' to system emulation

vCPU "reset" is only possible with system emulation.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-ID: <20231212113640.30287-5-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: bce9bbc3c991a087130babc243a9f2c1e6bcf8a5
      
https://github.com/qemu/qemu/commit/bce9bbc3c991a087130babc243a9f2c1e6bcf8a5
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M docs/system/arm/xlnx-versal-virt.rst

  Log Message:
  -----------
  docs/system/arm: Fix for rename of type "xlnx.bbram-ctrl"

Fixes: b65b4b7ae3c8 (xlnx-bbram: hw/nvram: Use dot in device type name)
Signed-off-by: Markus Armbruster <armbru@redhat.com>
[thuth: Use longhand syntax to avoid problems with the "." in the name]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-ID: <20231117114457.177308-2-thuth@redhat.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c455e011c61c91d152ac6170c2a3b7fbc89e194a
      
https://github.com/qemu/qemu/commit/c455e011c61c91d152ac6170c2a3b7fbc89e194a
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M docs/system/arm/xlnx-versal-virt.rst
    M include/hw/misc/xlnx-versal-cframe-reg.h
    M include/hw/misc/xlnx-versal-cfu.h
    M include/hw/misc/xlnx-versal-crl.h
    M include/hw/nvram/xlnx-efuse.h
    M include/hw/nvram/xlnx-versal-efuse.h
    M include/hw/nvram/xlnx-zynqmp-efuse.h

  Log Message:
  -----------
  hw: Replace anti-social QOM type names (again)

QOM type names containing ',' result in awful UI.  We got rid of them
in v6.0.0 (commit e178113ff64 hw: Replace anti-social QOM type names).
A few have crept back since:

    xlnx,cframe-reg
    xlnx,efuse
    xlnx,pmc-efuse-cache
    xlnx,versal-cfu-apb
    xlnx,versal-cfu-fdro
    xlnx,versal-cfu-sfr
    xlnx,versal-crl
    xlnx,versal-efuse
    xlnx,zynqmp-efuse

These are all device types.  They can't be plugged with -device /
device_add, except for "xlnx,efuse" (I'm not sure that one is
intentional).

They *can* be used with -device / device_add to request help.
Usability is poor, though: you have to double the comma, like this:

    $ qemu-system-aarch64 -device xlnx,,pmc-efuse-cache,help

They can also be used with -global, where you must *not* double the
comma:

    $ qemu-system-aarch64 -global xlnx,efuse.drive-index=2

Trap for the unwary.

"xlnx,efuse", "xlnx,versal-efuse", "xlnx,pmc-efuse-cache",
"xlnx-zynqmp-efuse" are from v6.2.0, "xlnx,versal-crl" is from v7.1.0,
and the remainder are new.

Rename them all to "xlnx-FOO", like commit e178113ff64 did.

Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com>
Message-ID: <20231117114457.177308-3-thuth@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: a36ea38abde3bba671d95c6dff61fcc3828aee22
      
https://github.com/qemu/qemu/commit/a36ea38abde3bba671d95c6dff61fcc3828aee22
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M include/exec/memory.h

  Log Message:
  -----------
  memory: Remove "qemu:" prefix from the "qemu:ram-discard-manager" type name

Type names should not contain special characters like ":". Let's
remove the whole prefix here since it does not really seem to be
helpful to have such a prefix here. The type name is only used
internally for an interface type, so the renaming should not affect
the user interface or migration.

Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20231117114457.177308-4-thuth@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 05f2320d40cfea74fad4bfc9ec5b645a3964ea05
      
https://github.com/qemu/qemu/commit/05f2320d40cfea74fad4bfc9ec5b645a3964ea05
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M tests/unit/test-io-task.c

  Log Message:
  -----------
  tests/unit/test-io-task: Rename "qemu:dummy" to avoid colon in the name

Type names should not contain special characters like ":" (so that
they are easier to use with QAPI and other parts). We are going to
forbid such names in an upcoming patch. Thus let's replace the ":"
here with a "-".

Reviewed-by: "Daniel P. Berrangé" <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20231117114457.177308-5-thuth@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: b447378e121713faa4c63e8c93a8ebf25218fc40
      
https://github.com/qemu/qemu/commit/b447378e121713faa4c63e8c93a8ebf25218fc40
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M qom/object.c

  Log Message:
  -----------
  qom/object: Limit type names to alphanumerical and some few special characters

QOM names currently don't have any enforced naming rules. This
can be problematic, e.g. when they are used on the command line
for the "-device" option (where the comma is used to separate
properties). To avoid that such problematic type names come in
again, let's restrict the set of acceptable characters during the
type registration.

Ideally, we'd apply here the same rules as for QAPI, i.e. all type
names should begin with a letter, and contain only ASCII letters,
digits, hyphen, and underscore. However, we already have so many
pre-existing types like:

    486-x86_64-cpu
    cfi.pflash01
    power5+_v2.1-spapr-cpu-core
    virt-2.6-machine
    pc-i440fx-3.0-machine

... so that we have to allow "." and "+" for now, too. While the
dot is used in a lot of places, the "+" can fortunately be limited
to two classes of legacy names ("power" and "Sun-UltraSparc" CPUs).

We also cannot enforce the rule that names must start with a letter
yet, since there are lot of types that start with a digit. Still,
at least limiting the first characters to the alphanumerical range
should be way better than nothing.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20231117114457.177308-6-thuth@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 81c2c9dd5dc2a39b95317ca3a9baff0184f9f097
      
https://github.com/qemu/qemu/commit/81c2c9dd5dc2a39b95317ca3a9baff0184f9f097
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M scripts/analyze-migration.py
    M tests/qtest/migration-test.c

  Log Message:
  -----------
  tests/qtest/migration-test: Fix analyze-migration.py for s390x

The migration stream on s390x contains data for the storage_attributes
which the analyze-migration.py cannot handle yet. Add the basic code
for handling this, so we can re-enable the check in the migration-test.

Message-ID: <20231120113951.162090-1-thuth@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: fd49b2153ed2448de6798fba31430a8dccea8ed8
      
https://github.com/qemu/qemu/commit/fd49b2153ed2448de6798fba31430a8dccea8ed8
  Author: Yihuan Pan <xun794@gmail.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M docs/system/invocation.rst
    M docs/system/qemu-manpage.rst
    M qemu-options.hx

  Log Message:
  -----------
  qemu-options: Clarify handling of commas in options parameters

Provide explicit guidance on dealing with option parameters as arbitrary
strings containing commas, such as in "file=my,file" and "string=a,b". The
updated documentation emphasizes the need to double commas when they
appear within such parameters.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1839
Signed-off-by: Yihuan Pan <xun794@gmail.com>
Message-ID: <20231213141706.629833-2-xun794@gmail.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 71dc6ca2a8fa0eca8ab8e87e6a55cb0114fa4c85
      
https://github.com/qemu/qemu/commit/71dc6ca2a8fa0eca8ab8e87e6a55cb0114fa4c85
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M tests/qtest/npcm7xx_pwm-test.c

  Log Message:
  -----------
  tests/qtest/npcm7xx_pwm-test: Only do full testing in slow mode

The npcm7xx_pwm-test can take quite a while when running with
--enable-debug on a loaded system. The tests here are quite
repetitive - by default it should be fine if we only execute
some of them and only execute all when running in slow testing mode.

Message-ID: <20231215143524.49241-1-thuth@redhat.com>
Reviewed-by: "Daniel P. Berrangé" <berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c363764a6048f64d11c6cabf180154cf6f13ac3a
      
https://github.com/qemu/qemu/commit/c363764a6048f64d11c6cabf180154cf6f13ac3a
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M tests/unit/test-qmp-event.c

  Log Message:
  -----------
  tests/unit/test-qmp-event: Drop superfluous mutex

Mutex @test_event_lock is held from fixture setup to teardown,
protecting global variable @test_event_data.  But tests always run one
after the other, so this is superfluous.  It also confuses Coverity.
Drop the mutex.

Fixes: CID 1527425
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20231122072456.2518816-2-armbru@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 5712b7e4fbe661338d4581b574eb3b9da9f44915
      
https://github.com/qemu/qemu/commit/5712b7e4fbe661338d4581b574eb3b9da9f44915
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M tests/unit/test-qmp-event.c

  Log Message:
  -----------
  tests/unit/test-qmp-event: Simplify event emission check

The generated qapi_event_send_FOO() call an event emitter function.
It's test_qapi_event_emit() in this test.  It compares the actual
event to the expected event, and sets a flag to record it was called.
The test functions set expected data and clear the flag before calling
qapi_event_send_FOO(), and check the flag afterwards.

Make test_qapi_event_emit() consume expected data, and the test
functions check it was consumed.  Delete the flag.  This is simpler.
It also catches extraneous calls of test_qapi_event_emit().  Catching
that is not worthwhile, but since the cost is negative...

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20231122072456.2518816-3-armbru@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 17b2ecc331eab274d448446aa51883040f9185ed
      
https://github.com/qemu/qemu/commit/17b2ecc331eab274d448446aa51883040f9185ed
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M tests/unit/test-qmp-event.c

  Log Message:
  -----------
  tests/unit/test-qmp-event: Replace fixture by global variables

The fixture buys us exactly nothing, as we need a global variable
anyway, for test_qapi_event_emit().  Drop it.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20231122072456.2518816-4-armbru@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: dd7d3e35401f80ffef4e209fa9e27db9087501b0
      
https://github.com/qemu/qemu/commit/dd7d3e35401f80ffef4e209fa9e27db9087501b0
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M MAINTAINERS
    M backends/Kconfig
    A backends/iommufd.c
    M backends/meson.build
    M backends/trace-events
    M docs/devel/index-internals.rst
    A docs/devel/vfio-iommufd.rst
    M hw/arm/Kconfig
    M hw/i386/Kconfig
    M hw/ppc/Kconfig
    M hw/ppc/spapr_pci_vfio.c
    M hw/s390x/Kconfig
    M hw/vfio/ap.c
    M hw/vfio/ccw.c
    M hw/vfio/common.c
    A hw/vfio/container-base.c
    M hw/vfio/container.c
    M hw/vfio/helpers.c
    A hw/vfio/iommufd.c
    M hw/vfio/meson.build
    M hw/vfio/pci.c
    M hw/vfio/pci.h
    M hw/vfio/platform.c
    M hw/vfio/spapr.c
    M hw/vfio/trace-events
    M include/hw/vfio/vfio-common.h
    A include/hw/vfio/vfio-container-base.h
    A include/qemu/chardev_open.h
    A include/sysemu/iommufd.h
    M qapi/qom.json
    M qemu-options.hx
    A util/chardev_open.c
    M util/meson.build

  Log Message:
  -----------
  Merge tag 'pull-vfio-20231219' of https://github.com/legoater/qemu into 
staging

vfio queue:

* Introduce an IOMMU interface backend for VFIO devices
* Convert IOMMU type1 and sPAPR IOMMU to respective backends
* Introduce a new IOMMUFD backend for ARM, x86_64 and s390x platforms

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEoPZlSPBIlev+awtgUaNDx8/77KEFAmWB34AACgkQUaNDx8/7
# 7KGOMxAAqXegvAneHqIlu4c8TzTuUR2rkYgev9RdfIHRDuY2XtaX14xlWn/rpTXZ
# qSgeta+iT8Cv4YV1POJeHWFDNs9E29p1w+R7nLcH1qTIIaZHtxwbVVQ3s7kAo1Vb
# 1S1G0/zIznzGVI50a0lj1gO2yQJnu/79nXpnICgA5REW0CscMssnvboQODlwq17V
# ZLNVM8CSAvKl6ppkmzRdfNXCfq6x7bf4MsvnuXsqda4TBbvyyTjAqdo/8sjKiGly
# gSDQqhgy6cvEXIF0UUHPJzFApf0YdXUDlL8hzH90hvRVu4W/t24dPmT7UkVIX9Ek
# TA7RVxv7iJlHtFDqfSTAJFr7nKO9Tm2V9N7xbD1OJUKrMoPZRT6+0R1hMKqsZ5z+
# nG6khqHGzuo/aI9n70YxYIPXt+vs/EHI4WUtslGLUTL0xv8lUzk6cxyIJupFRmDS
# ix6GM9TXOV8RyOveL2knHVymlFnAR6dekkMB+6ljUTuzDwG0oco4vno8z9bi7Vct
# j36bM56U3lhY+w+Ljoy0gPwgrw/FROnGG3mp1mwp1KRHqtEDnUQu8CaLbJOBsBGE
# JJDP6AKAYMczdmYVkd4CvE0WaeSxtOUxW5H5NCPjtaFQt0qEcght2lA2K15g521q
# jeojoJ/QK5949jnNCqm1Z66/YQVL79lPyL0E+mxEohwu+yTORk4=
# =U0x5
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 19 Dec 2023 13:22:56 EST
# gpg:                using RSA key A0F66548F04895EBFE6B0B6051A343C7CFFBECA1
# gpg: Good signature from "Cédric Le Goater <clg@redhat.com>" [unknown]
# gpg:                 aka "Cédric Le Goater <clg@kaod.org>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: A0F6 6548 F048 95EB FE6B  0B60 51A3 43C7 CFFB ECA1

* tag 'pull-vfio-20231219' of https://github.com/legoater/qemu: (47 commits)
  hw/ppc/Kconfig: Imply VFIO_PCI
  docs/devel: Add VFIO iommufd backend documentation
  vfio: Introduce a helper function to initialize VFIODevice
  vfio/ccw: Move VFIODevice initializations in vfio_ccw_instance_init
  vfio/ap: Move VFIODevice initializations in vfio_ap_instance_init
  vfio/platform: Move VFIODevice initializations in vfio_platform_instance_init
  vfio/pci: Move VFIODevice initializations in vfio_instance_init
  hw/i386: Activate IOMMUFD for q35 machines
  kconfig: Activate IOMMUFD for s390x machines
  hw/arm: Activate IOMMUFD for virt machines
  vfio: Make VFIOContainerBase poiner parameter const in VFIOIOMMUOps callbacks
  vfio/ccw: Make vfio cdev pre-openable by passing a file handle
  vfio/ccw: Allow the selection of a given iommu backend
  vfio/ap: Make vfio cdev pre-openable by passing a file handle
  vfio/ap: Allow the selection of a given iommu backend
  vfio/platform: Make vfio cdev pre-openable by passing a file handle
  vfio/platform: Allow the selection of a given iommu backend
  vfio/pci: Make vfio cdev pre-openable by passing a file handle
  vfio/pci: Allow the selection of a given iommu backend
  vfio/iommufd: Enable pci hot reset through iommufd cdev interface
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 63d663251249c247c7c1de0e3de6cf617e2a1705
      
https://github.com/qemu/qemu/commit/63d663251249c247c7c1de0e3de6cf617e2a1705
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M accel/kvm/kvm-all.c
    M hw/arm/virt.c
    M hw/intc/arm_gicv3_its_kvm.c
    M hw/misc/imx7_snvs.c
    M hw/misc/trace-events
    M include/hw/misc/imx7_snvs.h
    M target/arm/cpu.c
    M target/arm/cpu64.c
    M target/arm/debug_helper.c
    M target/arm/helper.c
    M target/arm/kvm.c
    R target/arm/kvm64.c
    M target/arm/kvm_arm.h
    M target/arm/meson.build
    M target/arm/tcg/op_helper.c
    M target/arm/tcg/translate-a64.c

  Log Message:
  -----------
  Merge tag 'pull-target-arm-20231219' of 
https://git.linaro.org/people/pmaydell/qemu-arm into staging

target-arm queue:
 * arm/kvm: drop the split between "common KVM support" and
   "64-bit KVM support", since 32-bit Arm KVM no longer exists
 * arm/kvm: clean up APIs to be consistent about CPU arguments
 * Don't implement *32_EL2 registers when EL1 is AArch64 only
 * Restrict DC CVAP & DC CVADP instructions to TCG accel
 * Restrict TCG specific helpers
 * Propagate MDCR_EL2.HPMN into PMCR_EL0.N
 * Include missing 'exec/exec-all.h' header
 * fsl-imx: add simple RTC emulation for i.MX6 and i.MX7 boards

# -----BEGIN PGP SIGNATURE-----
#
# iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmWB6o0ZHHBldGVyLm1h
# eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3mxMEACRpRxJ81pLs8fFYC5BgRhU
# BCxr+ZqarBygzsH9YWUN2TFFKlEZi7mLu6lzFsfN/qEmYCg8VslPbulQHqcGkx51
# kVxXFp/KuGlKt4zGRagZUJxgYAwwU5mnK6dTZT5/ZF6yWX67dXn8V7MP9lqqEPw5
# 5gut7Mu4f7MiAQbwZY1CWP+iu5uZmdsBuKxA6zkxOWJh/A1SfaqQRO6xVQttLAxS
# DPMTpQGmwPS4I+3gGNnqlSu6etp2tdy2K0cW3fhMp6hx70uNMHmFNzRhT/6TaKka
# 9AqXQsFHQiFXDGAm6PmCvfQI6KpLljDyNL/TuUkQWi72bGEHjUsJAdG0aXVOa30W
# uC7vuJkdZrP/t5P1AkZhWQUrlawDRV2YHNDD+gY4fxJL/STkGyU6M8R1nm1J+InN
# n0SeK0VHRC6DRPXCMQhC5QwKUH6ZjFZRs/r2opTu9p+ThQAQRmZBiVfdISCDMYnN
# DCiSb78gIFaUkwtiP44qq8MJQjsHnXtTD1Akqyo2fXSKs66jDK9Gnc8gENYdpghe
# 7V36bOp6scROHOB2a/r8gT42RKzSN6uh6xByaaToza63/bPgvHnn8vvQQbB01AgX
# zJC1xs3dwY8JMyqDefda0K0NDPS8TzNsXYmgxxxcQJpUvB4VVjet9VIMF3T+d8HO
# Pas41Z1gsQY+rcaRk/9mPA==
# =GWIA
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 19 Dec 2023 14:10:05 EST
# gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:                issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [full]
# gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [full]
# gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" 
[full]
# gpg:                 aka "Peter Maydell <peter@archaic.org.uk>" [unknown]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* tag 'pull-target-arm-20231219' of 
https://git.linaro.org/people/pmaydell/qemu-arm: (43 commits)
  fsl-imx: add simple RTC emulation for i.MX6 and i.MX7 boards
  target/arm/helper: Propagate MDCR_EL2.HPMN into PMCR_EL0.N
  target/arm/tcg: Including missing 'exec/exec-all.h' header
  target/arm: Restrict DC CVAP & DC CVADP instructions to TCG accel
  target/arm: Restrict TCG specific helpers
  target/arm: Don't implement *32_EL2 registers when EL1 is AArch64 only
  target/arm/kvm: Have kvm_arm_hw_debug_active take a ARMCPU argument
  target/arm/kvm: Have kvm_arm_handle_debug take a ARMCPU argument
  target/arm/kvm: Have kvm_arm_handle_dabt_nisv take a ARMCPU argument
  target/arm/kvm: Have kvm_arm_verify_ext_dabt_pending take a ARMCPU arg
  target/arm/kvm: Have kvm_arm_[get|put]_virtual_time take ARMCPU argument
  target/arm/kvm: Have kvm_arm_vcpu_finalize take a ARMCPU argument
  target/arm/kvm: Have kvm_arm_vcpu_init take a ARMCPU argument
  target/arm/kvm: Have kvm_arm_pmu_set_irq take a ARMCPU argument
  target/arm/kvm: Have kvm_arm_pmu_init take a ARMCPU argument
  target/arm/kvm: Have kvm_arm_pvtime_init take a ARMCPU argument
  target/arm/kvm: Have kvm_arm_set_device_attr take a ARMCPU argument
  target/arm/kvm: Have kvm_arm_sve_get_vls take a ARMCPU argument
  target/arm/kvm: Have kvm_arm_sve_set_vls take a ARMCPU argument
  target/arm/kvm: Have kvm_arm_add_vcpu_properties take a ARMCPU argument
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 191710c221f65b1542f6ea7fa4d30dde6e134fd7
      
https://github.com/qemu/qemu/commit/191710c221f65b1542f6ea7fa4d30dde6e134fd7
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M MAINTAINERS
    M docs/system/arm/xlnx-versal-virt.rst
    M docs/system/invocation.rst
    M docs/system/qemu-manpage.rst
    M hw/arm/virt.c
    M hw/core/machine.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/m68k/virt.c
    M hw/misc/mips_itu.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_hcall.c
    M hw/s390x/ipl.c
    M hw/s390x/s390-virtio-ccw.c
    M include/exec/memory.h
    M include/hw/boards.h
    M include/hw/i386/pc.h
    M include/hw/misc/xlnx-versal-cframe-reg.h
    M include/hw/misc/xlnx-versal-cfu.h
    M include/hw/misc/xlnx-versal-crl.h
    M include/hw/nvram/xlnx-efuse.h
    M include/hw/nvram/xlnx-versal-efuse.h
    M include/hw/nvram/xlnx-zynqmp-efuse.h
    M include/sysemu/qtest.h
    M qemu-options.hx
    M qom/object.c
    M scripts/analyze-migration.py
    M system/qtest.c
    M target/i386/cpu.c
    M target/loongarch/cpu.c
    M tests/qtest/migration-test.c
    M tests/qtest/npcm7xx_pwm-test.c
    M tests/unit/test-io-task.c
    M tests/unit/test-qmp-event.c

  Log Message:
  -----------
  Merge tag 'pull-request-2023-12-20' of https://gitlab.com/thuth/qemu into 
staging

* Add compat machines for QEMU 9.0
* Some header clean-ups by Philippe
* Restrict type names to alphanumerical range (and a few special characters)
* Fix analyze-migration.py script on s390x
* Clean up and improve some tests
* Document handling of commas in CLI options parameters

# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmWCtYsRHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbWLnw//cNJrxG0V+j0iakX+C7HRumVrLBDI4KYY
# Cp2Hx92SyeQ0Kk8DJS6JueTV0SLjMsV77APu2YPH7ELmPlk+CB9gqmV7xVoYNvsm
# QbRPlIjFw8MHLekadc2A+C+pn48tWACoOdBEDIfazKrxybnf0B57RC/fIfMKHjbs
# 2ALCoFbbgphs7yWuzTHK8ayKaGMhUVkWfzHQwpnq899olHyZBhkl951uKJA6VmLx
# KvggePkpszLjmmXA8MH1hDCcizki31cB0ZKTbQFCyE42s2S3Hvg0GueU90O7Y1cj
# lS5tPVQxyEhUYMLL+/hudlf2OYqVn2BalB7ieUQIy6rG8yoc9zxfIKQi0ccl+2oA
# s8HRq5S0bSjtilQogU1LQL/Gk6W1/N9MmnhKvCGB+BTK5KX7s4EQk02y9gGZm/8s
# pMErMyaXTG4dLiTAK42VgMVDqCYvzBmE+Gj91OmoUR7fb+VMrsWxeBFxMPDn+VtL
# TMJegIFsjw2QCSitcU4v+nP0qtKgXGbuZtrGXKabrxH5PmeQFJDSM7TwpTK4qvjK
# QMIQKBbz8BfJnUzN8qAaaJEpp1T5tcMJClKtfcgxq/+VyaSaHLmD0cljqBC+g+y7
# FTo+fa7oYx44sAlqapdEXBSGn4T+J26iuCef13CCCiPfYBv/tk3b2E0AWHj4y58I
# +VpInjUaPBQ=
# =TA1/
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 20 Dec 2023 04:36:11 EST
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* tag 'pull-request-2023-12-20' of https://gitlab.com/thuth/qemu:
  tests/unit/test-qmp-event: Replace fixture by global variables
  tests/unit/test-qmp-event: Simplify event emission check
  tests/unit/test-qmp-event: Drop superfluous mutex
  tests/qtest/npcm7xx_pwm-test: Only do full testing in slow mode
  qemu-options: Clarify handling of commas in options parameters
  tests/qtest/migration-test: Fix analyze-migration.py for s390x
  qom/object: Limit type names to alphanumerical and some few special characters
  tests/unit/test-io-task: Rename "qemu:dummy" to avoid colon in the name
  memory: Remove "qemu:" prefix from the "qemu:ram-discard-manager" type name
  hw: Replace anti-social QOM type names (again)
  docs/system/arm: Fix for rename of type "xlnx.bbram-ctrl"
  target: Restrict 'sysemu/reset.h' to system emulation
  hw/s390x/ipl: Remove unused 'exec/exec-all.h' included header
  hw/misc/mips_itu: Remove unnecessary 'exec/exec-all.h' header
  hw/ppc/spapr_hcall: Remove unused 'exec/exec-all.h' included header
  system/qtest: Restrict QTest API to system emulation
  system/qtest: Include missing 'hw/core/cpu.h' header
  MAINTAINERS: Add some more vmware-related files to the corresponding section
  hw: Add compat machines for 9.0

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


Compare: https://github.com/qemu/qemu/compare/bd00730ec0f6...191710c221f6



reply via email to

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