qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] e5dc72: accel: Rename accel_cpu_realizefn() -


From: Alex Bennée
Subject: [Qemu-commits] [qemu/qemu] e5dc72: accel: Rename accel_cpu_realizefn() -> accel_cpu_r...
Date: Thu, 05 Oct 2023 08:56:54 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e5dc722ca9f8b02da21e0fd7852a44b65a5686c6
      
https://github.com/qemu/qemu/commit/e5dc722ca9f8b02da21e0fd7852a44b65a5686c6
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M accel/accel-common.c
    M cpu.c
    M include/qemu/accel.h
    M target/i386/kvm/kvm-cpu.c

  Log Message:
  -----------
  accel: Rename accel_cpu_realizefn() -> accel_cpu_realize()

We use the '*fn' suffix for handlers, this is a public method.
Drop the suffix.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20231003123026.99229-2-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6294e502a95e64f75d63bd95c5a24aa4d7f00196
      
https://github.com/qemu/qemu/commit/6294e502a95e64f75d63bd95c5a24aa4d7f00196
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M accel/accel-common.c
    M include/hw/core/accel-cpu.h
    M target/i386/hvf/hvf-cpu.c
    M target/i386/kvm/kvm-cpu.c
    M target/i386/tcg/tcg-cpu.c

  Log Message:
  -----------
  accel: Rename AccelCPUClass::cpu_realizefn() -> cpu_target_realize()

The AccelCPUClass::cpu_realizefn handler is meant for target
specific code, rename it using '_target_' to emphasis it.

Suggested-by: Claudio Fontana <cfontana@suse.de>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20231003123026.99229-3-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: bd684b2f3f57dd390ba715fce1597eb7ad97ee8d
      
https://github.com/qemu/qemu/commit/bd684b2f3f57dd390ba715fce1597eb7ad97ee8d
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M accel/accel-common.c
    M cpu.c
    M include/qemu/accel.h
    M target/i386/kvm/kvm-cpu.c

  Log Message:
  -----------
  accel: Rename accel_cpu_realize() -> accel_cpu_common_realize()

accel_cpu_realize() is a generic function working with CPUs
from any target. Rename it using '_common_' to emphasis it is
not target specific.

Suggested-by: Claudio Fontana <cfontana@suse.de>

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20231003123026.99229-4-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 1aa1d8308d46c5ee3b8558f9f916f5da2492a60a
      
https://github.com/qemu/qemu/commit/1aa1d8308d46c5ee3b8558f9f916f5da2492a60a
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M accel/accel-common.c
    M cpu.c
    M include/qemu/accel.h

  Log Message:
  -----------
  accel: Introduce accel_cpu_common_unrealize() stub

Prepare the stub for parity with accel_cpu_common_realize().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20231003123026.99229-5-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 59851868a2fb632dbf080feda814137fd60242db
      
https://github.com/qemu/qemu/commit/59851868a2fb632dbf080feda814137fd60242db
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M accel/accel-common.c
    M include/qemu/accel.h

  Log Message:
  -----------
  accel: Declare AccelClass::cpu_common_[un]realize() handlers

Currently accel_cpu_realize() only performs target-specific
realization. Introduce the cpu_common_[un]realize fields in
the base AccelClass to be able to perform target-agnostic
[un]realization of vCPUs.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20231003123026.99229-6-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: fa312f2eaf50d7abb84dcc0d9b5d15f1ddf6f66b
      
https://github.com/qemu/qemu/commit/fa312f2eaf50d7abb84dcc0d9b5d15f1ddf6f66b
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M include/exec/cpu-all.h

  Log Message:
  -----------
  accel/tcg: Have tcg_exec_realizefn() return a boolean

Following the example documented since commit e3fe3988d7 ("error:
Document Error API usage rules"), have tcg_exec_realizefn() return
a boolean indicating whether an error is set or not.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20231003123026.99229-7-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 23af78b070ebfc0bfa8f114796a2eb9b5ed31e92
      
https://github.com/qemu/qemu/commit/23af78b070ebfc0bfa8f114796a2eb9b5ed31e92
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M accel/tcg/internal.h
    M accel/tcg/tcg-all.c
    M cpu.c
    M include/exec/cpu-all.h

  Log Message:
  -----------
  accel/tcg: Restrict tcg_exec_[un]realizefn() to TCG

We don't need to expose these TCG-specific methods to the
whole code base. Register them as AccelClass handlers, they
will be called by the generic accel_cpu_[un]realize() methods.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20231003123026.99229-8-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a81fef4b6440046e21e3531329e1e21f58645c76
      
https://github.com/qemu/qemu/commit/a81fef4b6440046e21e3531329e1e21f58645c76
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M include/exec/cpu-defs.h
    M target/arm/cpu-param.h
    M target/arm/ptw.c
    M target/arm/tcg/mte_helper.c
    M target/arm/tcg/sve_helper.c
    M target/arm/tcg/tlb_helper.c
    M target/arm/tcg/translate-a64.c

  Log Message:
  -----------
  target/arm: Replace TARGET_PAGE_ENTRY_EXTRA

TARGET_PAGE_ENTRY_EXTRA is a macro that allows guests to specify additional
fields for caching with the full TLB entry.  This macro is replaced with
a union in CPUTLBEntryFull, thus making CPUTLB target-agnostic at the
cost of slightly inflated CPUTLBEntryFull for non-arm guests.

Note, this is needed to ensure that fields in CPUTLB don't vary in
offset between various targets.

(arm is the only guest actually making use of this feature.)

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230912153428.17816-2-anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ef6d8210a2570b5f7c5e02ab422c92f527b62be7
      
https://github.com/qemu/qemu/commit/ef6d8210a2570b5f7c5e02ab422c92f527b62be7
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M include/exec/cpu-defs.h
    M include/hw/core/cpu.h

  Log Message:
  -----------
  accel/tcg: Move CPUTLB definitions from cpu-defs.h

Accept that we will consume space in CPUState for CONFIG_USER_ONLY,
since we cannot test CONFIG_SOFTMMU within hw/core/cpu.h.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ad4ec2798fd7066bc9d879dcbdeae96073ad370f
      
https://github.com/qemu/qemu/commit/ad4ec2798fd7066bc9d879dcbdeae96073ad370f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M qom/object.c

  Log Message:
  -----------
  qom: Propagate alignment through type system

Propagate alignment just like size.  This is required in order to
get the correct alignment on most cpu subclasses where the size and
alignment is only specified for the base cpu type.

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


  Commit: 61cd357698231386f482f4257fc9fc1d66c750d8
      
https://github.com/qemu/qemu/commit/61cd357698231386f482f4257fc9fc1d66c750d8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M target/arm/cpu.c
    M target/arm/cpu64.c

  Log Message:
  -----------
  target/arm: Remove size and alignment for cpu subclasses

Inherit the size and alignment from TYPE_ARM_CPU.

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


  Commit: f669c99241adfcd4186aebff6990cefdac25125b
      
https://github.com/qemu/qemu/commit/f669c99241adfcd4186aebff6990cefdac25125b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M target/alpha/cpu.c
    M target/avr/cpu.c
    M target/cris/cpu.c
    M target/hexagon/cpu.c
    M target/hppa/cpu.c
    M target/i386/cpu.c
    M target/loongarch/cpu.c
    M target/m68k/cpu.c
    M target/microblaze/cpu.c
    M target/mips/cpu.c
    M target/nios2/cpu.c
    M target/openrisc/cpu.c
    M target/riscv/cpu.c
    M target/rx/cpu.c
    M target/sh4/cpu.c
    M target/sparc/cpu.c
    M target/tricore/cpu.c
    M target/xtensa/cpu.c

  Log Message:
  -----------
  target/*: Add instance_align to all cpu base classes

The omission of alignment has technically been wrong since
269bd5d8f61, where QEMU_ALIGNED was added to CPUTLBDescFast.

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


  Commit: 5d30bdcb1b72ec1d44397ee7047417617066d97a
      
https://github.com/qemu/qemu/commit/5d30bdcb1b72ec1d44397ee7047417617066d97a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M include/exec/cpu-all.h

  Log Message:
  -----------
  accel/tcg: Validate placement of CPUNegativeOffsetState

Verify that the distance between CPUNegativeOffsetState and
CPUArchState is no greater than any alignment requirements.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3b3d7df545ff30762b169147398dbf90c42eb452
      
https://github.com/qemu/qemu/commit/3b3d7df545ff30762b169147398dbf90c42eb452
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M accel/tcg/translate-all.c
    M accel/tcg/translator.c
    M include/exec/cpu-all.h
    M include/hw/core/cpu.h
    M target/alpha/cpu.h
    M target/arm/cpu.h
    M target/avr/cpu.h
    M target/cris/cpu.h
    M target/hexagon/cpu.h
    M target/hppa/cpu.h
    M target/i386/cpu.h
    M target/loongarch/cpu.h
    M target/m68k/cpu.h
    M target/microblaze/cpu.h
    M target/mips/cpu.h
    M target/nios2/cpu.h
    M target/openrisc/cpu.h
    M target/ppc/cpu.h
    M target/riscv/cpu.h
    M target/rx/cpu.h
    M target/s390x/cpu.h
    M target/sh4/cpu.h
    M target/sparc/cpu.h
    M target/tricore/cpu.h
    M target/xtensa/cpu.h

  Log Message:
  -----------
  accel/tcg: Move CPUNegativeOffsetState into CPUState

Retain the separate structure to emphasize its importance.
Enforce CPUArchState always follows CPUState without padding.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e62de981113350194f9c1f78a6a8fd35c03b1599
      
https://github.com/qemu/qemu/commit/e62de981113350194f9c1f78a6a8fd35c03b1599
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M hw/core/cpu-common.c
    M include/exec/cpu-all.h
    M include/hw/core/cpu.h

  Log Message:
  -----------
  accel/tcg: Remove CPUState.icount_decr_ptr

We can now access icount_decr directly.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 464dacf6090d859a919596ba7452498c7446ced1
      
https://github.com/qemu/qemu/commit/464dacf6090d859a919596ba7452498c7446ced1
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M accel/dummy-cpus.c
    M accel/hvf/hvf-accel-ops.c
    M accel/kvm/kvm-accel-ops.c
    M accel/tcg/cpu-exec-common.c
    M accel/tcg/cpu-exec.c
    M accel/tcg/cputlb.c
    M accel/tcg/tcg-accel-ops-icount.c
    M accel/tcg/tcg-accel-ops-mttcg.c
    M accel/tcg/tcg-accel-ops-rr.c
    M accel/tcg/translator.c
    M hw/core/cpu-common.c
    M include/hw/core/cpu.h
    M softmmu/icount.c
    M softmmu/watchpoint.c

  Log Message:
  -----------
  accel/tcg: Move can_do_io to CPUNegativeOffsetState

Minimize the displacement to can_do_io, since it may
be touched at the start of each TranslationBlock.
It fits into other padding within the substructure.

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


  Commit: a953b5fa153fc384d2631cda8213efe983501609
      
https://github.com/qemu/qemu/commit/a953b5fa153fc384d2631cda8213efe983501609
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M accel/tcg/tcg-accel-ops-icount.c
    M accel/tcg/tcg-accel-ops.c
    M accel/tcg/translate-all.c
    M include/exec/cpu-all.h
    M include/exec/exec-all.h
    M softmmu/icount.c

  Log Message:
  -----------
  accel/tcg: Remove cpu_neg()

Now that CPUNegativeOffsetState is part of CPUState,
we can reference it directly.

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


  Commit: ad75a51e84af9638e4ec51aa1e6ec5f3ff642558
      
https://github.com/qemu/qemu/commit/ad75a51e84af9638e4ec51aa1e6ec5f3ff642558
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M accel/tcg/translator.c
    M include/tcg/tcg.h
    M target/alpha/translate.c
    M target/arm/tcg/translate-a32.h
    M target/arm/tcg/translate-a64.c
    M target/arm/tcg/translate-a64.h
    M target/arm/tcg/translate-m-nocp.c
    M target/arm/tcg/translate-mve.c
    M target/arm/tcg/translate-neon.c
    M target/arm/tcg/translate-sme.c
    M target/arm/tcg/translate-sve.c
    M target/arm/tcg/translate-vfp.c
    M target/arm/tcg/translate.c
    M target/arm/tcg/translate.h
    M target/avr/translate.c
    M target/cris/translate.c
    M target/cris/translate_v10.c.inc
    M target/hexagon/README
    M target/hexagon/gen_tcg.h
    M target/hexagon/gen_tcg_funcs.py
    M target/hexagon/gen_tcg_hvx.h
    M target/hexagon/genptr.c
    M target/hexagon/idef-parser/parser-helpers.c
    M target/hexagon/macros.h
    M target/hexagon/translate.c
    M target/hppa/translate.c
    M target/i386/tcg/decode-new.c.inc
    M target/i386/tcg/emit.c.inc
    M target/i386/tcg/translate.c
    M target/loongarch/insn_trans/trans_atomic.c.inc
    M target/loongarch/insn_trans/trans_branch.c.inc
    M target/loongarch/insn_trans/trans_extra.c.inc
    M target/loongarch/insn_trans/trans_farith.c.inc
    M target/loongarch/insn_trans/trans_fcmp.c.inc
    M target/loongarch/insn_trans/trans_fmemory.c.inc
    M target/loongarch/insn_trans/trans_fmov.c.inc
    M target/loongarch/insn_trans/trans_memory.c.inc
    M target/loongarch/insn_trans/trans_privileged.c.inc
    M target/loongarch/insn_trans/trans_vec.c.inc
    M target/loongarch/translate.c
    M target/m68k/translate.c
    M target/microblaze/translate.c
    M target/mips/tcg/lcsr_translate.c
    M target/mips/tcg/micromips_translate.c.inc
    M target/mips/tcg/msa_translate.c
    M target/mips/tcg/mxu_translate.c
    M target/mips/tcg/nanomips_translate.c.inc
    M target/mips/tcg/translate.c
    M target/mips/tcg/translate.h
    M target/mips/tcg/vr54xx_translate.c
    M target/nios2/translate.c
    M target/openrisc/translate.c
    M target/ppc/power8-pmu-regs.c.inc
    M target/ppc/translate.c
    M target/ppc/translate/branch-impl.c.inc
    M target/ppc/translate/dfp-impl.c.inc
    M target/ppc/translate/fixedpoint-impl.c.inc
    M target/ppc/translate/fp-impl.c.inc
    M target/ppc/translate/processor-ctrl-impl.c.inc
    M target/ppc/translate/spe-impl.c.inc
    M target/ppc/translate/storage-ctrl-impl.c.inc
    M target/ppc/translate/vmx-impl.c.inc
    M target/ppc/translate/vsx-impl.c.inc
    M target/riscv/insn_trans/trans_privileged.c.inc
    M target/riscv/insn_trans/trans_rvbf16.c.inc
    M target/riscv/insn_trans/trans_rvd.c.inc
    M target/riscv/insn_trans/trans_rvf.c.inc
    M target/riscv/insn_trans/trans_rvh.c.inc
    M target/riscv/insn_trans/trans_rvi.c.inc
    M target/riscv/insn_trans/trans_rvm.c.inc
    M target/riscv/insn_trans/trans_rvv.c.inc
    M target/riscv/insn_trans/trans_rvvk.c.inc
    M target/riscv/insn_trans/trans_rvzce.c.inc
    M target/riscv/insn_trans/trans_rvzfa.c.inc
    M target/riscv/insn_trans/trans_rvzfh.c.inc
    M target/riscv/insn_trans/trans_rvzicbo.c.inc
    M target/riscv/insn_trans/trans_svinval.c.inc
    M target/riscv/insn_trans/trans_xthead.c.inc
    M target/riscv/translate.c
    M target/rx/translate.c
    M target/s390x/tcg/translate.c
    M target/s390x/tcg/translate_vx.c.inc
    M target/sh4/translate.c
    M target/sparc/translate.c
    M target/tricore/translate.c
    M target/xtensa/translate.c
    M tcg/tcg-op-gvec.c
    M tcg/tcg-op-ldst.c
    M tcg/tcg-op.c
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Rename cpu_env to tcg_env

Allow the name 'cpu_env' to be used for something else.

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


  Commit: 4565917bb034479a29c04f0b44124e7f61585ccf
      
https://github.com/qemu/qemu/commit/4565917bb034479a29c04f0b44124e7f61585ccf
  Author: Michael S. Tsirkin <mst@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/core/machine.c
    M hw/pci/pci.c
    M hw/pci/pci_bridge.c
    M include/hw/pci/pci_bridge.h

  Log Message:
  -----------
  pci: SLT must be RO

current code sets PCI_SEC_LATENCY_TIMER to RW, but for
pcie to pcie bridges it must be RO 0 according to
pci express spec which says:
    This register does not apply to PCI Express. It must be read-only
    and hardwired to 00h. For PCI Express to PCI/PCI-X Bridges, refer to the
    [PCIe-to-PCI-PCI-X-Bridge] for requirements for this register.

also, fix typo in comment where it's made writeable - this typo
is likely what prevented us noticing we violate this requirement
in the 1st place.

Reported-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Message-Id: 
<de9d05366a70172e1789d10591dbe59e39c3849c.1693432039.git.mst@redhat.com>
Tested-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 961d60e934e793a6065fb17d2312d5bced25031e
      
https://github.com/qemu/qemu/commit/961d60e934e793a6065fb17d2312d5bced25031e
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/vhost-vdpa.c

  Log Message:
  -----------
  hw/virtio: Propagate page_mask to vhost_vdpa_listener_skipped_section()

In order to make vhost-vdpa.c a target-agnostic source unit,
we need to remove the TARGET_PAGE_SIZE / TARGET_PAGE_MASK /
TARGET_PAGE_ALIGN uses. TARGET_PAGE_SIZE will be replaced by
the runtime qemu_target_page_size(). The other ones will be
deduced from TARGET_PAGE_SIZE.

Since the 3 macros are used in 3 related functions (sharing
the same call tree), we'll refactor them to only depend on
TARGET_PAGE_MASK.

Having the following call tree:

  vhost_vdpa_listener_region_del()
    -> vhost_vdpa_listener_skipped_section()
       -> vhost_vdpa_section_end()

The first step is to propagate TARGET_PAGE_MASK to
vhost_vdpa_listener_skipped_section().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230710094931.84402-2-philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 8b1a8884c6aacd9a35863d18a757be17ec7b1369
      
https://github.com/qemu/qemu/commit/8b1a8884c6aacd9a35863d18a757be17ec7b1369
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/vhost-vdpa.c

  Log Message:
  -----------
  hw/virtio: Propagate page_mask to vhost_vdpa_section_end()

Propagate TARGET_PAGE_MASK (see the previous commit for
rationale).

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230710094931.84402-3-philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 1dca36fb3d4f07354c9f6bc38b6e5c72fe1e9855
      
https://github.com/qemu/qemu/commit/1dca36fb3d4f07354c9f6bc38b6e5c72fe1e9855
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/vhost-vdpa.c

  Log Message:
  -----------
  hw/virtio/vhost-vdpa: Inline TARGET_PAGE_ALIGN() macro

Use TARGET_PAGE_SIZE to calculate TARGET_PAGE_ALIGN
(see the rationale in previous commits).

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230710094931.84402-4-philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 33f21860b766701f92c01094dcfc5390974d4020
      
https://github.com/qemu/qemu/commit/33f21860b766701f92c01094dcfc5390974d4020
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/vhost-vdpa.c

  Log Message:
  -----------
  hw/virtio/vhost-vdpa: Use target-agnostic qemu_target_page_mask()

Similarly to commit e414ed2c47 ("virtio-iommu: Use
target-agnostic qemu_target_page_mask"), Replace the
target-specific TARGET_PAGE_SIZE and TARGET_PAGE_MASK
definitions by a call to the runtime qemu_target_page_size()
helper which is target agnostic.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230710094931.84402-5-philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 05632635f84311f241ad4dbffdb591f97339a5dc
      
https://github.com/qemu/qemu/commit/05632635f84311f241ad4dbffdb591f97339a5dc
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/meson.build

  Log Message:
  -----------
  hw/virtio: Build vhost-vdpa.o once

The previous commit removed the dependencies on the
target-specific TARGET_PAGE_FOO macros. We can now
move vhost-vdpa.c to the 'softmmu_virtio_ss' source
set to build it once for all our targets.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230710100432.84819-1-philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: f05356f84d2e3cb4f6437716cc9b5dc59baf769d
      
https://github.com/qemu/qemu/commit/f05356f84d2e3cb4f6437716cc9b5dc59baf769d
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/meson.build

  Log Message:
  -----------
  hw/virtio/meson: Rename softmmu_virtio_ss[] -> system_virtio_ss[]

Similarly to commit de6cd7599b ("meson: Replace softmmu_ss
-> system_ss"), rename the virtio source set common to all
system emulation as 'system_virtio_ss[]'. This is clearer
because softmmu can be used for user emulation.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230710100510.84862-1-philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: eee77809733d3a94c0d78a29a93d032c1faefd2c
      
https://github.com/qemu/qemu/commit/eee77809733d3a94c0d78a29a93d032c1faefd2c
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/meson.build
    A hw/virtio/vhost-user-device-pci.c
    A hw/virtio/vhost-user-device.c
    A include/hw/virtio/vhost-user-device.h

  Log Message:
  -----------
  virtio: add vhost-user-base and a generic vhost-user-device

In theory we shouldn't need to repeat so much boilerplate to support
vhost-user backends. This provides a generic vhost-user-base QOM
object and a derived vhost-user-device for which the user needs to
provide the few bits of information that aren't currently provided by
the vhost-user protocol. This should provide a baseline implementation
from which the other vhost-user stub can specialise.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20230710153522.3469097-8-alex.bennee@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: f92a2d61cd86fd585b1b2a57295fcde278aebd78
      
https://github.com/qemu/qemu/commit/f92a2d61cd86fd585b1b2a57295fcde278aebd78
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/vhost-user-device.c
    M include/hw/virtio/vhost-user-device.h

  Log Message:
  -----------
  hw/virtio: add config support to vhost-user-device

To use the generic device the user will need to provide the config
region size via the command line. We also add a notifier so the guest
can be pinged if the remote daemon updates the config.

With these changes:

  -device vhost-user-device-pci,virtio-id=41,num_vqs=2,config_size=8

is equivalent to:

  -device vhost-user-gpio-pci

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20230710153522.3469097-11-alex.bennee@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 06b636a1e2ad12ab130edcbb0ccf995118440706
      
https://github.com/qemu/qemu/commit/06b636a1e2ad12ab130edcbb0ccf995118440706
  Author: Hawkins Jiawei <yin31149@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/net/virtio-net.c

  Log Message:
  -----------
  virtio-net: do not reset vlan filtering at set_features

This function is called after virtio_load, so all vlan configuration is
lost in migration case.

Just allow all the vlan-tagged packets if vlan is not configured, and
trust device reset to clear all filtered vlans.

Fixes: 0b1eaa8803 ("virtio-net: Do not filter VLANs without F_CTRL_VLAN")
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Reviewed-by: Hawkins Jiawei <yin31149@gmail.com>
Signed-off-by: Hawkins Jiawei <yin31149@gmail.com>
Message-Id: 
<95af0d013281282f48ad3f47f6ad1ac4ca9e52eb.1690106284.git.yin31149@gmail.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: e19751a32f140a232fafb037e703abb961a94abb
      
https://github.com/qemu/qemu/commit/e19751a32f140a232fafb037e703abb961a94abb
  Author: Hawkins Jiawei <yin31149@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/net/virtio-net.c
    M include/hw/virtio/virtio-net.h

  Log Message:
  -----------
  virtio-net: Expose MAX_VLAN

vhost-vdpa shadowed CVQ needs to know the maximum number of
vlans supported by the virtio-net device, so QEMU can restore
the VLAN state in a migration.

Co-developed-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Hawkins Jiawei <yin31149@gmail.com>
Message-Id: 
<ca03403319c6405ea7c400836a572255bbc9ceba.1690106284.git.yin31149@gmail.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 8f7e9967484dec2a727c24a509962ca3a4f5dad4
      
https://github.com/qemu/qemu/commit/8f7e9967484dec2a727c24a509962ca3a4f5dad4
  Author: Hawkins Jiawei <yin31149@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa: Restore vlan filtering state

This patch introduces vhost_vdpa_net_load_single_vlan()
and vhost_vdpa_net_load_vlan() to restore the vlan
filtering state at device's startup.

Co-developed-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Hawkins Jiawei <yin31149@gmail.com>
Message-Id: 
<e76a29f77bb3f386e4a643c8af94b77b775d1752.1690106284.git.yin31149@gmail.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: e213c45a042db2506b5e8f16293f1f1c5083a577
      
https://github.com/qemu/qemu/commit/e213c45a042db2506b5e8f16293f1f1c5083a577
  Author: Hawkins Jiawei <yin31149@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa: Allow VIRTIO_NET_F_CTRL_VLAN in SVQ

Enable SVQ with VIRTIO_NET_F_CTRL_VLAN feature.

Co-developed-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Hawkins Jiawei <yin31149@gmail.com>
Message-Id: 
<38dc63102a42c31c72fd293d0e6e2828fd54c86e.1690106284.git.yin31149@gmail.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 43d6376980d5567f2a6d00cfb30d10c0961671e6
      
https://github.com/qemu/qemu/commit/43d6376980d5567f2a6d00cfb30d10c0961671e6
  Author: Ilya Maximets <i.maximets@ovn.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/virtio.c
    M include/exec/memory.h

  Log Message:
  -----------
  virtio: don't zero out memory region cache for indirect descriptors

Lots of virtio functions that are on a hot path in data transmission
are initializing indirect descriptor cache at the point of stack
allocation.  It's a 112 byte structure that is getting zeroed out on
each call adding unnecessary overhead.  It's going to be correctly
initialized later via special init function.  The only reason to
actually initialize right away is the ability to safely destruct it.
Replacing a designated initializer with a function to only initialize
what is necessary.

Removal of the unnecessary stack initializations improves throughput
of virtio-net devices in terms of 64B packets per second by 6-14 %
depending on the case.  Tested with a proposed af-xdp network backend
and a dpdk testpmd application in the guest, but should be beneficial
for other virtio devices as well.

Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Message-Id: <20230811143423.3258788-1-i.maximets@ovn.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: b40eba9cdde3b041f02a9cbaa23ca0eeda9bd9c1
      
https://github.com/qemu/qemu/commit/b40eba9cdde3b041f02a9cbaa23ca0eeda9bd9c1
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa: use first queue SVQ state for CVQ default

Previous to this patch the only way CVQ would be shadowed is if it does
support to isolate CVQ group or if all vqs were shadowed from the
beginning.  The second condition was checked at the beginning, and no
more configuration was done.

After this series we need to check if data queues are shadowed because
they are in the middle of the migration.  As checking if they are
shadowed already covers the previous case, let's just mimic it.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20230822085330.3978829-2-eperezma@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: d7ce0841767d01c226fc0e22436ce22a0ec74226
      
https://github.com/qemu/qemu/commit/d7ce0841767d01c226fc0e22436ce22a0ec74226
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/trace-events
    M hw/virtio/vhost-vdpa.c
    M include/hw/virtio/vhost-vdpa.h

  Log Message:
  -----------
  vdpa: export vhost_vdpa_set_vring_ready

The vhost-vdpa net backend needs to enable vrings in a different order
than default, so export it.

No functional change intended except for tracing, that now includes the
(virtio) index being enabled and the return value of the ioctl.

Still ignoring return value of this function if called from
vhost_vdpa_dev_start, as reorganize calling code around it is out of
the scope of this series.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20230822085330.3978829-3-eperezma@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: f3fada598c909bac12bd18da36437d9bed0b9f06
      
https://github.com/qemu/qemu/commit/f3fada598c909bac12bd18da36437d9bed0b9f06
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa: rename vhost_vdpa_net_load to vhost_vdpa_net_cvq_load

Next patches will add the corresponding data load.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20230822085330.3978829-4-eperezma@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 6c4825476a4351530bcac17abab72295b75ffe98
      
https://github.com/qemu/qemu/commit/6c4825476a4351530bcac17abab72295b75ffe98
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/vdpa-dev.c
    M hw/virtio/vhost-vdpa.c
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa: move vhost_vdpa_set_vring_ready to the caller

Doing that way allows CVQ to be enabled before the dataplane vqs,
restoring the state as MQ or MAC addresses properly in the case of a
migration.

The patch does it by defining a ->load NetClientInfo callback also for
dataplane.  Ideally, this should be done by an independent patch, but
the function is already static so it would only add an empty
vhost_vdpa_net_data_load stub.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20230822085330.3978829-5-eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: f13f5f6412fc51574c961f39dbd625357948282b
      
https://github.com/qemu/qemu/commit/f13f5f6412fc51574c961f39dbd625357948282b
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa: remove net cvq migration blocker

Now that we have add migration blockers if the device does not support
all the needed features, remove the general blocker applied to all net
devices with CVQ.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20230822085330.3978829-6-eperezma@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: b0de17a2e28de477e09e77a587fcbeafbbc897c4
      
https://github.com/qemu/qemu/commit/b0de17a2e28de477e09e77a587fcbeafbbc897c4
  Author: Hawkins Jiawei <yin31149@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/vhost-shadow-virtqueue.c
    M hw/virtio/vhost-shadow-virtqueue.h
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vhost: Add count argument to vhost_svq_poll()

Next patches in this series will no longer perform an
immediate poll and check of the device's used buffers
for each CVQ state load command. Instead, they will
send CVQ state load commands in parallel by polling
multiple pending buffers at once.

To achieve this, this patch refactoring vhost_svq_poll()
to accept a new argument `num`, which allows vhost_svq_poll()
to wait for the device to use multiple elements,
rather than polling for a single element.

Signed-off-by: Hawkins Jiawei <yin31149@gmail.com>
Acked-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: 
<950b3bfcfc5d446168b9d6a249d554a013a691d4.1693287885.git.yin31149@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: b532c684e0d71bc69fa56a30f1c7588101aa086a
      
https://github.com/qemu/qemu/commit/b532c684e0d71bc69fa56a30f1c7588101aa086a
  Author: Jonah Palmer <jonah.palmer@oracle.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/virtio-qmp.c
    M hw/virtio/virtio-qmp.h
    M hw/virtio/virtio.c

  Log Message:
  -----------
  qmp: remove virtio_list, search QOM tree instead

The virtio_list duplicates information about virtio devices that already
exist in the QOM composition tree. Instead of creating this list of
realized virtio devices, search the QOM composition tree instead.

This patch modifies the QMP command qmp_x_query_virtio to instead
recursively search the QOM composition tree for devices of type
'TYPE_VIRTIO_DEVICE'. The device is also checked to ensure it's
realized.

Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20230926224107.2951144-2-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 58f81689789f63853d7585c5168f687f1633893a
      
https://github.com/qemu/qemu/commit/58f81689789f63853d7585c5168f687f1633893a
  Author: Jonah Palmer <jonah.palmer@oracle.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/vhost-user-gpio.c
    M hw/virtio/virtio-qmp.c

  Log Message:
  -----------
  qmp: update virtio feature maps, vhost-user-gpio introspection

Add new vhost-user protocol feature to vhost-user protocol feature map
and enumeration:
 - VHOST_USER_PROTOCOL_F_STATUS

Add new virtio device features for several virtio devices to their
respective feature mappings:

virtio-blk:
 - VIRTIO_BLK_F_SECURE_ERASE

virtio-net:
 - VIRTIO_NET_F_NOTF_COAL
 - VIRTIO_NET_F_GUEST_USO4
 - VIRTIO_NET_F_GUEST_USO6
 - VIRTIO_NET_F_HOST_USO

virtio/vhost-user-gpio:
 - VIRTIO_GPIO_F_IRQ
 - VHOST_USER_F_PROTOCOL_FEATURES

Add support for introspection on vhost-user-gpio devices.

Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Reviewed-by: Emmanouil Pitsidianakis <manos.pitsidianakis@linaro.org>
Message-Id: <20230926224107.2951144-3-jonah.palmer@oracle.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 3d123a8b411706423581db7d26a7bbe548360751
      
https://github.com/qemu/qemu/commit/3d123a8b411706423581db7d26a7bbe548360751
  Author: Jonah Palmer <jonah.palmer@oracle.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/scsi/vhost-user-scsi.c
    M hw/virtio/vhost-user.c
    M hw/virtio/virtio-qmp.c
    M include/hw/virtio/vhost-user.h

  Log Message:
  -----------
  vhost-user: move VhostUserProtocolFeature definition to header file

Move the definition of VhostUserProtocolFeature to
include/hw/virtio/vhost-user.h.

Remove previous definitions in hw/scsi/vhost-user-scsi.c,
hw/virtio/vhost-user.c, and hw/virtio/virtio-qmp.c.

Previously there were 3 separate definitions of this over 3 different
files. Now only 1 definition of this will be present for these 3 files.

Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Reviewed-by: Emmanouil Pitsidianakis <manos.pitsidianakis@linaro.org>
Message-Id: <20230926224107.2951144-4-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 886e0a5f31bf3d40dd8d9199674a4bad64942fde
      
https://github.com/qemu/qemu/commit/886e0a5f31bf3d40dd8d9199674a4bad64942fde
  Author: David Woodhouse <dwmw@amazon.co.uk>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/isa/lpc_ich9.c

  Log Message:
  -----------
  hw/isa/ich9: Add comment on imperfect emulation of PIC vs. I/O APIC routing

As noted in the comment, the PCI INTx lines are supposed to be routed
to *both* the PIC and the I/O APIC. It's just that we don't cope with
the concept of an IRQ being asserted to two *different* pins on the
two irqchips.

So we have this hack of routing to I/O APIC only if the PIRQ routing to
the PIC is disabled. Which seems to work well enough, even when I try
hard to break it with kexec. But should be explicitly documented and
understood.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <112a09643b8191c4eae7d92fa247a861ab90a9ee.camel@infradead.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: b77af26e973705e8fd96cff102fc978ee44043da
      
https://github.com/qemu/qemu/commit/b77af26e973705e8fd96cff102fc978ee44043da
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M accel/tcg/cputlb.c
    M accel/tcg/plugin-gen.c
    M accel/tcg/translate-all.c
    M bsd-user/main.c
    M bsd-user/signal.c
    M gdbstub/gdbstub.c
    M gdbstub/user-target.c
    M hw/i386/kvm/clock.c
    M hw/intc/mips_gic.c
    M hw/intc/riscv_aclint.c
    M hw/intc/riscv_imsic.c
    M hw/ppc/e500.c
    M hw/ppc/spapr.c
    M include/exec/cpu-all.h
    M include/hw/core/cpu.h
    M linux-user/elfload.c
    M linux-user/i386/cpu_loop.c
    M linux-user/main.c
    M linux-user/signal.c
    M monitor/hmp-cmds-target.c
    M semihosting/arm-compat-semi.c
    M semihosting/syscalls.c
    M target/alpha/translate.c
    M target/arm/common-semi-target.h
    M target/arm/cpu.c
    M target/arm/helper.c
    M target/arm/tcg/translate-a64.c
    M target/arm/tcg/translate.c
    M target/avr/translate.c
    M target/cris/translate.c
    M target/hexagon/translate.c
    M target/hppa/mem_helper.c
    M target/hppa/translate.c
    M target/i386/nvmm/nvmm-all.c
    M target/i386/tcg/decode-new.c.inc
    M target/i386/tcg/sysemu/excp_helper.c
    M target/i386/tcg/tcg-cpu.c
    M target/i386/tcg/translate.c
    M target/i386/whpx/whpx-all.c
    M target/loongarch/translate.c
    M target/m68k/translate.c
    M target/microblaze/translate.c
    M target/mips/tcg/sysemu/mips-semi.c
    M target/mips/tcg/translate.c
    M target/nios2/translate.c
    M target/openrisc/translate.c
    M target/ppc/excp_helper.c
    M target/ppc/translate.c
    M target/riscv/translate.c
    M target/rx/cpu.c
    M target/rx/translate.c
    M target/s390x/tcg/translate.c
    M target/sh4/op_helper.c
    M target/sh4/translate.c
    M target/sparc/translate.c
    M target/tricore/translate.c
    M target/xtensa/translate.c

  Log Message:
  -----------
  accel/tcg: Replace CPUState.env_ptr with cpu_env()

Reviewed-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 8fa08d7ec7d8c36fc2c96bd135cb09c086b26a14
      
https://github.com/qemu/qemu/commit/8fa08d7ec7d8c36fc2c96bd135cb09c086b26a14
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M include/exec/cpu-all.h
    M target/alpha/cpu.c
    M target/arm/cpu.c
    M target/avr/cpu.c
    M target/cris/cpu.c
    M target/hexagon/cpu.c
    M target/hppa/cpu.c
    M target/i386/cpu.c
    M target/loongarch/cpu.c
    M target/m68k/cpu.c
    M target/microblaze/cpu.c
    M target/mips/cpu.c
    M target/nios2/cpu.c
    M target/openrisc/cpu.c
    M target/ppc/cpu_init.c
    M target/riscv/cpu.c
    M target/rx/cpu.c
    M target/s390x/cpu.c
    M target/sh4/cpu.c
    M target/sparc/cpu.c
    M target/tricore/cpu.c
    M target/xtensa/cpu.c

  Log Message:
  -----------
  accel/tcg: Remove cpu_set_cpustate_pointers

This function is now empty, so remove it.  In the case of
m68k and tricore, this empties the class instance initfn,
so remove those as well.

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


  Commit: 06ddecff244a7fbb2c98352cdfed44fea66608bc
      
https://github.com/qemu/qemu/commit/06ddecff244a7fbb2c98352cdfed44fea66608bc
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M include/exec/cpu-all.h

  Log Message:
  -----------
  accel/tcg: Remove env_neg()

Replace the single use within env_tlb() and remove.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7857ee114c6518165653d3ba87f24a1815c26f6f
      
https://github.com/qemu/qemu/commit/7857ee114c6518165653d3ba87f24a1815c26f6f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/translate-all.c
    M include/tcg/tcg.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Remove TCGContext.tlb_fast_offset

Now that there is no padding between CPUNegativeOffsetState
and CPUArchState, this value is constant across all targets.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 10b32e2cd9ab203c1643fbb0522550e64be8376f
      
https://github.com/qemu/qemu/commit/10b32e2cd9ab203c1643fbb0522550e64be8376f
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/cputlb.c
    M include/exec/cpu_ldst.h

  Log Message:
  -----------
  accel/tcg: Modify tlb_*() to use CPUState

Changes tlb_*() functions to take CPUState instead of CPUArchState, as
they don't require the full CPUArchState. This makes it easier to
decouple target-(in)dependent code.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230912153428.17816-4-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[rth: Use cpu->neg.tlb instead of cpu_tlb()]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5afec1c63bcc6e23bec6fa8a1895f61d1f7f3cbe
      
https://github.com/qemu/qemu/commit/5afec1c63bcc6e23bec6fa8a1895f61d1f7f3cbe
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  accel/tcg: Modify probe_access_internal() to use CPUState

probe_access_internal() is changed to instead take the generic CPUState
over CPUArchState, in order to lessen the target-specific coupling of
cputlb.c. Note: probe_access*() also don't need the full CPUArchState,
but aren't touched in this patch as they are target-facing.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230912153428.17816-5-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[rth: Use cpu->neg.tlb instead of cpu_tlb()]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: d50ef4467c4c0a35b6b57c532da5814a8327275c
      
https://github.com/qemu/qemu/commit/d50ef4467c4c0a35b6b57c532da5814a8327275c
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  accel/tcg: Modify memory access functions to use CPUState

do_[ld|st]*() and mmu_lookup*() are changed to use CPUState over
CPUArchState, moving the target-dependence to the target-facing facing
cpu_[ld|st] functions.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230912153428.17816-6-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[rth: Use cpu->neg.tlb instead of cpu_tlb; cpu_env instead of env_ptr.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: d560225fc4c3b75e65665df503c0641e3030bd08
      
https://github.com/qemu/qemu/commit/d560225fc4c3b75e65665df503c0641e3030bd08
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/atomic_template.h
    M accel/tcg/cputlb.c
    M accel/tcg/user-exec.c

  Log Message:
  -----------
  accel/tcg: Modify atomic_mmu_lookup() to use CPUState

The goal is to (in the future) allow for per-target compilation of
functions in atomic_template.h whilst atomic_mmu_lookup() and cputlb.c
are compiled once-per user- or system mode.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230912153428.17816-7-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[rth: Use cpu->neg.tlb instead of cpu_tlb()]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 73fda56f33151331b86bba5f6d1fbd001902776b
      
https://github.com/qemu/qemu/commit/73fda56f33151331b86bba5f6d1fbd001902776b
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/cputlb.c
    M accel/tcg/ldst_atomicity.c.inc
    M accel/tcg/user-exec.c

  Log Message:
  -----------
  accel/tcg: Use CPUState in atomicity helpers

Makes ldst_atomicity.c.inc almost target-independent, with the exception
of TARGET_PAGE_MASK, which will be addressed in a future patch.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230912153428.17816-8-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 623912cc140c8778edb1e8f1e29853b1256866cb
      
https://github.com/qemu/qemu/commit/623912cc140c8778edb1e8f1e29853b1256866cb
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M include/exec/cpu-all.h
    M tcg/aarch64/tcg-target.c.inc
    M tcg/arm/tcg-target.c.inc

  Log Message:
  -----------
  accel/tcg: Remove env_tlb()

The function is no longer used to access the TLB,
and has been replaced by cpu->neg.tlb.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230912153428.17816-9-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[rth: Merge comment update patch]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e20f73fba5240dce86f0b49c01b2c824a0ce9f1f
      
https://github.com/qemu/qemu/commit/e20f73fba5240dce86f0b49c01b2c824a0ce9f1f
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/cputlb.c
    M accel/tcg/user-exec.c

  Log Message:
  -----------
  accel/tcg: Unify user and softmmu do_[st|ld]*_mmu()

The prototype of do_[st|ld]*_mmu() is unified between system- and
user-mode allowing a large chunk of helper_[st|ld]*() and cpu_[st|ld]*()
functions to be expressed in same manner between both modes. These
functions will be moved to ldst_common.c.inc in a following commit.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230912153428.17816-11-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 27c46fadf6724b68dcbe275479f86992f33d7c24
      
https://github.com/qemu/qemu/commit/27c46fadf6724b68dcbe275479f86992f33d7c24
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/cputlb.c
    M accel/tcg/ldst_common.c.inc
    M accel/tcg/user-exec.c

  Log Message:
  -----------
  accel/tcg: move ld/st helpers to ldst_common.c.inc

A large chunk of ld/st functions are moved from cputlb.c and user-exec.c
to ldst_common.c.inc as their implementation is the same between both
modes.

Eventually, ldst_common.c.inc could be compiled into a separate
target-specific compilation unit, and be linked in with the targets.
Keeping CPUArchState usage out of cputlb.c (CPUArchState is primarily
used to access the mmu index in these functions).

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230912153428.17816-12-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 65b074daa03cded3cc2c36e4eba7afc5b406b962
      
https://github.com/qemu/qemu/commit/65b074daa03cded3cc2c36e4eba7afc5b406b962
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M include/exec/cpu-all.h
    M include/exec/cpu-common.h

  Log Message:
  -----------
  exec: Make EXCP_FOO definitions target agnostic

The EXCP_* definitions don't need to be target specific,
move them to "exec/cpu-common.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230914185718.76241-2-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3549118b498873c84b442bc280a5edafbb61e0a4
      
https://github.com/qemu/qemu/commit/3549118b498873c84b442bc280a5edafbb61e0a4
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M include/exec/cpu-common.h
    M include/exec/exec-all.h

  Log Message:
  -----------
  exec: Move cpu_loop_foo() target agnostic functions to 'cpu-common.h'

While these functions are not TCG specific, they are not target
specific. Move them to "exec/cpu-common.h" so their callers don't
have to be tainted as target specific.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230914185718.76241-3-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7ada976fee54c1b67dac2d9c0cb3bb02173084cc
      
https://github.com/qemu/qemu/commit/7ada976fee54c1b67dac2d9c0cb3bb02173084cc
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/internal.h
    M include/exec/cpu-all.h

  Log Message:
  -----------
  accel/tcg: Restrict dump_exec_info() declaration

In commit 00c9a5c2c3 ("accel/tcg: Restrict 'qapi-commands-machine.h'
to system emulation") we moved the definition to accel/tcg/ which is
where this function is called. No need to expose it outside.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230914185718.76241-4-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c9955713e9d275980ca2177cf7fbc94b49bc89e5
      
https://github.com/qemu/qemu/commit/c9955713e9d275980ca2177cf7fbc94b49bc89e5
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/meson.build

  Log Message:
  -----------
  accel: Make accel-blocker.o target agnostic

accel-blocker.c is not target specific, move it to system_ss[].

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230914185718.76241-5-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e8b845b9b1a172c367bb77e16498664290736ad6
      
https://github.com/qemu/qemu/commit/e8b845b9b1a172c367bb77e16498664290736ad6
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    R accel/accel-common.c
    A accel/accel-target.c
    M accel/meson.build

  Log Message:
  -----------
  accel: Rename accel-common.c -> accel-target.c

We use the '-common.c' suffix for target agnostic units.
This file is target specific, rename it using the '-target'
suffix.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230914185718.76241-6-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: fe0007f3c1d7254ef738c36997ef7dbd4e5e36b3
      
https://github.com/qemu/qemu/commit/fe0007f3c1d7254ef738c36997ef7dbd4e5e36b3
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M MAINTAINERS
    A cpu-common.c
    A cpu-target.c
    R cpu.c
    R cpus-common.c
    M meson.build

  Log Message:
  -----------
  exec: Rename cpu.c -> cpu-target.c

We have exec/cpu code split in 2 files for target agnostic
("common") and specific. Rename 'cpu.c' which is target
specific using the '-target' suffix. Update MAINTAINERS.
Remove the 's from 'cpus-common.c' to match the API cpu_foo()
functions.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230914185718.76241-7-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 8c7907a1807b681b2ccf1ca339e7f841b2ecf877
      
https://github.com/qemu/qemu/commit/8c7907a1807b681b2ccf1ca339e7f841b2ecf877
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M MAINTAINERS
    M meson.build
    A page-vary-target.c
    R page-vary.c

  Log Message:
  -----------
  exec: Rename target specific page-vary.c -> page-vary-target.c

This matches the target agnostic 'page-vary-common.c' counterpart.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230914185718.76241-8-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4c268d6d03d297b83f2aa0af2de2e867af2389fc
      
https://github.com/qemu/qemu/commit/4c268d6d03d297b83f2aa0af2de2e867af2389fc
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/cpu-exec-common.c
    M accel/tcg/cpu-exec.c
    M accel/tcg/cputlb.c
    A accel/tcg/internal-target.h
    R accel/tcg/internal.h
    M accel/tcg/monitor.c
    M accel/tcg/tb-maint.c
    M accel/tcg/tcg-all.c
    M accel/tcg/translate-all.c
    M accel/tcg/translator.c
    M accel/tcg/user-exec.c

  Log Message:
  -----------
  accel/tcg: Rename target-specific 'internal.h' -> 'internal-target.h'

accel/tcg/internal.h contains target specific declarations.
Unit files including it become "target tainted": they can not
be compiled as target agnostic. Rename using the '-target'
suffix to make this explicit.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230914185718.76241-9-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5934660fa2aabaf76e650dcd1fccc2b676122137
      
https://github.com/qemu/qemu/commit/5934660fa2aabaf76e650dcd1fccc2b676122137
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/cpu-exec.c
    A accel/tcg/internal-common.h
    M accel/tcg/internal-target.h
    M accel/tcg/meson.build
    M accel/tcg/monitor.c
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  accel/tcg: Make monitor.c a target-agnostic unit

Move target-agnostic declarations from "internal-target.h"
to a new "internal-common.h" header.
monitor.c now don't include target specific headers and can
be compiled once in system_ss[].

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230914185718.76241-10-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 467bf3fc09d08937061c86eefef185341e4c2cf8
      
https://github.com/qemu/qemu/commit/467bf3fc09d08937061c86eefef185341e4c2cf8
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M MAINTAINERS
    A accel/tcg/icount-common.c
    M accel/tcg/meson.build
    R softmmu/icount.c
    M softmmu/meson.build

  Log Message:
  -----------
  accel/tcg: Make icount.o a target agnostic unit

Remove the unused "exec/exec-all.h" header. There is
no more target specific code in it: make it target
agnostic (rename using the '-common' suffix). Since
it is TCG specific, move it to accel/tcg, updating
MAINTAINERS.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230914185718.76241-11-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 43e7a2d3f9d2c09c22f494f282dc8a421d3e649f
      
https://github.com/qemu/qemu/commit/43e7a2d3f9d2c09c22f494f282dc8a421d3e649f
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/cpu-exec-common.c
    M accel/tcg/cputlb.c
    M accel/tcg/internal-common.h
    M accel/tcg/internal-target.h
    M accel/tcg/meson.build
    M accel/tcg/tb-maint.c
    M accel/tcg/user-exec.c

  Log Message:
  -----------
  accel/tcg: Make cpu-exec-common.c a target agnostic unit

cpu_in_serial_context() is not target specific,
move it declaration to "internal-common.h" (which
we include in the 4 source files modified).

Remove the unused "exec/exec-all.h" header from
cpu-exec-common.c.  There is no more target specific
code in this file: make it target agnostic.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230914185718.76241-12-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 935f75ae639bab5e443aeea7c79a78b949c55fe8
      
https://github.com/qemu/qemu/commit/935f75ae639bab5e443aeea7c79a78b949c55fe8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/tcg-all.c
    M bsd-user/main.c
    M include/tcg/tcg.h
    M linux-user/main.c
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Remove argument to tcg_prologue_init

We can load tcg_ctx just as easily within the callee.

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


  Commit: d7ec12f83cbb63343dd6e76392241e16a58f41e8
      
https://github.com/qemu/qemu/commit/d7ec12f83cbb63343dd6e76392241e16a58f41e8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M accel/tcg/tcg-accel-ops-mttcg.c
    M accel/tcg/tcg-accel-ops-rr.c
    M accel/tcg/tcg-all.c
    M bsd-user/main.c
    A include/tcg/startup.h
    M include/tcg/tcg.h
    M linux-user/main.c
    M linux-user/syscall.c
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Split out tcg init functions to tcg/startup.h

The tcg/tcg.h header is a big bucket, containing stuff related to
the translators and the JIT backend.  The places that initialize
tcg or create new threads do not need all of that, so split out
these three functions to a new header.

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


  Commit: 33bc4fa78b06fc4e5fe22e5576811a97707e0cc6
      
https://github.com/qemu/qemu/commit/33bc4fa78b06fc4e5fe22e5576811a97707e0cc6
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M linux-user/hppa/signal.c

  Log Message:
  -----------
  linux-user/hppa: Fix struct target_sigcontext layout

Use abi_ullong not uint64_t so that the alignment of the field
and therefore the layout of the struct is correct.

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


  Commit: a0bc59972664194cc208e28ae714b134a26ba045
      
https://github.com/qemu/qemu/commit/a0bc59972664194cc208e28ae714b134a26ba045
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M bsd-user/bsd-proc.h
    M bsd-user/signal.c
    M docs/about/deprecated.rst
    M linux-user/exit.c
    M linux-user/signal.c
    M meson.build
    M meson_options.txt
    M scripts/meson-buildoptions.sh
    M tests/qemu-iotests/meson.build

  Log Message:
  -----------
  build: Remove --enable-gprof

This build option has been deprecated since 8.0.
Remove all CONFIG_GPROF code that depends on that,
including one errant check using TARGET_GPROF.

Acked-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 432f936ae17a7f5b13bf294eaf96275ec3da46c1
      
https://github.com/qemu/qemu/commit/432f936ae17a7f5b13bf294eaf96275ec3da46c1
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M tests/avocado/boot_linux_console.py
    M tests/avocado/machine_mips_malta.py
    M tests/avocado/replay_kernel.py
    M tests/avocado/tuxrun_baselines.py

  Log Message:
  -----------
  tests/avocado: Re-enable MIPS Malta tests (GitLab issue #1884 fixed)

Commit 18a536f1f8 ("accel/tcg: Always require can_do_io") fixed
the GitLab issue #1884: we can now re-enable those tests.

This reverts commit f959c3d87ccfa585b105de6964a6261e368cc1da.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231003063808.66564-1-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 79de3960ae1e322835112755d99187ee9b63a270
      
https://github.com/qemu/qemu/commit/79de3960ae1e322835112755d99187ee9b63a270
  Author: gaosong <gaosong@loongson.cn>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M tcg/loongarch64/tcg-target.c.inc

  Log Message:
  -----------
  tcg/loongarch64: Fix buid error

Fix:

  In file included from ../tcg/tcg.c:735:
  /home1/gaosong/bugfix/qemu/tcg/loongarch64/tcg-target.c.inc: In function 
‘tcg_out_vec_op’:
  /home1/gaosong/bugfix/qemu/tcg/loongarch64/tcg-target.c.inc:1855:9: error: a 
label can only be part of a statement and a declaration is not a statement
           TCGCond cond = args[3];
           ^~~~~~~

Signed-off-by: gaosong <gaosong@loongson.cn>
Message-Id: <20230926075819.3602537-1-gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f4a06e5921ec93bbb8baeca59f662672077535c3
      
https://github.com/qemu/qemu/commit/f4a06e5921ec93bbb8baeca59f662672077535c3
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/i386/acpi-build.c
    M hw/i386/acpi-common.c
    M hw/i386/acpi-common.h
    M hw/i386/acpi-microvm.c

  Log Message:
  -----------
  hw/i386/acpi-build: Use pc_madt_cpu_entry() directly

This is x86-specific code, so there is no advantage in using
pc_madt_cpu_entry() behind an architecture-agnostic interface.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230908084234.17642-2-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 9a4fedcf12ae388722fa5430df92d0f41e3ba9be
      
https://github.com/qemu/qemu/commit/9a4fedcf12ae388722fa5430df92d0f41e3ba9be
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/acpi/cpu.c
    M hw/i386/acpi-build.c
    M include/hw/acpi/cpu.h

  Log Message:
  -----------
  hw/acpi/cpu: Have build_cpus_aml() take a build_madt_cpu_fn callback

build_cpus_aml() is architecture independent but needs to create architecture-
specific CPU AML. So far this was achieved by using a virtual method from
TYPE_ACPI_DEVICE_IF. However, build_cpus_aml() would resolve this interface from
global (!) state. This makes it quite incomprehensible where this interface
comes from (TYPE_PIIX4_PM?, TYPE_ICH9_LPC_DEVICE?, TYPE_ACPI_GED_X86?) an can
lead to crashes when the generic code is ported to new architectures.

So far, build_cpus_aml() is only called in architecture-specific code -- and
only in x86. We can therefore simply pass pc_madt_cpu_entry() as callback to
build_cpus_aml(). This is the same callback that would be used through
TYPE_ACPI_DEVICE_IF.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230908084234.17642-3-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: c461f3e3820f2a033e7eed08689060328b31dcbf
      
https://github.com/qemu/qemu/commit/c461f3e3820f2a033e7eed08689060328b31dcbf
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/acpi/acpi-x86-stub.c
    M hw/acpi/piix4.c
    M hw/i386/generic_event_device_x86.c
    M hw/isa/lpc_ich9.c
    M include/hw/acpi/acpi_dev_interface.h

  Log Message:
  -----------
  hw/acpi/acpi_dev_interface: Remove now unused madt_cpu virtual method

This virtual method was always set to the x86-specific pc_madt_cpu_entry(),
even in piix4 which is also used in MIPS. The previous changes use
pc_madt_cpu_entry() otherwise, so madt_cpu can be dropped.

Since pc_madt_cpu_entry() is now only used in x86-specific code, the stub
in hw/acpi/acpi-x86-stub can be removed as well.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230908084234.17642-4-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 4f70dd5f6366ac04b0f67d026ee2e17eb35daa45
      
https://github.com/qemu/qemu/commit/4f70dd5f6366ac04b0f67d026ee2e17eb35daa45
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/acpi/cpu.c
    M hw/acpi/hmat.c
    M hw/acpi/hmat.h
    M hw/acpi/memory_hotplug.c
    M include/hw/acpi/acpi_dev_interface.h

  Log Message:
  -----------
  hw/acpi/acpi_dev_interface: Remove now unused #include "hw/boards.h"

The "hw/boards.h" is unused since the previous commit. Since its removal
requires include fixes in various unrelated files to keep the code compiling it
has been split in a dedicated commit.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230908084234.17642-5-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: c9c8ba69d5dbe5c1c6370e1f09ebd7531509d075
      
https://github.com/qemu/qemu/commit/c9c8ba69d5dbe5c1c6370e1f09ebd7531509d075
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    R hw/i386/generic_event_device_x86.c
    M hw/i386/meson.build
    M hw/i386/microvm.c
    M include/hw/acpi/generic_event_device.h

  Log Message:
  -----------
  hw/i386: Remove now redundant TYPE_ACPI_GED_X86

Now that TYPE_ACPI_GED_X86 doesn't assign AcpiDeviceIfClass::madt_cpu any more
it is the same as TYPE_ACPI_GED.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230908084234.17642-6-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 5cdb639d25f9951a90b6b7ba31d376d8ab132a61
      
https://github.com/qemu/qemu/commit/5cdb639d25f9951a90b6b7ba31d376d8ab132a61
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/i386/acpi-build.c

  Log Message:
  -----------
  hw/i386/acpi-build: Determine SMI command port just once

The SMI command port is currently hardcoded by means of the ACPI_PORT_SMI_CMD
macro. This hardcoding is Intel specific and doesn't match VIA, for example.
There is already the AcpiFadtData::smi_cmd attribute which is used when building
the FADT. Let's also use it when building the DSDT which confines SMI command
port determination to just one place. This allows it to become a property later,
thus resolving the Intel assumption.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230908084234.17642-7-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 7f558ea58bb60257b111abac0424dc601ff54875
      
https://github.com/qemu/qemu/commit/7f558ea58bb60257b111abac0424dc601ff54875
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/acpi/core.c
    M hw/acpi/piix4.c
    M hw/acpi/trace-events

  Log Message:
  -----------
  hw/acpi: Trace GPE access in all device models, not just PIIX4

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230908084234.17642-8-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 40a6b8935d5862840c602f977564d2ebbea60ed6
      
https://github.com/qemu/qemu/commit/40a6b8935d5862840c602f977564d2ebbea60ed6
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/acpi/core.c
    M hw/acpi/trace-events

  Log Message:
  -----------
  hw/acpi/core: Trace enable and status registers of GPE separately

The bit positions of both registers are related. Tracing the registers
independently results in the same offsets across these registers which
eases debugging.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230908084234.17642-9-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: e77db790d1bdef9370d23a0a9350c084ce45d91d
      
https://github.com/qemu/qemu/commit/e77db790d1bdef9370d23a0a9350c084ce45d91d
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa: fix gcc cvq_isolated uninitialized variable warning

gcc 13.2.1 emits the following warning:

  net/vhost-vdpa.c: In function ‘net_vhost_vdpa_init.constprop’:
  net/vhost-vdpa.c:1394:25: error: ‘cvq_isolated’ may be used uninitialized 
[-Werror=maybe-uninitialized]
   1394 |         s->cvq_isolated = cvq_isolated;
        |         ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
  net/vhost-vdpa.c:1355:9: note: ‘cvq_isolated’ was declared here
   1355 |     int cvq_isolated;
        |         ^~~~~~~~~~~~
  cc1: all warnings being treated as errors

Cc: Eugenio Pérez <eperezma@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20230911215435.4156314-1-stefanha@redhat.com>
Acked-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 0a7a164bc37b4ecbf74466e1e5243d72a768ad06
      
https://github.com/qemu/qemu/commit/0a7a164bc37b4ecbf74466e1e5243d72a768ad06
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa net: zero vhost_vdpa iova_tree pointer at cleanup

Not zeroing it causes a SIGSEGV if the live migration is cancelled, at
net device restart.

This is caused because CVQ tries to reuse the iova_tree that is present
in the first vhost_vdpa device at the end of vhost_vdpa_net_cvq_start.
As a consequence, it tries to access an iova_tree that has been already
free.

Fixes: 00ef422e9fbf ("vdpa net: move iova tree creation from init to start")
Reported-by: Yanhui Ma <yama@redhat.com>
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20230913123408.2819185-1-eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Si-Wei Liu <si-wei.liu@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: f5a4e1a697e98c7bd0a663d53a378d8c6918ed72
      
https://github.com/qemu/qemu/commit/f5a4e1a697e98c7bd0a663d53a378d8c6918ed72
  Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/cxl/cxl-component-utils.c
    M include/hw/cxl/cxl_component.h

  Log Message:
  -----------
  hw/cxl: Push cxl_decoder_count_enc() and cxl_decode_ig() into .c

There is no strong justification for keeping these in the header
so push them down into the associated cxl-component-utils.c file.

Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Fan Ni <fan.ni@samsung.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20230913132523.29780-2-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 87de174ac49acaa37264e38129596c9819e4a2c5
      
https://github.com/qemu/qemu/commit/87de174ac49acaa37264e38129596c9819e4a2c5
  Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/cxl/cxl-component-utils.c
    M include/hw/cxl/cxl_component.h

  Log Message:
  -----------
  hw/cxl: Add utility functions decoder interleave ways and target count.

As an encoded version of these key configuration parameters is available
in a register, provide functions to extract it again so as to avoid
the need for duplicating the storage.

Whilst here update the _enc() function to include additional values
as defined in the CXL 3.0 specification. Whilst they are not
currently used in the emulation, they may be in future and it is
easier to compare with the specification if all values are covered.

Add a spec reference for cxl_interleave_ways_enc() for consistency
with the target count equivalent (and because it's nice to know where
the magic numbers come from).

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Fan Ni <fan.ni@samsung.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20230913132523.29780-3-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 61c44bcf510f4db51c28d0288e528cfdf0ebabc3
      
https://github.com/qemu/qemu/commit/61c44bcf510f4db51c28d0288e528cfdf0ebabc3
  Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/cxl/cxl-component-utils.c
    M hw/cxl/cxl-host.c
    M hw/mem/cxl_type3.c
    M include/hw/cxl/cxl_component.h

  Log Message:
  -----------
  hw/cxl: Fix and use same calculation for HDM decoder block size everywhere

In order to avoid having the size of the per HDM decoder register block
repeated in lots of places, create the register definitions for HDM
decoder 1 and use the offset between the first registers in HDM decoder 0 and
HDM decoder 1 to establish the offset.

Calculate in each function as this is more obvious and leads to shorter
line lengths than a single #define which would need a long name
to be specific enough.

Note that the code currently only supports one decoder, so the bugs this
fixes don't actually affect anything.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Fan Ni <fan.ni@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230913132523.29780-4-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: e967413fe0f2f3fe022658bb279aef95d24210ec
      
https://github.com/qemu/qemu/commit/e967413fe0f2f3fe022658bb279aef95d24210ec
  Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/cxl/cxl-component-utils.c
    M hw/cxl/cxl-host.c
    M hw/mem/cxl_type3.c
    M include/hw/cxl/cxl_component.h

  Log Message:
  -----------
  hw/cxl: Support 4 HDM decoders at all levels of topology

Support these decoders in CXL host bridges (pxb-cxl), CXL Switch USP
and CXL Type 3 end points.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Message-Id: <20230913132523.29780-5-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 2c9ec2a827f5d36e9cf3c55d931cc0dca2f12092
      
https://github.com/qemu/qemu/commit/2c9ec2a827f5d36e9cf3c55d931cc0dca2f12092
  Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/pci-bridge/cxl_upstream.c

  Log Message:
  -----------
  hw/pci-bridge/cxl-upstream: Add serial number extended capability support

Will be needed so there is a defined serial number for
information queries via the Switch CCI.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20230913133615.29876-1-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: cbc9ae87b5f6f81c52a249e0b64100d5011fca53
      
https://github.com/qemu/qemu/commit/cbc9ae87b5f6f81c52a249e0b64100d5011fca53
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa net: fix error message setting virtio status

It incorrectly prints "error setting features", probably because a copy
paste miss.

Fixes: 152128d646 ("vdpa: move CVQ isolation check to net_init_vhost_vdpa")
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20230915170836.3078172-2-eperezma@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: f1085882d028e5a1b227443cd6e96bbb63d66f43
      
https://github.com/qemu/qemu/commit/f1085882d028e5a1b227443cd6e96bbb63d66f43
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa net: stop probing if cannot set features

Otherwise it continues the CVQ isolation probing.

Fixes: 152128d646 ("vdpa: move CVQ isolation check to net_init_vhost_vdpa")
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20230915170836.3078172-3-eperezma@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 845ec38ae1578dd2d42ff15c9979f1bf44b23418
      
https://github.com/qemu/qemu/commit/845ec38ae1578dd2d42ff15c9979f1bf44b23418
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa net: follow VirtIO initialization properly at cvq isolation probing

This patch solves a few issues.  The most obvious is that the feature
set was done previous to ACKNOWLEDGE | DRIVER status bit set.  Current
vdpa devices are permissive with this, but it is better to follow the
standard.

Fixes: 152128d646 ("vdpa: move CVQ isolation check to net_init_vhost_vdpa")
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20230915170836.3078172-4-eperezma@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 0114c4513095598cdf1cd8d7dacdfff757628121
      
https://github.com/qemu/qemu/commit/0114c4513095598cdf1cd8d7dacdfff757628121
  Author: Akihiko Odaki <akihiko.odaki@daynix.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/i386/amd_iommu.c
    M hw/i386/amd_iommu.h

  Log Message:
  -----------
  amd_iommu: Fix APIC address check

An MSI from I/O APIC may not exactly equal to APIC_DEFAULT_ADDRESS. In
fact, Windows 17763.3650 configures I/O APIC to set the dest_mode bit.
Cover the range assigned to APIC.

Fixes: 577c470f43 ("x86_iommu/amd: Prepare for interrupt remap support")
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20230921114612.40671-1-akihiko.odaki@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: cf0386509ece089213226855ae685e2228315ffe
      
https://github.com/qemu/qemu/commit/cf0386509ece089213226855ae685e2228315ffe
  Author: Ani Sinha <anisinha@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M include/hw/i386/pc.h
    M tests/qtest/bios-tables-test.c
    M tests/qtest/numa-test.c

  Log Message:
  -----------
  hw/i386/pc: improve physical address space bound check for 32-bit x86 systems

32-bit x86 systems do not have a reserved memory for hole64. On those 32-bit
systems without PSE36 or PAE CPU features, hotplugging memory devices are not
supported by QEMU as QEMU always places hotplugged memory above 4 GiB boundary
which is beyond the physical address space of the processor. Linux guests also
does not support memory hotplug on those systems. Please see Linux
kernel commit b59d02ed08690 ("mm/memory_hotplug: disable the functionality
for 32b") for more details.

Therefore, the maximum limit of the guest physical address in the absence of
additional memory devices effectively coincides with the end of
"above 4G memory space" region for 32-bit x86 without PAE/PSE36. When users
configure additional memory devices, after properly accounting for the
additional device memory region to find the maximum value of the guest
physical address, the address will be outside the range of the processor's
physical address space.

This change adds improvements to take above into consideration.

For example, previously this was allowed:

$ ./qemu-system-x86_64 -cpu pentium -m size=10G

With this change now it is no longer allowed:

$ ./qemu-system-x86_64 -cpu pentium -m size=10G
qemu-system-x86_64: Address space limit 0xffffffff < 0x2bfffffff phys-bits too 
low (32)

However, the following are allowed since on both cases physical address
space of the processor is 36 bits:

$ ./qemu-system-x86_64 -cpu pentium2 -m size=10G
$ ./qemu-system-x86_64 -cpu pentium,pse36=on -m size=10G

For 32-bit, without PAE/PSE36, hotplugging additional memory is no longer 
allowed.

$ ./qemu-system-i386 -m size=1G,maxmem=3G,slots=2
qemu-system-i386: Address space limit 0xffffffff < 0x1ffffffff phys-bits too 
low (32)
$ ./qemu-system-i386 -machine q35 -m size=1G,maxmem=3G,slots=2
qemu-system-i386: Address space limit 0xffffffff < 0x1ffffffff phys-bits too 
low (32)

A new compatibility flag is introduced to make sure pc_max_used_gpa() keeps
returning the old value for machines 8.1 and older.
Therefore, the above is still allowed for older machine types in order to 
support
compatibility. Hence, the following still works:

$ ./qemu-system-i386 -machine pc-i440fx-8.1 -m size=1G,maxmem=3G,slots=2
$ ./qemu-system-i386 -machine pc-q35-8.1 -m size=1G,maxmem=3G,slots=2

Further, following is also allowed as with PSE36, the processor has 36-bit
address space:

$ ./qemu-system-i386 -cpu 486,pse36=on -m size=1G,maxmem=3G,slots=2

After calling CPUID with EAX=0x80000001, all AMD64 compliant processors
have the longmode-capable-bit turned on in the extended feature flags (bit 29)
in EDX. The absence of CPUID longmode can be used to differentiate between
32-bit and 64-bit processors and is the recommended approach. QEMU takes this
approach elsewhere (for example, please see x86_cpu_realizefn()), With
this change, pc_max_used_gpa() also uses the same method to detect 32-bit
processors.

Unit tests are modified to not run 32-bit x86 tests that use memory hotplug.

Suggested-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Ani Sinha <anisinha@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20230922160413.165702-1-anisinha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: f1a153857abc1ba8835b12a01520df9f1b64e15b
      
https://github.com/qemu/qemu/commit/f1a153857abc1ba8835b12a01520df9f1b64e15b
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/pci/pcie_sriov.c

  Log Message:
  -----------
  pcie_sriov: unregister_vfs(): fix error path

local_err must be NULL before calling object_property_set_bool(), so we
must clear it on each iteration. Let's also use more convenient
error_reportf_err().

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-Id: <20230925194040.68592-8-vsementsov@yandex-team.ru>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: a6f4d2ec42f3feb6c399f5760a2567ca78897bd7
      
https://github.com/qemu/qemu/commit/a6f4d2ec42f3feb6c399f5760a2567ca78897bd7
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M subprojects/libvhost-user/libvhost-user.c

  Log Message:
  -----------
  libvhost-user.c: add assertion to vu_message_read_default

Explain Coverity that we are not going to overflow vmsg->fds.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-Id: <20230925194040.68592-5-vsementsov@yandex-team.ru>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 850cd20b072cd330cb24aa1c92732b9722998d40
      
https://github.com/qemu/qemu/commit/850cd20b072cd330cb24aa1c92732b9722998d40
  Author: Ilya Maximets <i.maximets@ovn.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  virtio: use shadow_avail_idx while checking number of heads

We do not need the most up to date number of heads, we only want to
know if there is at least one.

Use shadow variable as long as it is not equal to the last available
index checked.  This avoids expensive qatomic dereference of the
RCU-protected memory region cache as well as the memory access itself.

The change improves performance of the af-xdp network backend by 2-3%.

Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Message-Id: <20230927135157.2316982-1-i.maximets@ovn.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: d501f97d9607eff1750549e0270c034102786d33
      
https://github.com/qemu/qemu/commit/d501f97d9607eff1750549e0270c034102786d33
  Author: Ilya Maximets <i.maximets@ovn.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  virtio: remove unnecessary thread fence while reading next descriptor

It was supposed to be a compiler barrier and it was a compiler barrier
initially called 'wmb' when virtio core support was introduced.
Later all the instances of 'wmb' were switched to smp_wmb to fix memory
ordering issues on non-x86 platforms.  However, this one doesn't need
to be an actual barrier, as its only purpose was to ensure that the
value is not read twice.

And since commit aa570d6fb6bd ("virtio: combine the read of a descriptor")
there is no need for a barrier at all, since we're no longer reading
guest memory here, but accessing a local structure.

Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Message-Id: <20230927140016.2317404-2-i.maximets@ovn.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 70f88436aa5a8aeddd33e4d06270146af5d5bb52
      
https://github.com/qemu/qemu/commit/70f88436aa5a8aeddd33e4d06270146af5d5bb52
  Author: Ilya Maximets <i.maximets@ovn.org>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  virtio: remove unused next argument from virtqueue_split_read_next_desc()

The 'next' was converted from a local variable to an output parameter
in commit:
  412e0e81b174 ("virtio: handle virtqueue_read_next_desc() errors")

But all the actual uses of the 'i/next' as an output were removed a few
months prior in commit:
  aa570d6fb6bd ("virtio: combine the read of a descriptor")

Remove the unused argument to simplify the code.

Also, adding a comment to the function to describe what it is actually
doing, as it is not obvious that the 'desc' is both an input and an
output argument.

Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Message-Id: <20230927140016.2317404-3-i.maximets@ovn.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: a6ceee591acdb9c9c772bf59544a57891308222e
      
https://github.com/qemu/qemu/commit/a6ceee591acdb9c9c772bf59544a57891308222e
  Author: Albert Esteve <aesteve@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M include/qemu/uuid.h
    M tests/unit/test-uuid.c
    M util/uuid.c

  Log Message:
  -----------
  util/uuid: add a hash function

Add hash function to uuid module using the
djb2 hash algorithm.

Add a couple simple unit tests for the hash
function, checking collisions for similar UUIDs.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Albert Esteve <aesteve@redhat.com>
Message-Id: <20231002065706.94707-2-aesteve@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: faefdba8474fbc30427a64caa4dcd6df611f5b60
      
https://github.com/qemu/qemu/commit/faefdba8474fbc30427a64caa4dcd6df611f5b60
  Author: Albert Esteve <aesteve@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M MAINTAINERS
    M hw/display/meson.build
    A hw/display/virtio-dmabuf.c
    A include/hw/virtio/virtio-dmabuf.h
    M tests/unit/meson.build
    A tests/unit/test-virtio-dmabuf.c

  Log Message:
  -----------
  hw/display: introduce virtio-dmabuf

This API manages objects (in this iteration,
dmabuf fds) that can be shared along different
virtio devices, associated to a UUID.

The API allows the different devices to add,
remove and/or retrieve the objects by simply
invoking the public functions that reside in the
virtio-dmabuf file.

For vhost backends, the API stores the pointer
to the backend holding the object.

Suggested-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Albert Esteve <aesteve@redhat.com>
Message-Id: <20231002065706.94707-3-aesteve@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 160947666276c5b7f6bca4d746bcac2966635d79
      
https://github.com/qemu/qemu/commit/160947666276c5b7f6bca4d746bcac2966635d79
  Author: Albert Esteve <aesteve@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M docs/interop/vhost-user.rst
    M hw/virtio/vhost-user.c
    M include/hw/virtio/vhost-backend.h
    M include/hw/virtio/vhost-user.h

  Log Message:
  -----------
  vhost-user: add shared_object msg

Add three new vhost-user protocol
`VHOST_USER_BACKEND_SHARED_OBJECT_* messages`.
These new messages are sent from vhost-user
back-ends to interact with the virtio-dmabuf
table in order to add or remove themselves as
virtio exporters, or lookup for virtio dma-buf
shared objects.

The action taken in the front-end depends
on the type stored in the virtio shared
object hash table.

When the table holds a pointer to a vhost
backend for a given UUID, the front-end sends
a VHOST_USER_GET_SHARED_OBJECT to the
backend holding the shared object.

The messages can only be sent after successfully
negotiating a new VHOST_USER_PROTOCOL_F_SHARED_OBJECT
vhost-user protocol feature bit.

Finally, refactor code to send response message so
that all common parts both for the common REPLY_ACK
case, and other data responses, can call it and
avoid code repetition.

Signed-off-by: Albert Esteve <aesteve@redhat.com>
Message-Id: <20231002065706.94707-4-aesteve@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: ce0f3b032a960726c0dddfb4f81f223215179f26
      
https://github.com/qemu/qemu/commit/ce0f3b032a960726c0dddfb4f81f223215179f26
  Author: Albert Esteve <aesteve@redhat.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M subprojects/libvhost-user/libvhost-user.c
    M subprojects/libvhost-user/libvhost-user.h

  Log Message:
  -----------
  libvhost-user: handle shared_object msg

In the libvhost-user library we need to
handle VHOST_USER_GET_SHARED_OBJECT requests,
and add helper functions to allow sending messages
to interact with the virtio shared objects
hash table.

Signed-off-by: Albert Esteve <aesteve@redhat.com>
Message-Id: <20231002065706.94707-5-aesteve@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 800af0aae1cfa456701c5fa1ef273ce47585179c
      
https://github.com/qemu/qemu/commit/800af0aae1cfa456701c5fa1ef273ce47585179c
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2023-10-05 (Thu, 05 Oct 2023)

  Changed paths:
    M MAINTAINERS
    R accel/accel-common.c
    A accel/accel-target.c
    M accel/dummy-cpus.c
    M accel/hvf/hvf-accel-ops.c
    M accel/kvm/kvm-accel-ops.c
    M accel/meson.build
    M accel/tcg/atomic_template.h
    M accel/tcg/cpu-exec-common.c
    M accel/tcg/cpu-exec.c
    M accel/tcg/cputlb.c
    A accel/tcg/icount-common.c
    A accel/tcg/internal-common.h
    A accel/tcg/internal-target.h
    R accel/tcg/internal.h
    M accel/tcg/ldst_atomicity.c.inc
    M accel/tcg/ldst_common.c.inc
    M accel/tcg/meson.build
    M accel/tcg/monitor.c
    M accel/tcg/plugin-gen.c
    M accel/tcg/tb-maint.c
    M accel/tcg/tcg-accel-ops-icount.c
    M accel/tcg/tcg-accel-ops-mttcg.c
    M accel/tcg/tcg-accel-ops-rr.c
    M accel/tcg/tcg-accel-ops.c
    M accel/tcg/tcg-all.c
    M accel/tcg/translate-all.c
    M accel/tcg/translator.c
    M accel/tcg/user-exec.c
    M bsd-user/bsd-proc.h
    M bsd-user/main.c
    M bsd-user/signal.c
    A cpu-common.c
    A cpu-target.c
    R cpu.c
    R cpus-common.c
    M docs/about/deprecated.rst
    M gdbstub/gdbstub.c
    M gdbstub/user-target.c
    M hw/core/cpu-common.c
    M hw/i386/kvm/clock.c
    M hw/intc/mips_gic.c
    M hw/intc/riscv_aclint.c
    M hw/intc/riscv_imsic.c
    M hw/ppc/e500.c
    M hw/ppc/spapr.c
    M include/exec/cpu-all.h
    M include/exec/cpu-common.h
    M include/exec/cpu-defs.h
    M include/exec/cpu_ldst.h
    M include/exec/exec-all.h
    M include/hw/core/accel-cpu.h
    M include/hw/core/cpu.h
    M include/qemu/accel.h
    A include/tcg/startup.h
    M include/tcg/tcg.h
    M linux-user/elfload.c
    M linux-user/exit.c
    M linux-user/hppa/signal.c
    M linux-user/i386/cpu_loop.c
    M linux-user/main.c
    M linux-user/signal.c
    M linux-user/syscall.c
    M meson.build
    M meson_options.txt
    M monitor/hmp-cmds-target.c
    A page-vary-target.c
    R page-vary.c
    M qom/object.c
    M scripts/meson-buildoptions.sh
    M semihosting/arm-compat-semi.c
    M semihosting/syscalls.c
    R softmmu/icount.c
    M softmmu/meson.build
    M softmmu/watchpoint.c
    M target/alpha/cpu.c
    M target/alpha/cpu.h
    M target/alpha/translate.c
    M target/arm/common-semi-target.h
    M target/arm/cpu-param.h
    M target/arm/cpu.c
    M target/arm/cpu.h
    M target/arm/cpu64.c
    M target/arm/helper.c
    M target/arm/ptw.c
    M target/arm/tcg/mte_helper.c
    M target/arm/tcg/sve_helper.c
    M target/arm/tcg/tlb_helper.c
    M target/arm/tcg/translate-a32.h
    M target/arm/tcg/translate-a64.c
    M target/arm/tcg/translate-a64.h
    M target/arm/tcg/translate-m-nocp.c
    M target/arm/tcg/translate-mve.c
    M target/arm/tcg/translate-neon.c
    M target/arm/tcg/translate-sme.c
    M target/arm/tcg/translate-sve.c
    M target/arm/tcg/translate-vfp.c
    M target/arm/tcg/translate.c
    M target/arm/tcg/translate.h
    M target/avr/cpu.c
    M target/avr/cpu.h
    M target/avr/translate.c
    M target/cris/cpu.c
    M target/cris/cpu.h
    M target/cris/translate.c
    M target/cris/translate_v10.c.inc
    M target/hexagon/README
    M target/hexagon/cpu.c
    M target/hexagon/cpu.h
    M target/hexagon/gen_tcg.h
    M target/hexagon/gen_tcg_funcs.py
    M target/hexagon/gen_tcg_hvx.h
    M target/hexagon/genptr.c
    M target/hexagon/idef-parser/parser-helpers.c
    M target/hexagon/macros.h
    M target/hexagon/translate.c
    M target/hppa/cpu.c
    M target/hppa/cpu.h
    M target/hppa/mem_helper.c
    M target/hppa/translate.c
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/hvf/hvf-cpu.c
    M target/i386/kvm/kvm-cpu.c
    M target/i386/nvmm/nvmm-all.c
    M target/i386/tcg/decode-new.c.inc
    M target/i386/tcg/emit.c.inc
    M target/i386/tcg/sysemu/excp_helper.c
    M target/i386/tcg/tcg-cpu.c
    M target/i386/tcg/translate.c
    M target/i386/whpx/whpx-all.c
    M target/loongarch/cpu.c
    M target/loongarch/cpu.h
    M target/loongarch/insn_trans/trans_atomic.c.inc
    M target/loongarch/insn_trans/trans_branch.c.inc
    M target/loongarch/insn_trans/trans_extra.c.inc
    M target/loongarch/insn_trans/trans_farith.c.inc
    M target/loongarch/insn_trans/trans_fcmp.c.inc
    M target/loongarch/insn_trans/trans_fmemory.c.inc
    M target/loongarch/insn_trans/trans_fmov.c.inc
    M target/loongarch/insn_trans/trans_memory.c.inc
    M target/loongarch/insn_trans/trans_privileged.c.inc
    M target/loongarch/insn_trans/trans_vec.c.inc
    M target/loongarch/translate.c
    M target/m68k/cpu.c
    M target/m68k/cpu.h
    M target/m68k/translate.c
    M target/microblaze/cpu.c
    M target/microblaze/cpu.h
    M target/microblaze/translate.c
    M target/mips/cpu.c
    M target/mips/cpu.h
    M target/mips/tcg/lcsr_translate.c
    M target/mips/tcg/micromips_translate.c.inc
    M target/mips/tcg/msa_translate.c
    M target/mips/tcg/mxu_translate.c
    M target/mips/tcg/nanomips_translate.c.inc
    M target/mips/tcg/sysemu/mips-semi.c
    M target/mips/tcg/translate.c
    M target/mips/tcg/translate.h
    M target/mips/tcg/vr54xx_translate.c
    M target/nios2/cpu.c
    M target/nios2/cpu.h
    M target/nios2/translate.c
    M target/openrisc/cpu.c
    M target/openrisc/cpu.h
    M target/openrisc/translate.c
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c
    M target/ppc/power8-pmu-regs.c.inc
    M target/ppc/translate.c
    M target/ppc/translate/branch-impl.c.inc
    M target/ppc/translate/dfp-impl.c.inc
    M target/ppc/translate/fixedpoint-impl.c.inc
    M target/ppc/translate/fp-impl.c.inc
    M target/ppc/translate/processor-ctrl-impl.c.inc
    M target/ppc/translate/spe-impl.c.inc
    M target/ppc/translate/storage-ctrl-impl.c.inc
    M target/ppc/translate/vmx-impl.c.inc
    M target/ppc/translate/vsx-impl.c.inc
    M target/riscv/cpu.c
    M target/riscv/cpu.h
    M target/riscv/insn_trans/trans_privileged.c.inc
    M target/riscv/insn_trans/trans_rvbf16.c.inc
    M target/riscv/insn_trans/trans_rvd.c.inc
    M target/riscv/insn_trans/trans_rvf.c.inc
    M target/riscv/insn_trans/trans_rvh.c.inc
    M target/riscv/insn_trans/trans_rvi.c.inc
    M target/riscv/insn_trans/trans_rvm.c.inc
    M target/riscv/insn_trans/trans_rvv.c.inc
    M target/riscv/insn_trans/trans_rvvk.c.inc
    M target/riscv/insn_trans/trans_rvzce.c.inc
    M target/riscv/insn_trans/trans_rvzfa.c.inc
    M target/riscv/insn_trans/trans_rvzfh.c.inc
    M target/riscv/insn_trans/trans_rvzicbo.c.inc
    M target/riscv/insn_trans/trans_svinval.c.inc
    M target/riscv/insn_trans/trans_xthead.c.inc
    M target/riscv/translate.c
    M target/rx/cpu.c
    M target/rx/cpu.h
    M target/rx/translate.c
    M target/s390x/cpu.c
    M target/s390x/cpu.h
    M target/s390x/tcg/translate.c
    M target/s390x/tcg/translate_vx.c.inc
    M target/sh4/cpu.c
    M target/sh4/cpu.h
    M target/sh4/op_helper.c
    M target/sh4/translate.c
    M target/sparc/cpu.c
    M target/sparc/cpu.h
    M target/sparc/translate.c
    M target/tricore/cpu.c
    M target/tricore/cpu.h
    M target/tricore/translate.c
    M target/xtensa/cpu.c
    M target/xtensa/cpu.h
    M target/xtensa/translate.c
    M tcg/aarch64/tcg-target.c.inc
    M tcg/arm/tcg-target.c.inc
    M tcg/loongarch64/tcg-target.c.inc
    M tcg/tcg-op-gvec.c
    M tcg/tcg-op-ldst.c
    M tcg/tcg-op.c
    M tcg/tcg.c
    M tests/avocado/boot_linux_console.py
    M tests/avocado/machine_mips_malta.py
    M tests/avocado/replay_kernel.py
    M tests/avocado/tuxrun_baselines.py
    M tests/qemu-iotests/meson.build

  Log Message:
  -----------
  Merge tag 'pull-tcg-20231004' of https://gitlab.com/rth7680/qemu into staging

accel: Introduce AccelClass::cpu_common_[un]realize
accel: Target agnostic code movement
accel/tcg: Cleanups to use CPUState instead of CPUArchState
accel/tcg: Move CPUNegativeOffsetState into CPUState
tcg: Split out tcg init functions to tcg/startup.h
linux-user/hppa: Fix struct target_sigcontext layout
build: Remove --enable-gprof

# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmUdsL4dHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV/iYggAvDJEyMCAXSSH97BA
# wZT/2D/MFIhOMk6xrQRnrXfrG70N0iVKz44jl9j7k1D+9BOHcso//DDJH3c96k9A
# MgDb6W2bsWvC15/Qw6BALf5bb/II0MJuCcQvj3CNX5lNkXAWhwIOBhsZx7V9ST1+
# rihN4nowpRWdV5GeCjDGaJW455Y1gc96hICYHy6Eqw1cUgUFt9vm5aYU3FHlat29
# sYRaVYKUL2hRUPPNcPiPq0AaJ8wN6/s8gT+V1UvTzkhHqskoM4ZU89RchuXVoq1h
# SvhKElyULMRzM7thWtpW8qYJPj4mxZsKArESvHjsunGD6KEz3Fh1sy6EKRcdmpG/
# II1vkg==
# =k2Io
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 04 Oct 2023 14:36:46 EDT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-tcg-20231004' of https://gitlab.com/rth7680/qemu: (47 commits)
  tcg/loongarch64: Fix buid error
  tests/avocado: Re-enable MIPS Malta tests (GitLab issue #1884 fixed)
  build: Remove --enable-gprof
  linux-user/hppa: Fix struct target_sigcontext layout
  tcg: Split out tcg init functions to tcg/startup.h
  tcg: Remove argument to tcg_prologue_init
  accel/tcg: Make cpu-exec-common.c a target agnostic unit
  accel/tcg: Make icount.o a target agnostic unit
  accel/tcg: Make monitor.c a target-agnostic unit
  accel/tcg: Rename target-specific 'internal.h' -> 'internal-target.h'
  exec: Rename target specific page-vary.c -> page-vary-target.c
  exec: Rename cpu.c -> cpu-target.c
  accel: Rename accel-common.c -> accel-target.c
  accel: Make accel-blocker.o target agnostic
  accel/tcg: Restrict dump_exec_info() declaration
  exec: Move cpu_loop_foo() target agnostic functions to 'cpu-common.h'
  exec: Make EXCP_FOO definitions target agnostic
  accel/tcg: move ld/st helpers to ldst_common.c.inc
  accel/tcg: Unify user and softmmu do_[st|ld]*_mmu()
  accel/tcg: Remove env_tlb()
  ...

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


  Commit: 2f3913f4b2ad74baeb5a6f1d36efbd9ecdf1057d
      
https://github.com/qemu/qemu/commit/2f3913f4b2ad74baeb5a6f1d36efbd9ecdf1057d
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2023-10-05 (Thu, 05 Oct 2023)

  Changed paths:
    M MAINTAINERS
    M docs/interop/vhost-user.rst
    M hw/acpi/acpi-x86-stub.c
    M hw/acpi/core.c
    M hw/acpi/cpu.c
    M hw/acpi/hmat.c
    M hw/acpi/hmat.h
    M hw/acpi/memory_hotplug.c
    M hw/acpi/piix4.c
    M hw/acpi/trace-events
    M hw/core/machine.c
    M hw/cxl/cxl-component-utils.c
    M hw/cxl/cxl-host.c
    M hw/display/meson.build
    A hw/display/virtio-dmabuf.c
    M hw/i386/acpi-build.c
    M hw/i386/acpi-common.c
    M hw/i386/acpi-common.h
    M hw/i386/acpi-microvm.c
    M hw/i386/amd_iommu.c
    M hw/i386/amd_iommu.h
    R hw/i386/generic_event_device_x86.c
    M hw/i386/meson.build
    M hw/i386/microvm.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/isa/lpc_ich9.c
    M hw/mem/cxl_type3.c
    M hw/net/virtio-net.c
    M hw/pci-bridge/cxl_upstream.c
    M hw/pci/pci.c
    M hw/pci/pci_bridge.c
    M hw/pci/pcie_sriov.c
    M hw/scsi/vhost-user-scsi.c
    M hw/virtio/meson.build
    M hw/virtio/trace-events
    M hw/virtio/vdpa-dev.c
    M hw/virtio/vhost-shadow-virtqueue.c
    M hw/virtio/vhost-shadow-virtqueue.h
    A hw/virtio/vhost-user-device-pci.c
    A hw/virtio/vhost-user-device.c
    M hw/virtio/vhost-user-gpio.c
    M hw/virtio/vhost-user.c
    M hw/virtio/vhost-vdpa.c
    M hw/virtio/virtio-qmp.c
    M hw/virtio/virtio-qmp.h
    M hw/virtio/virtio.c
    M include/exec/memory.h
    M include/hw/acpi/acpi_dev_interface.h
    M include/hw/acpi/cpu.h
    M include/hw/acpi/generic_event_device.h
    M include/hw/cxl/cxl_component.h
    M include/hw/i386/pc.h
    M include/hw/pci/pci_bridge.h
    M include/hw/virtio/vhost-backend.h
    A include/hw/virtio/vhost-user-device.h
    M include/hw/virtio/vhost-user.h
    M include/hw/virtio/vhost-vdpa.h
    A include/hw/virtio/virtio-dmabuf.h
    M include/hw/virtio/virtio-net.h
    M include/qemu/uuid.h
    M net/vhost-vdpa.c
    M subprojects/libvhost-user/libvhost-user.c
    M subprojects/libvhost-user/libvhost-user.h
    M tests/qtest/bios-tables-test.c
    M tests/qtest/numa-test.c
    M tests/unit/meson.build
    M tests/unit/test-uuid.c
    A tests/unit/test-virtio-dmabuf.c
    M util/uuid.c

  Log Message:
  -----------
  Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu 
into staging

virtio,pci: features, cleanups

vdpa:
      shadow vq vlan support
      net migration with cvq
cxl:
     support emulating 4 HDM decoders
     serial number extended capability
virtio:
      hared dma-buf

Fixes, cleanups all over the place.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

* tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu: (53 
commits)
  libvhost-user: handle shared_object msg
  vhost-user: add shared_object msg
  hw/display: introduce virtio-dmabuf
  util/uuid: add a hash function
  virtio: remove unused next argument from virtqueue_split_read_next_desc()
  virtio: remove unnecessary thread fence while reading next descriptor
  virtio: use shadow_avail_idx while checking number of heads
  libvhost-user.c: add assertion to vu_message_read_default
  pcie_sriov: unregister_vfs(): fix error path
  hw/i386/pc: improve physical address space bound check for 32-bit x86 systems
  amd_iommu: Fix APIC address check
  vdpa net: follow VirtIO initialization properly at cvq isolation probing
  vdpa net: stop probing if cannot set features
  vdpa net: fix error message setting virtio status
  hw/pci-bridge/cxl-upstream: Add serial number extended capability support
  hw/cxl: Support 4 HDM decoders at all levels of topology
  hw/cxl: Fix and use same calculation for HDM decoder block size everywhere
  hw/cxl: Add utility functions decoder interleave ways and target count.
  hw/cxl: Push cxl_decoder_count_enc() and cxl_decode_ig() into .c
  vdpa net: zero vhost_vdpa iova_tree pointer at cleanup
  ...

Conflicts:
  hw/core/machine.c
  Context conflict with commit 314e0a84cd5d ("hw/core: remove needless
  includes") because it removed an adjacent #include.


Compare: https://github.com/qemu/qemu/compare/759897116708...2f3913f4b2ad



reply via email to

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