Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 473cd070b11ab1e8aa6085202170e48c356778e8
      
https://github.com/qemu/qemu/commit/473cd070b11ab1e8aa6085202170e48c356778e8
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    M configure

  Log Message:
  -----------
  linux-user, bsd-user: disable on unsupported host architectures

Safe signal handling around system calls is mandatory for user-mode
emulation, and requires a small piece of handwritten assembly code.
So refuse to compile unless the common-user/host subdirectory exists
for the host architecture that was detected or selected with --cpu.

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: c1f27a0c6ae4059a1d809e9c2bc4d47b823c32a3
      
https://github.com/qemu/qemu/commit/c1f27a0c6ae4059a1d809e9c2bc4d47b823c32a3
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    M target/i386/tcg/sysemu/fpu_helper.c
    M target/i386/tcg/translate.c

  Log Message:
  -----------
  target/i386: raise FERR interrupt with iothread locked

Otherwise tcg_handle_interrupt() triggers an assertion failure:

  #5  0x0000555555c97369 in tcg_handle_interrupt (cpu=0x555557434cb0, mask=2) 
at ../accel/tcg/tcg-accel-ops.c:83
  #6  tcg_handle_interrupt (cpu=0x555557434cb0, mask=2) at 
../accel/tcg/tcg-accel-ops.c:81
  #7  0x0000555555b4d58b in pic_irq_request (opaque=<optimized out>, 
irq=<optimized out>, level=1) at ../hw/i386/x86.c:555
  #8  0x0000555555b4f218 in gsi_handler (opaque=0x5555579423d0, n=13, level=1) 
at ../hw/i386/x86.c:611
  #9  0x00007fffa42bde14 in code_gen_buffer ()
  #10 0x0000555555c724bb in cpu_tb_exec (cpu=cpu@entry=0x555557434cb0, 
itb=<optimized out>, tb_exit=tb_exit@entry=0x7fffe9bfd658) at 
../accel/tcg/cpu-exec.c:457

Cc: qemu-sta...@nongnu.org
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1808
Reported-by: NyanCatTW1 <https://gitlab.com/a0939712328>
Co-developed-by: Richard Henderson <richard.hender...@linaro.org>'
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: a48b26978a090fe1f3f3e54319902d4ab56a6b3a
      
https://github.com/qemu/qemu/commit/a48b26978a090fe1f3f3e54319902d4ab56a6b3a
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    M target/i386/tcg/decode-new.c.inc
    M target/i386/tcg/decode-new.h

  Log Message:
  -----------
  target/i386: generalize operand size "ph" for use in CVTPS2PD

CVTPS2PD only loads a half-register for memory, like CVTPH2PS.  It can
reuse the "ph" packed half-precision size to load a half-register,
but rename it to "xh" because it is now a variation of "x" (it is not
used only for half-precision values).

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: abd41884c530aa025ada253bf1a5bd0c2b808219
      
https://github.com/qemu/qemu/commit/abd41884c530aa025ada253bf1a5bd0c2b808219
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    M target/i386/tcg/decode-new.c.inc
    M target/i386/tcg/emit.c.inc

  Log Message:
  -----------
  target/i386: fix memory operand size for CVTPS2PD

CVTPS2PD only loads a half-register for memory, unlike the other
operations under 0x0F 0x5A.  "Unpack" the group into separate
emission functions instead of using gen_unary_fp_sse.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 3e76bafb28c8292be5c4a32cab873b3a82cbcc87
      
https://github.com/qemu/qemu/commit/3e76bafb28c8292be5c4a32cab873b3a82cbcc87
  Author: Tao Su <tao1...@linux.intel.com>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

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

  Log Message:
  -----------
  target/i386: Add support for AMX-COMPLEX in CPUID enumeration

Latest Intel platform GraniteRapids-D introduces AMX-COMPLEX, which adds
two instructions to perform matrix multiplication of two tiles containing
complex elements and accumulate the results into a packed single precision
tile.

AMX-COMPLEX is enumerated via CPUID.(EAX=7,ECX=1):EDX[bit 8]. Add the CPUID
definition for AMX-COMPLEX, AMX-COMPLEX will be enabled automatically when
using '-cpu host' and KVM advertises AMX-COMPLEX to userspace.

Signed-off-by: Tao Su <tao1...@linux.intel.com>
Reviewed-by: Xiaoyao Li <xiaoyao...@intel.com>
Message-ID: <20230830074324.84059-1-tao1...@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: b21bdbb51a3b71d6fa7660d761a9bf89c34d951c
      
https://github.com/qemu/qemu/commit/b21bdbb51a3b71d6fa7660d761a9bf89c34d951c
  Author: Michael Tokarev <m...@tls.msk.ru>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    M include/sysemu/os-posix.h

  Log Message:
  -----------
  include/sysemu/os-posix.h: move *daemonize* declarations together

Signed-off-by: Michael Tokarev <m...@tls.msk.ru>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Message-ID: <20230901101302.3618955-2-...@tls.msk.ru>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 22d0251570d505681d7bba6a00bcae08f962189d
      
https://github.com/qemu/qemu/commit/22d0251570d505681d7bba6a00bcae08f962189d
  Author: Michael Tokarev <m...@tls.msk.ru>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    M include/sysemu/os-posix.h
    M os-posix.c

  Log Message:
  -----------
  os-posix.c: create and export os_set_runas()

Signed-off-by: Michael Tokarev <m...@tls.msk.ru>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Message-ID: <20230901101302.3618955-3-...@tls.msk.ru>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 5b15639003a267b8254ae597a0b8bfefe36ced7b
      
https://github.com/qemu/qemu/commit/5b15639003a267b8254ae597a0b8bfefe36ced7b
  Author: Michael Tokarev <m...@tls.msk.ru>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    M include/sysemu/os-posix.h
    M os-posix.c

  Log Message:
  -----------
  os-posix.c: create and export os_set_chroot()

Signed-off-by: Michael Tokarev <m...@tls.msk.ru>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Message-ID: <20230901101302.3618955-4-...@tls.msk.ru>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 8a768db16afacf2056a753b99b81a5855c3320fa
      
https://github.com/qemu/qemu/commit/8a768db16afacf2056a753b99b81a5855c3320fa
  Author: Michael Tokarev <m...@tls.msk.ru>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    M include/sysemu/os-posix.h
    M include/sysemu/os-win32.h
    M os-posix.c
    M softmmu/vl.c

  Log Message:
  -----------
  os-posix.c, softmmu/vl.c: move os_parse_cmd_args() into qemu_init()

This will stop linking softmmu-specific os_parse_cmd_args() into every
qemu executable which happens to use other functions from os-posix.c,
such as os_set_line_buffering() or os_setup_signal_handling().

Also, since there's no win32-specific options, *all* option parsing is
now done in softmmu/vl.c:qemu_init(), which is easier to read without
extra indirection, - all options are in the single function now.

This effectively reverts commit 59a5264b99434.

Signed-off-by: Michael Tokarev <m...@tls.msk.ru>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Message-ID: <20230901101302.3618955-5-...@tls.msk.ru>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 433aed5f3963950d94661f7e4974011abb4ff7e4
      
https://github.com/qemu/qemu/commit/433aed5f3963950d94661f7e4974011abb4ff7e4
  Author: Michael Tokarev <m...@tls.msk.ru>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    M os-posix.c

  Log Message:
  -----------
  os-posix.c: move code around

this moves code blocks so that functions and variables which
belongs to the same concept are now close to each other.
There's no actual code changes in there.

Signed-off-by: Michael Tokarev <m...@tls.msk.ru>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Message-ID: <20230901101302.3618955-6-...@tls.msk.ru>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 36d61c9ed2705f0e526726f1b0bf67398bb90199
      
https://github.com/qemu/qemu/commit/36d61c9ed2705f0e526726f1b0bf67398bb90199
  Author: Michael Tokarev <m...@tls.msk.ru>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    M os-posix.c

  Log Message:
  -----------
  os-posix.c: remove unneeded #includes

Signed-off-by: Michael Tokarev <m...@tls.msk.ru>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Message-ID: <20230901101302.3618955-7-...@tls.msk.ru>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 1a1dd721fc9b72dabec611ee02dde9cb46a944fa
      
https://github.com/qemu/qemu/commit/1a1dd721fc9b72dabec611ee02dde9cb46a944fa
  Author: Michael Tokarev <m...@tls.msk.ru>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    R include/qemu/qemu-options.h
    M softmmu/vl.c

  Log Message:
  -----------
  softmmu/vl.c: inline include/qemu/qemu-options.h into vl.c

qemu-options.h just includes qemu-options.def with some #defines.
We already do this in vl.c in other place. Since no other file
includes qemu-options.h anymore, just inline it in vl.c.

This effectively reverts second half of commit 59a5264b99434.

Signed-off-by: Michael Tokarev <m...@tls.msk.ru>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Message-ID: <20230901101302.3618955-8-...@tls.msk.ru>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: bb5c77c4f8a5ea9cb3f6bcf5ca33bab4d85d1d92
      
https://github.com/qemu/qemu/commit/bb5c77c4f8a5ea9cb3f6bcf5ca33bab4d85d1d92
  Author: Michael Tokarev <m...@tls.msk.ru>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    A softmmu/async-teardown.c
    M softmmu/meson.build
    R util/async-teardown.c
    M util/meson.build

  Log Message:
  -----------
  util/async-teardown.c: move to softmmu/, only build it when system build is 
requested

Signed-off-by: Michael Tokarev <m...@tls.msk.ru>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Message-ID: <20230901101302.3618955-9-...@tls.msk.ru>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 0fdf05d774a5f6b701459d61e7875229667cacbd
      
https://github.com/qemu/qemu/commit/0fdf05d774a5f6b701459d61e7875229667cacbd
  Author: Shawn Anastasio <sanasta...@raptorengineering.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/mmu-radix64.c

  Log Message:
  -----------
  target/ppc: Generate storage interrupts for radix RC changes

Change radix model to always generate a storage interrupt when the R/C
bits are not set appropriately in a PTE instead of setting the bits
itself.  According to the ISA both behaviors are valid, but in practice
this change more closely matches behavior observed on the POWER9 CPU.

>From the POWER9 Processor User's Manual, Section 4.10.13.1: "When
performing Radix translation, the POWER9 hardware triggers the
appropriate interrupt ... for the mode and type of access whenever
Reference (R) and Change (C) bits require setting in either the guest or
host page-table entry (PTE)."

Signed-off-by: Shawn Anastasio <sanasta...@raptorengineering.com>
Reviewed-by: Cédric Le Goater <c...@kaod.org>
Reviewed-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 99837aa88ce0494f8adb0ebf6bc7ce951f048a8d
      
https://github.com/qemu/qemu/commit/99837aa88ce0494f8adb0ebf6bc7ce951f048a8d
  Author: Joel Stanley <j...@jms.id.au>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c

  Log Message:
  -----------
  ppc: Add stub implementation of TRIG SPRs

Linux sets these to control cache flush behaviour on Power9. Supervisor
and hypervisor are allowed to write, and reads are noops.

Add implementations to avoid noisy messages when booting Linux under the
pseries machine with guest_errors enabled.

Reviewed-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Joel Stanley <j...@jms.id.au>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 98a18f4d1189886921f563bbff86c30090915dfd
      
https://github.com/qemu/qemu/commit/98a18f4d1189886921f563bbff86c30090915dfd
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Remove single-step suppression inside 0x100-0xf00

Single-step interrupts are suppressed if the nip is between 0x100 and
0xf00. This has been the case for a long time and it's not clear what
the intention is. Likely either an attempt to suppress trace interrupts
for instructions that cause an interrupt on completion, or a workaround
to prevent software tripping over itself single stepping its interrupt
handlers.

BookE interrupt vectors are set by IVOR registers, and BookS has AIL
modes and new interrupt types, so there are many interrupts including
the debug interrupt which can be outside this range. So any effect it
might have had does not cover most cases (including Linux on recent
BookS CPUs).

Remove this special case.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
[ clg : fixed typo in commit logs ]
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 148953849d25f3e4a9a88031ac88921147548cd0
      
https://github.com/qemu/qemu/commit/148953849d25f3e4a9a88031ac88921147548cd0
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/excp_helper.c
    M target/ppc/helper.h
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Improve book3s branch trace interrupt for v2.07S

Improve the emulation accuracy of the single step and branch trace
interrupts for v2.07S. Set SRR1[33]=1, and set SIAR to completed
instruction address.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: a11e3a1582b8c0d62ae3ef0323526baf2303e44a
      
https://github.com/qemu/qemu/commit/a11e3a1582b8c0d62ae3ef0323526baf2303e44a
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Suppress single step interrupts on rfi-type instructions

BookS does not take single step interrupts on completion of rfi and
similar (rfid, hrfid, rfscv). This is not a completely clean way to
do it, but in general non-branch instructions that change NIP on
completion are excluded.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 14192307ef6e63c9a0f3c7fe937e26bee95bc6a9
      
https://github.com/qemu/qemu/commit/14192307ef6e63c9a0f3c7fe937e26bee95bc6a9
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/cpu.c
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c
    M target/ppc/helper.h
    M target/ppc/internal.h
    M target/ppc/machine.c
    M target/ppc/misc_helper.c
    M target/ppc/spr_common.h
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Implement breakpoint debug facility for v2.07S

ISA v2.07S introduced the breakpoint facility based on the CIABR SPR.
Implement this in TCG.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: d5ee641cfc5c3cbd51282d0c6e996f990b9d62a3
      
https://github.com/qemu/qemu/commit/d5ee641cfc5c3cbd51282d0c6e996f990b9d62a3
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/cpu.c
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c
    M target/ppc/helper.h
    M target/ppc/internal.h
    M target/ppc/machine.c
    M target/ppc/misc_helper.c
    M target/ppc/spr_common.h
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Implement watchpoint debug facility for v2.07S

ISA v2.07S introduced the watchpoint facility based on the DAWR0
and DAWRX0 SPRs. Implement this in TCG.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 17f826af864a253a388ad1f2e21bdc82b67dd83c
      
https://github.com/qemu/qemu/commit/17f826af864a253a388ad1f2e21bdc82b67dd83c
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/spapr_hcall.c

  Log Message:
  -----------
  spapr: implement H_SET_MODE debug facilities

Wire up the H_SET_MODE debug resources to the CIABR and DAWR0 debug
facilities in TCG.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 2c71b4f6049ef1ed8c75bce7091102be7209a473
      
https://github.com/qemu/qemu/commit/2c71b4f6049ef1ed8c75bce7091102be7209a473
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  ppc/vhyp: reset exception state when handling vhyp hcall

Convention is to reset the exception_index and error_code after handling
an interrupt. The vhyp hcall handler fails to do this. This does not
appear to have ill effects because cpu_handle_exception() clears
exception_index later, but it is fragile and inconsistent. Reset the
exception state after handling vhyp hcall like other handlers.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 7b8589d7ce7e23f26ff53338d575a5cbd7818e28
      
https://github.com/qemu/qemu/commit/7b8589d7ce7e23f26ff53338d575a5cbd7818e28
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/vof.c

  Log Message:
  -----------
  ppc/vof: Fix missed fields in VOF cleanup

Failing to reset the of_instance_last makes ihandle allocation continue
to increase, which causes record-replay replay fail to match the
recorded trace.

Not resetting claimed_base makes VOF eventually run out of memory after
some resets.

Cc: Alexey Kardashevskiy <a...@ozlabs.ru>
Fixes: fc8c745d501 ("spapr: Implement Open Firmware client interface")
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Reviewed-by: Alexey Kardashevskiy <a...@ozlabs.ru>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: eaf832fc3b058ab62e9f2b677f1cba012eb728c2
      
https://github.com/qemu/qemu/commit/eaf832fc3b058ab62e9f2b677f1cba012eb728c2
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/ppc.c

  Log Message:
  -----------
  hw/ppc/ppc.c: Tidy over-long lines

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 7798f5c576d898e7e10c4a2518f3f16411dedeb9
      
https://github.com/qemu/qemu/commit/7798f5c576d898e7e10c4a2518f3f16411dedeb9
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/ppc.c

  Log Message:
  -----------
  hw/ppc: Introduce functions for conversion between timebase and nanoseconds

These calculations are repeated several times, and they will become
a little more complicated with subsequent changes.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 47de6c4c287079744ceb96f606b3c0457addf380
      
https://github.com/qemu/qemu/commit/47de6c4c287079744ceb96f606b3c0457addf380
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M include/qemu/host-utils.h

  Log Message:
  -----------
  host-utils: Add muldiv64_round_up

This will be used for converting time intervals in different base units
to host units, for the purpose of scheduling timers to emulate target
timers. Timers typically must not fire before their requested expiry
time but may fire some time afterward, so rounding up is the right way
to implement these.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
[ clg: renamed __muldiv64() to muldiv64_rounding() ]
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: eab0888418ab44344864965193cf6cd194ab6858
      
https://github.com/qemu/qemu/commit/eab0888418ab44344864965193cf6cd194ab6858
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/ppc.c

  Log Message:
  -----------
  hw/ppc: Round up the decrementer interval when converting to ns

The rule of timers is typically that they should never expire before the
timeout, but some time afterward. Rounding timer intervals up when doing
conversion is the right thing to do.

Under most circumstances it is impossible observe the decrementer
interrupt before the dec register has triggered. However with icount
timing, problems can arise. For example setting DEC to 0 can schedule
the timer for now, causing it to fire before any more instructions
have been executed and DEC is still 0.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 8e0a5ac87800ccc6dd5013f89f27652f4480ab33
      
https://github.com/qemu/qemu/commit/8e0a5ac87800ccc6dd5013f89f27652f4480ab33
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/ppc.c

  Log Message:
  -----------
  hw/ppc: Avoid decrementer rounding errors

The decrementer register contains a relative time in timebase units.
When writing to DECR this is converted and stored as an absolute value
in nanosecond units, reading DECR converts back to relative timebase.

The tb<->ns conversion of the relative part can cause rounding such that
a value writen to the decrementer can read back a different, with time
held constant. This is a particular problem for a deterministic icount
and record-replay trace.

Fix this by storing the absolute value in timebase units rather than
nanoseconds. The math before:
  store:  decr_next = now_ns + decr * ns_per_sec / tb_per_sec
  load:        decr = (decr_next - now_ns) * tb_per_sec / ns_per_sec
  load(store): decr = decr * ns_per_sec / tb_per_sec * tb_per_sec /
                      ns_per_sec

After:
  store:  decr_next = now_ns * tb_per_sec / ns_per_sec + decr
  load:        decr = decr_next - now_ns * tb_per_sec / ns_per_sec
  load(store): decr = decr

Fixes: 9fddaa0c0cab ("PowerPC merge: real time TB and decrementer - faster and 
simpler exception handling (Jocelyn Mayer)")
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: c8fbc6b9f2f3c732ee3307093c1c5c367eaa64ae
      
https://github.com/qemu/qemu/commit/c8fbc6b9f2f3c732ee3307093c1c5c367eaa64ae
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/ppc.c

  Log Message:
  -----------
  target/ppc: Sign-extend large decrementer to 64-bits

When storing a large decrementer value with the most significant
implemented bit set, it is to be treated as a negative and sign
extended.

This isn't hit for book3s DEC because of another bug, fixing it
in the next patch exposes this one and can cause additional
problems, so fix this first. It can be hit with HDECR and other
edge triggered types.

Fixes: a8dafa52518 ("target/ppc: Implement large decrementer support for TCG")
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
[ clg: removed extra cpu and pcc variables shadowing local variables ]
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: febb71d543a8f747b2f8aaf0182d0a385c6a02c3
      
https://github.com/qemu/qemu/commit/febb71d543a8f747b2f8aaf0182d0a385c6a02c3
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/ppc.c

  Log Message:
  -----------
  hw/ppc: Always store the decrementer value

When writing a value to the decrementer that raises an exception, the
irq is raised, but the value is not stored so the store doesn't appear
to have changed the register when it is read again.

Always store the write value to the register.

Fixes: e81a982aa53 ("PPC: Clean up DECR implementation")
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 578912ad7312ececb9a88b4c38d406dda640346d
      
https://github.com/qemu/qemu/commit/578912ad7312ececb9a88b4c38d406dda640346d
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/machine.c

  Log Message:
  -----------
  target/ppc: Migrate DECR SPR

TCG does not maintain the DEC reigster in the SPR array, so it does get
migrated. TCG also needs to re-start the decrementer timer on the
destination machine.

Load and store the decrementer into the SPR when migrating. This works
for the level-triggered (book3s) decrementer, and should be compatible
with existing KVM machines that do keep the DEC value there.

This fixes lost decrementer interrupt on migration that can cause
hangs, as well as other problems including record-replay bugs.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 30d0647bcfa99d4a141eaa843a9fb5b091ddbb76
      
https://github.com/qemu/qemu/commit/30d0647bcfa99d4a141eaa843a9fb5b091ddbb76
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/mac_oldworld.c
    M hw/ppc/pegasos2.c
    M hw/ppc/pnv_core.c
    M hw/ppc/ppc.c
    M hw/ppc/prep.c
    M hw/ppc/spapr_cpu_core.c
    M include/hw/ppc/ppc.h

  Log Message:
  -----------
  hw/ppc: Reset timebase facilities on machine reset

Lower interrupts, delete timers, and set time facility registers
back to initial state on machine reset.

This is not so important for record-replay since timebase and
decrementer are migrated, but it gives a cleaner reset state.

Cc: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
Cc: BALATON Zoltan <bala...@eik.bme.hu>
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
[ clg: checkpatch.pl fixes ]
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: ea62f8a5172cf5fcd97df143b758730f6865a625
      
https://github.com/qemu/qemu/commit/ea62f8a5172cf5fcd97df143b758730f6865a625
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/ppc.c

  Log Message:
  -----------
  hw/ppc: Read time only once to perform decrementer write

Reading the time more than once to perform an operation always increases
complexity and fragility due to introduced deltas. Simplify the
decrementer write by reading the clock once for the operation.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: cdab53dd223ca5417a70feedb6f8692e5c080aba
      
https://github.com/qemu/qemu/commit/cdab53dd223ca5417a70feedb6f8692e5c080aba
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/cpu.h
    M target/ppc/machine.c
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Fix CPU reservation migration for record-replay

ppc only migrates reserve_addr, so the destination machine can get a
valid reservation with an incorrect reservation value of 0. Prior to
commit 392d328abe753 ("target/ppc: Ensure stcx size matches larx"),
this could permit a stcx. to incorrectly succeed. That commit
inadvertently fixed that bug because the target machine starts with an
impossible reservation size of 0, so any stcx. will fail.

This behaviour is permitted by the ISA because reservation loss may
have implementation-dependent cause. What's more, with KVM machines it
is impossible save or reasonably restore reservation state. However if
the vmstate is being used for record-replay, the reservation must be
saved and restored exactly in order for execution from snapshot to
match the record.

This patch deprecates the existing incomplete reserve_addr vmstate,
and adds a new vmstate subsection with complete reservation state.
The new vmstate is needed only when record-replay mode is active.

Acked-by: Pavel Dovgalyuk <pavel.dovgal...@ispras.ru>
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 9db680f8fd483521597564b52843151991b3ed55
      
https://github.com/qemu/qemu/commit/9db680f8fd483521597564b52843151991b3ed55
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/ppc.c

  Log Message:
  -----------
  target/ppc: Fix timebase reset with record-replay

Timebase save uses a random number for a legacy vmstate field, which
makes rr snapshot loading unbalanced. The easiest way to deal with this
is just to skip the rng if record-replay is active.

Reviewed-by: Pavel Dovgalyuk <pavel.dovgal...@ispras.ru>
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 9c7b7f01f982a22b06c0d2f49a0d2466b5f34485
      
https://github.com/qemu/qemu/commit/9c7b7f01f982a22b06c0d2f49a0d2466b5f34485
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/spapr.c
    M include/hw/ppc/spapr.h
    M target/ppc/compat.c
    M target/ppc/cpu.h

  Log Message:
  -----------
  spapr: Fix machine reset deadlock from replay-record

When the machine is reset to load a new snapshot while being debugged
with replay-record, it is done from another thread, so the CPU does
not run the register setting operations. Set CPU registers directly in
machine reset.

Cc: Pavel Dovgalyuk <pavel.dovgal...@ispras.ru>
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: b27fcb288bbdb9e2d89ce9ee578a8869f14c579c
      
https://github.com/qemu/qemu/commit/b27fcb288bbdb9e2d89ce9ee578a8869f14c579c
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/spapr.c
    M include/hw/ppc/spapr.h

  Log Message:
  -----------
  spapr: Fix record-replay machine reset consuming too many events

spapr_machine_reset gets a random number to populate the device-tree
rng seed with. When loading a snapshot for record-replay, the machine
is reset again, and that tries to consume the random event record
again, crashing due to inconsistent record

Fix this by saving the seed to populate the device tree with, and
skipping the rng on snapshot load.

Acked-by: Pavel Dovgalyuk <pavel.dovgal...@ispras.ru>
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: d08c825c80176b5318e9c2b2a3667f8e59f50ffc
      
https://github.com/qemu/qemu/commit/d08c825c80176b5318e9c2b2a3667f8e59f50ffc
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M tests/avocado/replay_kernel.py

  Log Message:
  -----------
  tests/avocado: boot ppc64 pseries replay-record test to Linux VFS mount

This the ppc64 record-replay test is able to replay the full kernel boot
so try enabling it.

Acked-by: Pavel Dovgalyuk <pavel.dovgal...@ispras.ru>
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 76e9c1dfb9634be2a3ae35c7b663753c6151a526
      
https://github.com/qemu/qemu/commit/76e9c1dfb9634be2a3ae35c7b663753c6151a526
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M tests/avocado/reverse_debugging.py

  Log Message:
  -----------
  tests/avocado: reverse-debugging cope with re-executing breakpoints

The reverse-debugging test creates a trace, then replays it and:

1. Steps the first 10 instructions and records their addresses.
2. Steps backward and verifies their addresses match.
3. Runs to (near) the end of the trace.
4. Sets breakpoints on the first 10 instructions.
5. Continues backward and verifies execution stops at the last
   breakpoint.

Step 5 breaks if any of the other 9 breakpoints are re-executed in the
trace after the 10th instruction is run, because those will be
unexpectedly hit when reverse continuing. This situation does arise
with the ppc pseries machine, the SLOF bios branches to its own entry
point.

Deal with this by switching steps 3 and 4, so the trace will be run to
the end *or* one of the breakpoints being re-executed. Step 5 then
reverses from there to the 10th instruction will not hit a breakpoint in
between, by definition.

Another step is added between steps 2 and 3, which steps forward over
the first 10 instructions and verifies their addresses, to support this.

Reviewed-by: Pavel Dovgalyuk <pavel.dovgal...@ispras.ru>
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 761a13b239468c1dd175c2d93fc09c1693a937e7
      
https://github.com/qemu/qemu/commit/761a13b239468c1dd175c2d93fc09c1693a937e7
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M tests/avocado/reverse_debugging.py

  Log Message:
  -----------
  tests/avocado: ppc64 reverse debugging tests for pseries and powernv

These machines run reverse-debugging well enough to pass basic tests.
Wire them up.

Reviewed-by: Pavel Dovgalyuk <pavel.dovgal...@ispras.ru>
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 718209358f2e4f231cbacf974c3299c4fe7beb83
      
https://github.com/qemu/qemu/commit/718209358f2e4f231cbacf974c3299c4fe7beb83
  Author: Nicholas Piggin <npig...@gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/translate/fixedpoint-impl.c.inc

  Log Message:
  -----------
  target/ppc: Fix LQ, STQ register-pair order for big-endian

LQ, STQ have the same register-pair ordering as LQARX/STQARX., which is
the even (lower) register contains the most significant bits. This is
not implemented correctly for big-endian.

do_ldst_quad() has variables low_addr_gpr and high_addr_gpr which is
confusing because they are low and high addresses, whereas LQARX/STQARX.
and most such things use the low and high values for lo/hi variables.
The conversion to native 128-bit memory access functions missed this
strangeness.

Fix this by changing the if condition, and change the variable names to
hi/lo to match convention.

Cc: qemu-sta...@nongnu.org
Reported-by: Ivan Warren <i...@vmfacility.fr>
Fixes: 57b38ffd0c6f ("target/ppc: Use tcg_gen_qemu_{ld,st}_i128 for LQARX, LQ, 
STQ")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1836
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: af03aeb631eeb81a44d2c0ff5b429cd4b5dc2799
      
https://github.com/qemu/qemu/commit/af03aeb631eeb81a44d2c0ff5b429cd4b5dc2799
  Author: Richard Henderson <richard.hender...@linaro.org>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M target/ppc/cpu.c

  Log Message:
  -----------
  target/ppc: Flush inputs to zero with NJ in ppc_store_vscr

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1779
Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
Reviewed-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 6ec65b69ba17c954414fa23a397fb8a3fcfb4a43
      
https://github.com/qemu/qemu/commit/6ec65b69ba17c954414fa23a397fb8a3fcfb4a43
  Author: Maksim Kostin <maksim.kos...@ispras.ru>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/e500.c

  Log Message:
  -----------
  hw/ppc/e500: fix broken snapshot replay

ppce500_reset_device_tree is registered for system reset, but after
c4b075318eb1 this function rerandomizes rng-seed via
qemu_guest_getrandom_nofail. And when loading a snapshot, it tries to read
EVENT_RANDOM that doesn't exist, so we have an error:

  qemu-system-ppc: Missing random event in the replay log

To fix this, use qemu_register_reset_nosnapshotload instead of
qemu_register_reset.

Reported-by: Vitaly Cheptsov <chept...@ispras.ru>
Fixes: c4b075318eb1 ("hw/ppc: pass random seed to fdt ")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1634
Signed-off-by: Maksim Kostin <maksim.kos...@ispras.ru>
Reviewed-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 76d93e146768dde7e38b6e5e43c27e478ccb580e
      
https://github.com/qemu/qemu/commit/76d93e146768dde7e38b6e5e43c27e478ccb580e
  Author: jianchunfu <chunfu.j...@shingroup.cn>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ppc/ppc.c
    M target/ppc/kvm.c

  Log Message:
  -----------
  target/ppc: Fix the order of kvm_enable judgment about kvmppc_set_interrupt()

It's unnecessary for non-KVM accelerators(TCG, for example),
to call this function, so change the order of kvm_enable() judgment.

The static inline function that returns -1 directly does not work
 in TCG's situation.

Signed-off-by: jianchunfu <chunfu.j...@shingroup.cn>
Tested-by: Gautam Menghani <gau...@linux.ibm.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: ed409be14c00a4d818e63fed0f4537c845bf319c
      
https://github.com/qemu/qemu/commit/ed409be14c00a4d818e63fed0f4537c845bf319c
  Author: Cédric Le Goater <c...@kaod.org>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/intc/pnv_xive.c
    M hw/intc/pnv_xive2.c

  Log Message:
  -----------
  ppc/xive: Use address_space routines to access the machine RAM

to log an error in case of bad configuration of the XIVE tables by the FW.

Reviewed-by: Frederic Barrat <fbar...@linux.ibm.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: 56e08e77dee92269e80727ff4692fb1931d3dab1
      
https://github.com/qemu/qemu/commit/56e08e77dee92269e80727ff4692fb1931d3dab1
  Author: Cédric Le Goater <c...@kaod.org>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/intc/xive.c
    M include/hw/ppc/xive.h

  Log Message:
  -----------
  ppc/xive: Introduce a new XiveRouter end_notify() handler

It will help us model the END triggers on the PowerNV machine, which
can be rerouted to another interrupt controller.

Reviewed-by: Frederic Barrat <fbar...@linux.ibm.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: f2c1e591fa3adb964337daa85be1f86cd7a20a0a
      
https://github.com/qemu/qemu/commit/f2c1e591fa3adb964337daa85be1f86cd7a20a0a
  Author: Cédric Le Goater <c...@kaod.org>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/intc/pnv_xive.c
    M hw/intc/pnv_xive_regs.h

  Log Message:
  -----------
  ppc/xive: Handle END triggers between chips with MMIOs

The notify page of the interrupt controller can either be used to
receive trigger events from the HW controllers (PHB, PSI) or to
reroute interrupts between Interrupt Controllers. In which case, the
VSD table is used to determine the address of the notify page of the
remote IC and the store data is forwarded.

Today, our model grabs the remote VSD (EAS, END, NVT) address using
pnv_xive_get_remote() helper. Be more precise and implement remote END
triggers using a store on the remote IC notify page.

We still have a shortcut in the model for the NVT accesses which we
will address later.

Reviewed-by: Frederic Barrat <fbar...@linux.ibm.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: b68147b7a5bf6ea2c2b8a8830465e7e90bb2a77c
      
https://github.com/qemu/qemu/commit/b68147b7a5bf6ea2c2b8a8830465e7e90bb2a77c
  Author: Cédric Le Goater <c...@kaod.org>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/intc/pnv_xive.c

  Log Message:
  -----------
  ppc/xive: Add support for the PC MMIOs

The XIVE interrupt contoller maintains various fields on interrupt
targets in a structure called NVT. Each unit has a NVT cache, backed
by RAM.

When the NVT structure is not local (in RAM) to the chip, the XIVE
interrupt controller forwards the memory operation to the owning chip
using the PC MMIO region configured for this purpose. QEMU does not
need to be so precise since software shouldn't perform any of these
operations. The model implementation is simplified to return the RAM
address of the NVT structure which is then used by pnv_xive_vst_write
or read to perform the operation in RAM.

Remove the last use of pnv_xive_get_remote().

Reviewed-by: Frederic Barrat <fbar...@linux.ibm.com>
Signed-off-by: Cédric Le Goater <c...@kaod.org>


  Commit: bb20ec6b8b940131cef441ac7c433fe82150ba09
      
https://github.com/qemu/qemu/commit/bb20ec6b8b940131cef441ac7c433fe82150ba09
  Author: Denis V. Lunev <d...@openvz.org>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: add tree to keep parallels format driver changes

Driver changes are driving by me for now. At least we need to get
functionally complete check and repair procedure for now.

Signed-off-by: Denis V. Lunev <d...@openvz.org>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@yandex-team.ru>
CC: Stefan Hajnoczi <stefa...@redhat.com>


  Commit: a338dcbbabb04c5dc0fd36d29f14deb8669a8db6
      
https://github.com/qemu/qemu/commit/a338dcbbabb04c5dc0fd36d29f14deb8669a8db6
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  parallels: Fix comments formatting inside parallels driver

This patch is technically necessary as git patch rendering could result
in moving some code from one place to the another and that hits
checkpatch.pl warning. This problem specifically happens within next
series.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: fcadb4866204fe5788969296ffce682e22109107
      
https://github.com/qemu/qemu/commit/fcadb4866204fe5788969296ffce682e22109107
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  parallels: Incorrect data end calculation in parallels_open()

The BDRVParallelsState structure contains data_end field that is measured
in sectors. In parallels_open() initially this field is set by data_off
field from parallels image header.

According to the parallels format documentation, data_off field contains
an offset, in sectors, from the start of the file to the start of the
data area. For "WithoutFreeSpace" images: if data_off is zero, the offset
is calculated as the end of the BAT table plus some padding to ensure
sector size alignment.

The parallels_open() function has code for handling zero value in
data_off, but in the result data_end contains the offset in bytes.

Replace the alignment to sector size by division by sector size and fix
the comparision with s->header_size.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Reviewed-by: Hanna Czenczek <hre...@redhat.com>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: 09eb64f9e354f9af23a5c8b3b8021eb5969fc68a
      
https://github.com/qemu/qemu/commit/09eb64f9e354f9af23a5c8b3b8021eb5969fc68a
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  parallels: Check if data_end greater than the file size

Initially data_end is set to the data_off image header field and must not
be greater than the file size.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: 728e10173b80d2d393eea18403d66a53e6ee5f9c
      
https://github.com/qemu/qemu/commit/728e10173b80d2d393eea18403d66a53e6ee5f9c
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  parallels: Add "explicit" argument to parallels_check_leak()

In the on of the next patches we need to repair leaks without changing
leaks and leaks_fixed info in res. Also we don't want to print any warning
about leaks. Add "explicit" argument to skip info changing if the argument
is false.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: c0b154533ee55b875176f632fe06993f7661b25a
      
https://github.com/qemu/qemu/commit/c0b154533ee55b875176f632fe06993f7661b25a
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M block/parallels.c
    M block/parallels.h

  Log Message:
  -----------
  parallels: Add data_start field to BDRVParallelsState

In the next patch we will need the offset of the data area for host cluster
index calculation. Add this field and setting up code.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: 6bb8bc63677adf16af663d863e5fe943244bf879
      
https://github.com/qemu/qemu/commit/6bb8bc63677adf16af663d863e5fe943244bf879
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  parallels: Add checking and repairing duplicate offsets in BAT

Cluster offsets must be unique among all the BAT entries. Find duplicate
offsets in the BAT and fix it by copying the content of the relevant
cluster to a newly allocated cluster and set the new cluster offset to the
duplicated entry.

Add host_cluster_index() helper to deduplicate the code.

When new clusters are allocated, the file size increases by 128 Mb. Call
parallels_check_leak() to fix this leak.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: cfce1091d55322789582480798a891cbaf66924e
      
https://github.com/qemu/qemu/commit/cfce1091d55322789582480798a891cbaf66924e
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  parallels: Image repairing in parallels_open()

Repair an image at opening if the image is unclean or out-of-image
corruption was detected.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: 7c5f86d5ff36ddff17454d510e76064f2d650b27
      
https://github.com/qemu/qemu/commit/7c5f86d5ff36ddff17454d510e76064f2d650b27
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  parallels: Use bdrv_co_getlength() in parallels_check_outside_image()

bdrv_co_getlength() should be used in coroutine context. Replace
bdrv_getlength() by bdrv_co_getlength() in parallels_check_outside_image().

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: 8cd19203f46f1374d6b45291e1c5a45706dbc3aa
      
https://github.com/qemu/qemu/commit/8cd19203f46f1374d6b45291e1c5a45706dbc3aa
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  parallels: Add data_off check

data_off field of the parallels image header can be corrupted. Check if
this field greater than the header + BAT size and less than file size.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: c89d4362dc01a60831d6a69affa220573fa9b029
      
https://github.com/qemu/qemu/commit/c89d4362dc01a60831d6a69affa220573fa9b029
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  parallels: Add data_off repairing to parallels_open()

Place data_start/data_end calculation after reading the image header
to s->header. Set s->data_start to the offset calculated in
parallels_test_data_off(). Call bdrv_check() if data_off is incorrect.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: ab8e1f48c22cd5f9a9391d8d65451b7fc183d23d
      
https://github.com/qemu/qemu/commit/ab8e1f48c22cd5f9a9391d8d65451b7fc183d23d
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    A tests/qemu-iotests/tests/parallels-checks
    A tests/qemu-iotests/tests/parallels-checks.out

  Log Message:
  -----------
  iotests: Add out-of-image check test for parallels format

Fill the image with a pattern to generate entries in the BAT, set the first
BAT entry outside the image, try to read the corrupted image. At the image
opening it should be repaired, check for zeroes in the first cluster.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: 95bdb2d539f057b877ee67ded4e9853d68d43a53
      
https://github.com/qemu/qemu/commit/95bdb2d539f057b877ee67ded4e9853d68d43a53
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M tests/qemu-iotests/tests/parallels-checks
    M tests/qemu-iotests/tests/parallels-checks.out

  Log Message:
  -----------
  iotests: Add leak check test for parallels format

Write a pattern to the last cluster, extend the image by 1 claster, repair
and check that the last cluster still has the same pattern.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: 826e7ea0acc399e58a03d840e1de3f36a7602aac
      
https://github.com/qemu/qemu/commit/826e7ea0acc399e58a03d840e1de3f36a7602aac
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M tests/qemu-iotests/tests/parallels-checks
    M tests/qemu-iotests/tests/parallels-checks.out

  Log Message:
  -----------
  iotests: Add test for BAT entries duplication check

Fill a parallels image with a pattern and write another pattern to the
second cluster. Corrupt the image and check if the pattern changes. Repair
the image and check the patterns on guest and host sides.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: dbfc55606ac7214c0cc53aaa37ca86f40824a93b
      
https://github.com/qemu/qemu/commit/dbfc55606ac7214c0cc53aaa37ca86f40824a93b
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M tests/qemu-iotests/131

  Log Message:
  -----------
  iotests: Refactor tests of parallels images checks (131)

Replace hardcoded numbers by variables.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: 8e10861b7d7e0bb73cba02aff2a271d4dcc95fe5
      
https://github.com/qemu/qemu/commit/8e10861b7d7e0bb73cba02aff2a271d4dcc95fe5
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M tests/qemu-iotests/131
    M tests/qemu-iotests/131.out

  Log Message:
  -----------
  iotests: Fix cluster size in parallels images tests (131)

In this test cluster size is 64k, but modern tools generate images with
cluster size 1M. Calculate cluster size using track field from image header.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: e3820d5f13188cd7e63109ca70ab47916f18ca6e
      
https://github.com/qemu/qemu/commit/e3820d5f13188cd7e63109ca70ab47916f18ca6e
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M tests/qemu-iotests/131
    M tests/qemu-iotests/131.out

  Log Message:
  -----------
  iotests: Fix test 131 after repair was added to parallels_open()

Images repairing in parallels_open() was added, thus parallels tests fail.
Access to an image leads to repairing the image. Further image check don't
detect any corruption. Remove reads after image creation in test 131.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: 06fca745d5ba3be8b693985e6075d6ba2782f145
      
https://github.com/qemu/qemu/commit/06fca745d5ba3be8b693985e6075d6ba2782f145
  Author: Alexander Ivanov <alexander.iva...@virtuozzo.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M tests/qemu-iotests/tests/parallels-checks
    M tests/qemu-iotests/tests/parallels-checks.out

  Log Message:
  -----------
  iotests: Add test for data_off check

Write a pattern to the first cluster. Corrupt the data_off field and check
if the field was repaired on image opening and the pattern has not changed.

Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com>
Reviewed-by: Denis V. Lunev <d...@openvz.org>
Signed-off-by: Denis V. Lunev <d...@openvz.org>


  Commit: c3461c6264a7c8ca15b117e91fe5da786924a784
      
https://github.com/qemu/qemu/commit/c3461c6264a7c8ca15b117e91fe5da786924a784
  Author: Niklas Cassel <niklas.cas...@wdc.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  hw/ide/core: set ERR_STAT in unsupported command completion

Currently, the first time sending an unsupported command
(e.g. READ LOG DMA EXT) will not have ERR_STAT set in the completion.
Sending the unsupported command again, will correctly have ERR_STAT set.

When ide_cmd_permitted() returns false, it calls ide_abort_command().
ide_abort_command() first calls ide_transfer_stop(), which will call
ide_transfer_halt() and ide_cmd_done(), after that ide_abort_command()
sets ERR_STAT in status.

ide_cmd_done() for AHCI will call ahci_write_fis_d2h() which writes the
current status in the FIS, and raises an IRQ. (The status here will not
have ERR_STAT set!).

Thus, we cannot call ide_transfer_stop() before setting ERR_STAT, as
ide_transfer_stop() will result in the FIS being written and an IRQ
being raised.

The reason why it works the second time, is that ERR_STAT will still
be set from the previous command, so when writing the FIS, the
completion will correctly have ERR_STAT set.

Set ERR_STAT before writing the FIS (calling cmd_done), so that we will
raise an error IRQ correctly when receiving an unsupported command.

Signed-off-by: Niklas Cassel <niklas.cas...@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-id: 20230609140844.202795-3-...@flawful.org
Signed-off-by: John Snow <js...@redhat.com>


  Commit: 2967dc8209dd27b61a6ab7bad78cf7c6ec58ddb4
      
https://github.com/qemu/qemu/commit/2967dc8209dd27b61a6ab7bad78cf7c6ec58ddb4
  Author: Niklas Cassel <niklas.cas...@wdc.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  hw/ide/ahci: write D2H FIS when processing NCQ command

The way that BUSY + PxCI is cleared for NCQ (FPDMA QUEUED) commands is
described in SATA 3.5a Gold:

11.15 FPDMA QUEUED command protocol
DFPDMAQ2: ClearInterfaceBsy
"Transmit Register Device to Host FIS with the BSY bit cleared to zero
and the DRQ bit cleared to zero and Interrupt bit cleared to zero to
mark interface ready for the next command."

PxCI is currently cleared by handle_cmd(), but we don't write the D2H
FIS to the FIS Receive Area that actually caused PxCI to be cleared.

Similar to how ahci_pio_transfer() calls ahci_write_fis_pio() with an
additional parameter to write a PIO Setup FIS without raising an IRQ,
add a parameter to ahci_write_fis_d2h() so that ahci_write_fis_d2h()
also can write the FIS to the FIS Receive Area without raising an IRQ.

Change process_ncq_command() to call ahci_write_fis_d2h() without
raising an IRQ (similar to ahci_pio_transfer()), such that the FIS
Receive Area is in sync with the PxTFD shadow register.

E.g. Linux reads status and error fields from the FIS Receive Area
directly, so it is wise to keep the FIS Receive Area and the PxTFD
shadow register in sync.

Signed-off-by: Niklas Cassel <niklas.cas...@wdc.com>
Message-id: 20230609140844.202795-4-...@flawful.org
Signed-off-by: John Snow <js...@redhat.com>


  Commit: e2a5d9b3d9c3d311618160603cc9bc04fbd98796
      
https://github.com/qemu/qemu/commit/e2a5d9b3d9c3d311618160603cc9bc04fbd98796
  Author: Niklas Cassel <niklas.cas...@wdc.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  hw/ide/ahci: simplify and document PxCI handling

The AHCI spec states that:
For NCQ, PxCI is cleared on command queued successfully.

For non-NCQ, PxCI is cleared on command completed successfully.
(A non-NCQ command that completes with error does not clear PxCI.)

The current QEMU implementation either clears PxCI in check_cmd(),
or in ahci_cmd_done().

check_cmd() will clear PxCI for a command if handle_cmd() returns 0.
handle_cmd() will return -1 if BUSY or DRQ is set.

The QEMU implementation for NCQ commands will currently not set BUSY
or DRQ, so they will always have PxCI cleared by handle_cmd().
ahci_cmd_done() will never even get called for NCQ commands.

Non-NCQ commands are executed by ide_bus_exec_cmd().
Non-NCQ commands in QEMU are implemented either in a sync or in an async
way.

For non-NCQ commands implemented in a sync way, the command handler will
return true, and when ide_bus_exec_cmd() sees that a command handler
returns true, it will call ide_cmd_done() (which will call
ahci_cmd_done()). For a command implemented in a sync way,
ahci_cmd_done() will do nothing (since busy_slot is not set). Instead,
after ide_bus_exec_cmd() has finished, check_cmd() will clear PxCI for
these commands.

For non-NCQ commands implemented in an async way (using either aiocb or
pio_aiocb), the command handler will return false, ide_bus_exec_cmd()
will not call ide_cmd_done(), instead it is expected that the async
callback function will call ide_cmd_done() once the async command is
done. handle_cmd() will set busy_slot, if and only if BUSY or DRQ is
set, and this is checked _after_ ide_bus_exec_cmd() has returned.
handle_cmd() will return -1, so check_cmd() will not clear PxCI.
When the async callback calls ide_cmd_done() (which will call
ahci_cmd_done()), it will see that busy_slot is set, and
ahci_cmd_done() will clear PxCI.

This seems racy, since busy_slot is set _after_ ide_bus_exec_cmd() has
returned. The callback might come before busy_slot gets set. And it is
quite confusing that ahci_cmd_done() will be called for all non-NCQ
commands when the command is done, but will only clear PxCI in certain
cases, even though it will always write a D2H FIS and raise an IRQ.

Even worse, in the case where ahci_cmd_done() does not clear PxCI, it
still raises an IRQ. Host software might thus read an old PxCI value,
since PxCI is cleared (by check_cmd()) after the IRQ has been raised.

Try to simplify this by always setting busy_slot for non-NCQ commands,
such that ahci_cmd_done() will always be responsible for clearing PxCI
for non-NCQ commands.

For NCQ commands, clear PxCI when we receive the D2H FIS, but before
raising the IRQ, see AHCI 1.3.1, section 5.3.8, states RegFIS:Entry and
RegFIS:ClearCI.

Signed-off-by: Niklas Cassel <niklas.cas...@wdc.com>
Message-id: 20230609140844.202795-5-...@flawful.org
Signed-off-by: John Snow <js...@redhat.com>


  Commit: d73b84d0b664e60fffb66f46e84d0db4a8e1c713
      
https://github.com/qemu/qemu/commit/d73b84d0b664e60fffb66f46e84d0db4a8e1c713
  Author: Niklas Cassel <niklas.cas...@wdc.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  hw/ide/ahci: PxSACT and PxCI is cleared when PxCMD.ST is cleared

According to AHCI 1.3.1 definition of PxSACT:
This field is cleared when PxCMD.ST is written from a '1' to a '0' by
software. This field is not cleared by a COMRESET or a software reset.

According to AHCI 1.3.1 definition of PxCI:
This field is also cleared when PxCMD.ST is written from a '1' to a '0'
by software.

Clearing PxCMD.ST is part of the error recovery procedure, see
AHCI 1.3.1, section "6.2 Error Recovery".

If we don't clear PxCI on error recovery, the previous command will
incorrectly still be marked as pending after error recovery.

Signed-off-by: Niklas Cassel <niklas.cas...@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-id: 20230609140844.202795-6-...@flawful.org
Signed-off-by: John Snow <js...@redhat.com>


  Commit: 1a16ce64fda11bdf50f0c4ab5d9fdde72c1383a2
      
https://github.com/qemu/qemu/commit/1a16ce64fda11bdf50f0c4ab5d9fdde72c1383a2
  Author: Niklas Cassel <niklas.cas...@wdc.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ide/ahci.c
    M tests/qtest/libqos/ahci.c
    M tests/qtest/libqos/ahci.h

  Log Message:
  -----------
  hw/ide/ahci: PxCI should not get cleared when ERR_STAT is set

For NCQ, PxCI is cleared on command queued successfully.
For non-NCQ, PxCI is cleared on command completed successfully.
Successfully means ERR_STAT, BUSY and DRQ are all cleared.

A command that has ERR_STAT set, does not get to clear PxCI.
See AHCI 1.3.1, section 5.3.8, states RegFIS:Entry and RegFIS:ClearCI,
and 5.3.16.5 ERR:FatalTaskfile.

In the case of non-NCQ commands, not clearing PxCI is needed in order
for host software to be able to see which command slot that failed.

Signed-off-by: Niklas Cassel <niklas.cas...@wdc.com>
Message-id: 20230609140844.202795-7-...@flawful.org
Signed-off-by: John Snow <js...@redhat.com>


  Commit: 7e85cb0db4c693b4e084a00e66fe73a22ed1688a
      
https://github.com/qemu/qemu/commit/7e85cb0db4c693b4e084a00e66fe73a22ed1688a
  Author: Niklas Cassel <niklas.cas...@wdc.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  hw/ide/ahci: fix ahci_write_fis_sdb()

When there is an error, we need to raise a TFES error irq, see AHCI 1.3.1,
5.3.13.1 SDB:Entry.

If ERR_STAT is set, we jump to state ERR:FatalTaskfile, which will raise
a TFES IRQ unconditionally, regardless if the I bit is set in the FIS or
not.

Thus, we should never raise a normal IRQ after having sent an error IRQ.

It is valid to signal successfully completed commands as finished in the
same SDB FIS that generates the error IRQ. The important thing is that
commands that did not complete successfully (e.g. commands that were
aborted, do not get the finished bit set).

Before this commit, there was never a TFES IRQ raised on NCQ error.

Signed-off-by: Niklas Cassel <niklas.cas...@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-id: 20230609140844.202795-8-...@flawful.org
Signed-off-by: John Snow <js...@redhat.com>


  Commit: 9f89423537653de07ca40c18b5ff5b70b104cc93
      
https://github.com/qemu/qemu/commit/9f89423537653de07ca40c18b5ff5b70b104cc93
  Author: Niklas Cassel <niklas.cas...@wdc.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  hw/ide/ahci: fix broken SError handling

When encountering an NCQ error, you should not write the NCQ tag to the
SError register. This is completely wrong.

The SError register has a clear definition, where each bit represents a
different error, see PxSERR definition in AHCI 1.3.1.

If we write a random value (like the NCQ tag) in SError, e.g. Linux will
read SError, and will trigger arbitrary error handling depending on the
NCQ tag that happened to be executing.

In case of success, ncq_cb() will call ncq_finish().
In case of error, ncq_cb() will call ncq_err() (which will clear
ncq_tfs->used), and then call ncq_finish(), thus using ncq_tfs->used is
sufficient to tell if finished should get set or not.

Signed-off-by: Niklas Cassel <niklas.cas...@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-id: 20230609140844.202795-9-...@flawful.org
Signed-off-by: John Snow <js...@redhat.com>


  Commit: 07c4523c6c5049ebd952fc7b176f26f028d4851a
      
https://github.com/qemu/qemu/commit/07c4523c6c5049ebd952fc7b176f26f028d4851a
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M contrib/plugins/Makefile

  Log Message:
  -----------
  contrib/plugins: remove -soname argument

-soname is not needed for runtime-loaded modules.  For example, Meson says:

            if not isinstance(target, build.SharedModule) or 
target.force_soname:
                # Add -Wl,-soname arguments on Linux, -install_name on OS X
                commands += linker.get_soname_args(
                    self.environment, target.prefix, target.name, target.suffix,
                    target.soversion, target.darwin_versions)

(force_soname is set is shared modules are linked into a build target, which is 
not
the case here.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 86e49b2ed889616a1fd3685f19f8c82ed5597245
      
https://github.com/qemu/qemu/commit/86e49b2ed889616a1fd3685f19f8c82ed5597245
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M contrib/plugins/cache.c

  Log Message:
  -----------
  contrib/plugins/cache: Fix string format

This fixes on Darwin:

  plugins/cache.c:550:28: warning: format specifies type 'unsigned long' but 
the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                             l1_daccess,
                             ^~~~~~~~~~
  plugins/cache.c:551:28: warning: format specifies type 'unsigned long' but 
the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                             l1_dmisses,
                             ^~~~~~~~~~
  plugins/cache.c:553:28: warning: format specifies type 'unsigned long' but 
the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                             l1_iaccess,
                             ^~~~~~~~~~
  plugins/cache.c:554:28: warning: format specifies type 'unsigned long' but 
the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                             l1_imisses,
                             ^~~~~~~~~~
  plugins/cache.c:560:32: warning: format specifies type 'unsigned long' but 
the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                 l2_access,
                                 ^~~~~~~~~
  plugins/cache.c:561:32: warning: format specifies type 'unsigned long' but 
the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                 l2_misses,
                                 ^~~~~~~~~
  plugins/cache.c:665:52: warning: format specifies type 'long' but the 
argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
          g_string_append_printf(rep, ", %ld, %s\n", insn->l1_dmisses,
                                         ~~~         ^~~~~~~~~~~~~~~~
                                         %llu
  plugins/cache.c:678:52: warning: format specifies type 'long' but the 
argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
          g_string_append_printf(rep, ", %ld, %s\n", insn->l1_imisses,
                                         ~~~         ^~~~~~~~~~~~~~~~
                                         %llu
  plugins/cache.c:695:52: warning: format specifies type 'long' but the 
argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
          g_string_append_printf(rep, ", %ld, %s\n", insn->l2_misses,
                                         ~~~         ^~~~~~~~~~~~~~~
                                         %llu

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230907105004.88600-2-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 3df17650730fcc84a551baf34133e22e96101c84
      
https://github.com/qemu/qemu/commit/3df17650730fcc84a551baf34133e22e96101c84
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M contrib/plugins/drcov.c

  Log Message:
  -----------
  contrib/plugins/drcov: Fix string format

This fixes on Darwin:

  plugins/drcov.c:52:13: warning: format specifies type 'unsigned long' but the 
argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
              start_code, end_code, entry, path);
              ^~~~~~~~~~
  plugins/drcov.c:52:25: warning: format specifies type 'unsigned long' but the 
argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
              start_code, end_code, entry, path);
                          ^~~~~~~~
  plugins/drcov.c:52:35: warning: format specifies type 'unsigned long' but the 
argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
              start_code, end_code, entry, path);
                                    ^~~~~

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230907105004.88600-3-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 9b60d6a1008b0ae2a38671dbeb03e08a7b45798a
      
https://github.com/qemu/qemu/commit/9b60d6a1008b0ae2a38671dbeb03e08a7b45798a
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M contrib/plugins/howvec.c

  Log Message:
  -----------
  contrib/plugins/howvec: Fix string format

This fixes on Darwin:

  plugins/howvec.c:186:40: warning: format specifies type 'long' but the 
argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                         class->count);
                                         ^~~~~~~~~~~~
  plugins/howvec.c:213:36: warning: format specifies type 'long' but the 
argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                     rec->count,
                                     ^~~~~~~~~~

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230907105004.88600-4-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 3045019fc9d4fbfe62a23b9c4eacb2a5ee944d4d
      
https://github.com/qemu/qemu/commit/3045019fc9d4fbfe62a23b9c4eacb2a5ee944d4d
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M contrib/plugins/lockstep.c

  Log Message:
  -----------
  contrib/plugins/lockstep: Fix string format

This fixes on Darwin:

  plugins/lockstep.c:138:25: warning: format specifies type 'unsigned long' but 
the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                          us->pc, them->pc, g_slist_length(divergence_log),
                          ^~~~~~
  plugins/lockstep.c:138:33: warning: format specifies type 'unsigned long' but 
the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                          us->pc, them->pc, g_slist_length(divergence_log),
                                  ^~~~~~~~
  plugins/lockstep.c:148:25: warning: format specifies type 'unsigned long' but 
the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                          us->pc, us->insn_count, them->pc, them->insn_count);
                          ^~~~~~
  plugins/lockstep.c:148:49: warning: format specifies type 'unsigned long' but 
the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                          us->pc, us->insn_count, them->pc, them->insn_count);
                                                  ^~~~~~~~
  plugins/lockstep.c:156:36: warning: format specifies type 'unsigned long' but 
the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                     prev->block->pc, prev->block->insns,
                                     ^~~~~~~~~~~~~~~
  plugins/lockstep.c:156:53: warning: format specifies type 'long' but the 
argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                     prev->block->pc, prev->block->insns,
                                                      ^~~~~~~~~~~~~~~~~~

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230907105004.88600-5-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: f6feb021e254054c2d50db5392c8b0dfbc932243
      
https://github.com/qemu/qemu/commit/f6feb021e254054c2d50db5392c8b0dfbc932243
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M contrib/plugins/Makefile

  Log Message:
  -----------
  contrib/plugins: add Darwin support

Under Darwin, using -shared makes it impossible to have undefined symbols
and -bundle has to be used instead; so detect the OS and use
different options.

Based-on: <20230907101811.469236-1-pbonz...@redhat.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 2564dcbf510850b0de55d499a8b6c00d8730b9dd
      
https://github.com/qemu/qemu/commit/2564dcbf510850b0de55d499a8b6c00d8730b9dd
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M tests/migration/meson.build
    M tests/qtest/meson.build

  Log Message:
  -----------
  meson: do not unnecessarily use cmake for dependencies

Both gvnc and sysprof-capture come with pkg-config files, so specify
the method to find them.

Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: a24f15d26f8cf0c0533c3422bebc70305626fc14
      
https://github.com/qemu/qemu/commit/a24f15d26f8cf0c0533c3422bebc70305626fc14
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: update unsupported host/CPU messages

Unsupported CPU and OSes are not really going away, but the
project simply does not guarantee that they work.  Rephrase
the messages accordingly.  While at it, move the warning for
TCI performance at the end where it is more visible.

Reviewed-by: Thomas Huth <th...@redhat.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: b3403ed00b0dbf14a77d6a7be797861e7b7f4907
      
https://github.com/qemu/qemu/commit/b3403ed00b0dbf14a77d6a7be797861e7b7f4907
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M configure
    M tests/tcg/tricore/Makefile.softmmu-target

  Log Message:
  -----------
  configure: remove HOST_CC

$(HOST_CC) is only used to invoke the preprocessor, and $(CC) can be
used instead now that there is a Tricore C compiler.  Remove the variable
from config-host.mak.

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 3c7ee49b81d2fc2930c09f9e0206227516d406e1
      
https://github.com/qemu/qemu/commit/3c7ee49b81d2fc2930c09f9e0206227516d406e1
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: create native file with contents of $host_cc

The argument of --host-cc is not obeyed when cross compiling.  To avoid
this issue, place it in a configuration file and pass it to meson
with --native-file.

While at it, clarify that --host-cc is not obeyed anyway when _not_
cross compiling, because cc="$host_cc" is placed before --host-cc is
processed.

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 6e0dc9d2a88aa26062db368bc90f81ac24cc8b9c
      
https://github.com/qemu/qemu/commit/6e0dc9d2a88aa26062db368bc90f81ac24cc8b9c
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    R pc-bios/Makefile
    M pc-bios/meson.build

  Log Message:
  -----------
  meson: compile bundled device trees

If dtc is available, compile the .dts files in the pc-bios directory
instead of using the precompiled binaries.

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 80100e267a0af8f5dc1afc3e07969b27aa3c614f
      
https://github.com/qemu/qemu/commit/80100e267a0af8f5dc1afc3e07969b27aa3c614f
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: remove boolean variables for targets

Just use $targetos always.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 1d558c906eb6e9eb65d7bb94ed4d8aa5a0f2d423
      
https://github.com/qemu/qemu/commit/1d558c906eb6e9eb65d7bb94ed4d8aa5a0f2d423
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M configure
    M meson.build
    M meson_options.txt
    M scripts/meson-buildoptions.sh

  Log Message:
  -----------
  configure: move --enable-debug-tcg to meson

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: bafe78ad3bc4cef3a4d22e477c8940a7c955f1ea
      
https://github.com/qemu/qemu/commit/bafe78ad3bc4cef3a4d22e477c8940a7c955f1ea
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M configure
    M contrib/plugins/Makefile

  Log Message:
  -----------
  contrib/plugins: use an independent makefile

The initial reason to write this patch was to remove the last use of
CONFIG_DEBUG_TCG from the makefiles; the flags to use to build TCG
plugins are unrelated to --enable-debug-tcg, and instead they should
be the same as those used to build emulators (the plugins are not build
via meson for demonstration reasons only).

However, since contrib/plugins/Makefile is also the last case of doing
a compilation job using config-host.mak, go a step further and make it
use a completely separate configuration file, removing all references
to compilers from the toplevel config-host.mak.  Clean up references to
empty variables, and use .SECONDARY so that intermediate object files
are not deleted.

Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 2a5919ab642a3273698233ef46c83741eec327bf
      
https://github.com/qemu/qemu/commit/2a5919ab642a3273698233ef46c83741eec327bf
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M Makefile
    M configure

  Log Message:
  -----------
  configure: unify recursion into sub-Makefiles

Treat contrib/plugins the same as the firmware.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 2c13c574418e4b17974f7ef71d200ac064fb8d4b
      
https://github.com/qemu/qemu/commit/2c13c574418e4b17974f7ef71d200ac064fb8d4b
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M accel/tcg/meson.build
    M configure
    M meson.build
    M meson_options.txt
    M plugins/meson.build
    M scripts/meson-buildoptions.sh
    M tests/Makefile.include
    M tests/meson.build

  Log Message:
  -----------
  configure, meson: move --enable-plugins to meson

While the option still needs to be parsed in the configure script
(it's needed by tests/tcg, and also to decide about recursing
into contrib/plugins), passing it to Meson can be done with -D
instead of using config-host.mak.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 73258b386489c410e4d449159a6c8420e3b7733f
      
https://github.com/qemu/qemu/commit/73258b386489c410e4d449159a6c8420e3b7733f
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M configure
    M meson.build
    M net/meson.build

  Log Message:
  -----------
  configure, meson: remove CONFIG_SOLARIS from config-host.mak

CONFIG_SOLARIS is only used to pick tap implementations.  But the
target OS is invariant and does not depend on the configuration, so move
away from config_host and just use unconditional rules in softmmu_ss.

Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 1f2146f7ca0f04afc62c4a170ec78bd030f3e72f
      
https://github.com/qemu/qemu/commit/1f2146f7ca0f04afc62c4a170ec78bd030f3e72f
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M Makefile
    M chardev/meson.build
    M configure
    M docs/devel/kconfig.rst
    M gdbstub/meson.build
    M meson.build
    M qga/meson.build
    M storage-daemon/meson.build
    M tcg/meson.build
    M tests/meson.build
    M tests/qtest/meson.build
    M tests/unit/meson.build

  Log Message:
  -----------
  configure, meson: remove target OS symbols from config-host.mak

Stop applying config-host.mak to the sourcesets, since it does not
have any more CONFIG_* symbols coming from the command line.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 875be287cdba7b5a499711823314355fccc60913
      
https://github.com/qemu/qemu/commit/875be287cdba7b5a499711823314355fccc60913
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M docs/devel/build-system.rst
    M meson.build

  Log Message:
  -----------
  meson: list leftover CONFIG_* symbols

There are no config-host.mak symbols anymore that are needed in
config-host.h; the only symbols that are included in config_host_data via
the foreach loop are:

- CONFIG_DEFAULT_TARGETS, which is not used by C code.

- CONFIG_TCG and CONFIG_TCG_INTERPRETER, which are not part of config-host.mak

So, list these two symbols explicitly.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: a5e9fbf1dfd5b3f901f987755c89f1dc636c3747
      
https://github.com/qemu/qemu/commit/a5e9fbf1dfd5b3f901f987755c89f1dc636c3747
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: remove dead code

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: ca056f4499c259c0de68ed7cefad7ee7b62bfa43
      
https://github.com/qemu/qemu/commit/ca056f4499c259c0de68ed7cefad7ee7b62bfa43
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M configure
    M python/Makefile
    M python/scripts/mkvenv.py
    M python/setup.cfg
    M python/tests/minreqs.txt
    M scripts/qapi/mypy.ini

  Log Message:
  -----------
  Python: Drop support for Python 3.7

Debian 10 is not anymore a supported distro, since Debian 12 was
released on June 10, 2023.  Our supported build platforms as of today
all support at least 3.8 (and all of them except for Ubuntu 20.04
support 3.9):

openSUSE Leap 15.5: 3.6.15 (3.11.2)
CentOS Stream 8:    3.6.8  (3.8.13, 3.9.16, 3.11.4)
CentOS Stream 9:    3.9.17 (3.11.4)
Fedora 37:          3.11.4
Fedora 38:          3.11.4
Debian 11:          3.9.2
Debian 12:          3.11.2
Alpine 3.14, 3.15:  3.9.16
Alpine 3.16, 3.17:  3.10.10
Ubuntu 20.04 LTS:   3.8.10
Ubuntu 22.04 LTS:   3.10.12
NetBSD 9.3:         3.9.13*
FreeBSD 12.4:       3.9.16
FreeBSD 13.1:       3.9.18
OpenBSD 7.2:        3.9.17

Note: NetBSD does not appear to have a default meta-package, but offers
several options, the lowest of which is 3.7.15. However, "python39"
appears to be a pre-requisite to one of the other packages we request
in tests/vm/netbsd.

Since it is safe under our supported platform policy, bump our
minimum supported version of Python to 3.8.  The two most interesting
features to have by default include:

- the importlib.metadata module, whose lack is responsible for over 100
  lines of code in mkvenv.py

- improvements to asyncio, for example asyncio.CancelledError
  inherits from BaseException rather than Exception

In addition, code can now use the assignment operator ':='

Because mypy now learns about importlib.metadata, a small change to
mkvenv.py is needed to pass type checking.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 3e4b6b0ad9522bb641deeb9a74e24db7c82b3aca
      
https://github.com/qemu/qemu/commit/3e4b6b0ad9522bb641deeb9a74e24db7c82b3aca
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M python/scripts/mkvenv.py
    M python/setup.cfg

  Log Message:
  -----------
  mkvenv: assume presence of importlib.metadata

importlib.metadata is included in Python 3.8, so there is no
need to fallback to either importlib-metadata or pkgresources
when generating console script shims.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 0a88ac9662950cecac74b5de3056071a964e4fc4
      
https://github.com/qemu/qemu/commit/0a88ac9662950cecac74b5de3056071a964e4fc4
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M python/scripts/mkvenv.py

  Log Message:
  -----------
  Revert "mkvenv: work around broken pip installations on Debian 10"

Debian 10 has Python 3.7, so it is not possible to use it anymore
now that Python 3.8 is required.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: e44d989aaebb8271c833144484c38f6b6f071736
      
https://github.com/qemu/qemu/commit/e44d989aaebb8271c833144484c38f6b6f071736
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M hw/i386/pc_q35.c

  Log Message:
  -----------
  hw/i386/pc: Include missing 'sysemu/tcg.h' header

Since commit 6f529b7534 ("target/i386: move FERR handling
to target/i386") pc_q35_init() calls tcg_enabled() which
is declared in "sysemu/tcg.h".

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-2-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: d1aa2f5094da54028fc2c5575766cf9097a0164c
      
https://github.com/qemu/qemu/commit/d1aa2f5094da54028fc2c5575766cf9097a0164c
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c

  Log Message:
  -----------
  hw/i386/pc: Include missing 'cpu.h' header

Both pc_piix.c and pc_q35.c files use CPU_VERSION_LEGACY
which is defined in "target/i386/cpu.h".

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-3-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 2686bbce3f8a0f55601792e4c1f86d9e83948312
      
https://github.com/qemu/qemu/commit/2686bbce3f8a0f55601792e4c1f86d9e83948312
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M hw/i386/fw_cfg.c

  Log Message:
  -----------
  hw/i386/fw_cfg: Include missing 'cpu.h' header

fw_cfg_build_feature_control() uses CPUID_EXT_VMX which is
defined in "target/i386/cpu.h".

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-4-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 28a43cb4dcb3a58408c2936f7be5cb1e1a3ca016
      
https://github.com/qemu/qemu/commit/28a43cb4dcb3a58408c2936f7be5cb1e1a3ca016
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M target/i386/helper.c

  Log Message:
  -----------
  target/i386/helper: Restrict KVM declarations to system emulation

User emulation doesn't need any KVM declarations.

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-5-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 721cf738a5bf71871174db4b886f224b653288ea
      
https://github.com/qemu/qemu/commit/721cf738a5bf71871174db4b886f224b653288ea
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M target/i386/cpu-sysemu.c
    M target/i386/kvm/kvm_i386.h

  Log Message:
  -----------
  target/i386/cpu-sysemu: Inline kvm_apic_in_kernel()

In order to have cpu-sysemu.c become accelerator-agnostic,
inline kvm_apic_in_kernel() -- which is a simple wrapper
to kvm_irqchip_in_kernel() -- and use the generic "sysemu/kvm.h"
header.

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-6-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 3adce820cf9c454b49cabf52b829001ecb98500e
      
https://github.com/qemu/qemu/commit/3adce820cf9c454b49cabf52b829001ecb98500e
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M target/i386/kvm/kvm-stub.c

  Log Message:
  -----------
  target/i386: Remove unused KVM stubs

All these functions:

 - kvm_arch_get_supported_cpuid()
 - kvm_has_smm(()
 - kvm_hyperv_expand_features()
 - kvm_set_max_apic_id()

are called after checking for kvm_enabled(), which is
false when KVM is not built. Since the compiler elides
these functions, their stubs are not used and can be
removed.

Inspired-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com>
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-7-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 9926cf34de5fa15da1d58e809692b5c7ccf72ec5
      
https://github.com/qemu/qemu/commit/9926cf34de5fa15da1d58e809692b5c7ccf72ec5
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M hw/i386/intel_iommu.c
    M hw/i386/x86.c
    M target/i386/kvm/kvm-stub.c

  Log Message:
  -----------
  target/i386: Allow elision of kvm_enable_x2apic()

Call kvm_enabled() before kvm_enable_x2apic() to let the compiler elide
its call.  Cleanup the code by simplifying "!xen_enabled() &&
kvm_enabled()" to just "kvm_enabled()".

Suggested-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com>
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-8-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: ef1cf6890f38073181edbc334b49192a6434d396
      
https://github.com/qemu/qemu/commit/ef1cf6890f38073181edbc334b49192a6434d396
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M hw/i386/x86.c
    R target/i386/kvm/kvm-stub.c
    M target/i386/kvm/meson.build

  Log Message:
  -----------
  target/i386: Allow elision of kvm_hv_vpindex_settable()

Call kvm_enabled() before kvm_hv_vpindex_settable()
to let the compiler elide its call.

kvm-stub.c is now empty, remove it.

Suggested-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com>
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-9-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 33bc5f1d32e84a9f85b4484e1a31d18743a95b40
      
https://github.com/qemu/qemu/commit/33bc5f1d32e84a9f85b4484e1a31d18743a95b40
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M target/i386/kvm/kvm_i386.h

  Log Message:
  -----------
  target/i386: Restrict declarations specific to CONFIG_KVM

Keep the function accessed by target/i386/ and hw/i386/
exposed, restrict the ones accessed by target/i386/kvm/.

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-10-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: f3f99d2ac195237174358fb8e4b91927f18f324a
      
https://github.com/qemu/qemu/commit/f3f99d2ac195237174358fb8e4b91927f18f324a
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M include/sysemu/kvm.h
    M target/i386/kvm/kvm_i386.h

  Log Message:
  -----------
  sysemu/kvm: Restrict kvm_arch_get_supported_cpuid/msr() to x86 targets

kvm_arch_get_supported_cpuid() / kvm_arch_get_supported_msr_feature()
are only defined for x86 targets (in target/i386/kvm/kvm.c). Their
declarations are pointless on other targets.

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-11-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 1f49d47661d00df4e229cd85353e701c60cf77a2
      
https://github.com/qemu/qemu/commit/1f49d47661d00df4e229cd85353e701c60cf77a2
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M include/sysemu/kvm.h
    M target/i386/kvm/kvm_i386.h

  Log Message:
  -----------
  sysemu/kvm: Restrict kvm_get_apic_state() to x86 targets

kvm_get_apic_state() is only defined for x86 targets (in
hw/i386/kvm/apic.c). Its declaration is pointless on all
other targets.

Since we include "linux-headers/asm-x86/kvm.h", no need
to forward-declare 'struct kvm_lapic_state'.

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-12-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: fc30abf84662fd68c9308aa07c18b71eed0dffc0
      
https://github.com/qemu/qemu/commit/fc30abf84662fd68c9308aa07c18b71eed0dffc0
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M hw/i386/kvm/i8254.c
    M include/sysemu/kvm.h
    M target/i386/kvm/kvm.c
    M target/i386/kvm/kvm_i386.h

  Log Message:
  -----------
  sysemu/kvm: Restrict kvm_has_pit_state2() to x86 targets

kvm_has_pit_state2() is only defined for x86 targets (in
target/i386/kvm/kvm.c). Its declaration is pointless on
all other targets. Have it return a boolean.

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-13-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: bb781b947d4e964840ff29415492e35c0bdcd9e1
      
https://github.com/qemu/qemu/commit/bb781b947d4e964840ff29415492e35c0bdcd9e1
  Author: Philippe Mathieu-Daudé <phi...@linaro.org>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M hw/i386/kvm/ioapic.c
    M include/sysemu/kvm.h
    M target/i386/kvm/kvm_i386.h

  Log Message:
  -----------
  sysemu/kvm: Restrict kvm_pc_setup_irq_routing() to x86 targets

kvm_pc_setup_irq_routing() is only defined for x86 targets (in
hw/i386/kvm/apic.c). Its declaration is pointless on all
other targets.

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-ID: <20230904124325.79040-14-phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 6170d09c9e7dff430f7745137000c0af399ba054
      
https://github.com/qemu/qemu/commit/6170d09c9e7dff430f7745137000c0af399ba054
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    A subprojects/libblkio.wrap

  Log Message:
  -----------
  subprojects: add wrap file for libblkio

This allows building libblkio at the same time as QEMU, if QEMU is
configured with --enable-blkio --enable-download.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 34e8182053c065e5e99017f798fb79259e26f583
      
https://github.com/qemu/qemu/commit/34e8182053c065e5e99017f798fb79259e26f583
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M docs/system/replay.rst

  Log Message:
  -----------
  docs/system/replay: do not show removed command line option

Cc: qemu-triv...@nongnu.org
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Reviewed-by: Thomas Huth <th...@redhat.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 269e60635a72f8dec4cb210b5b99e9e7f8920f34
      
https://github.com/qemu/qemu/commit/269e60635a72f8dec4cb210b5b99e9e7f8920f34
  Author: Stefan Hajnoczi <stefa...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M hw/intc/pnv_xive.c
    M hw/intc/pnv_xive2.c
    M hw/intc/pnv_xive_regs.h
    M hw/intc/xive.c
    M hw/ppc/e500.c
    M hw/ppc/mac_oldworld.c
    M hw/ppc/pegasos2.c
    M hw/ppc/pnv_core.c
    M hw/ppc/ppc.c
    M hw/ppc/prep.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_cpu_core.c
    M hw/ppc/spapr_hcall.c
    M hw/ppc/vof.c
    M include/hw/ppc/ppc.h
    M include/hw/ppc/spapr.h
    M include/hw/ppc/xive.h
    M include/qemu/host-utils.h
    M target/ppc/compat.c
    M target/ppc/cpu.c
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c
    M target/ppc/helper.h
    M target/ppc/internal.h
    M target/ppc/kvm.c
    M target/ppc/machine.c
    M target/ppc/misc_helper.c
    M target/ppc/mmu-radix64.c
    M target/ppc/spr_common.h
    M target/ppc/translate.c
    M target/ppc/translate/fixedpoint-impl.c.inc
    M tests/avocado/replay_kernel.py
    M tests/avocado/reverse_debugging.py

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

ppc queue :

* debug facility improvements
* timebase and decrementer fixes
* record-replay fixes
* TCG fixes
* XIVE model improvements for multichip

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEoPZlSPBIlev+awtgUaNDx8/77KEFAmT4WKoACgkQUaNDx8/7
# 7KHjOg//bwENCptopnvX5XVTdGLRgBKoMWPkQhWPv4aHYz4t+bxHVWopdMU7i0aL
# hge+ZCCkMKsg2rADczbpWytAvC3vo1Pn4zZhZNQuEvYKIpiWVN6hSflmXWP/bN1I
# AGHlptKvNYKlPfGsmzZ2OZ2yItzrOwKFC/PnPSEc6dxjWfe9hEwzApxaAkOfX8wf
# C+oH8DPvFmh3PH3rI4psCn/xYtxAPW1zosBtgT7Ii1XreABMHLIfIpOmPPh1yF0d
# J7BgBdmxIvsN+syH/vh5jTtU4N/gQVorwyds9MX82Y3j0roxBVVLqH8rFjJA3Jsq
# c/g8WTi1hHiDd8G4m1JcLI1VAhsgh1KhqG9pDaSdQXhP0E4p8N/XjxOR5ro+KxM3
# Dz/Q77VoEKuat+AXg71kc68i11CninhTVSyGnjI80ISWWYvHFQ2Sv8J9U6sS/d0m
# +fo6hed7DDgfXg4OMtedF4HMmc6JAfm9eBzHUoanaoIzX0vX6vetXeMfWh6iceYW
# KNcQuUi3Pvvh/AjE36jusqTkbTleP5Yo4OKNJz4pEP4sU2wQPYU32Lo7Kg7p4WPA
# j+emWmWX4gcn9zTvm2LPYwkdgQ5HgigUJzq9i9qlMqfOOCpRwAsE7V0KxyV0NwDT
# cAAOBCdNm4t94Ni3KEING7xuDzERvJ7H2D6uRQjVsre8cMUO0QE=
# =BUg6
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 06 Sep 2023 06:47:06 EDT
# gpg:                using RSA key A0F66548F04895EBFE6B0B6051A343C7CFFBECA1
# gpg: Good signature from "Cédric Le Goater <c...@redhat.com>" [unknown]
# gpg:                 aka "Cédric Le Goater <c...@kaod.org>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: A0F6 6548 F048 95EB FE6B  0B60 51A3 43C7 CFFB ECA1

* tag 'pull-ppc-20230906' of https://github.com/legoater/qemu: (35 commits)
  ppc/xive: Add support for the PC MMIOs
  ppc/xive: Handle END triggers between chips with MMIOs
  ppc/xive: Introduce a new XiveRouter end_notify() handler
  ppc/xive: Use address_space routines to access the machine RAM
  target/ppc: Fix the order of kvm_enable judgment about kvmppc_set_interrupt()
  hw/ppc/e500: fix broken snapshot replay
  target/ppc: Flush inputs to zero with NJ in ppc_store_vscr
  target/ppc: Fix LQ, STQ register-pair order for big-endian
  tests/avocado: ppc64 reverse debugging tests for pseries and powernv
  tests/avocado: reverse-debugging cope with re-executing breakpoints
  tests/avocado: boot ppc64 pseries replay-record test to Linux VFS mount
  spapr: Fix record-replay machine reset consuming too many events
  spapr: Fix machine reset deadlock from replay-record
  target/ppc: Fix timebase reset with record-replay
  target/ppc: Fix CPU reservation migration for record-replay
  hw/ppc: Read time only once to perform decrementer write
  hw/ppc: Reset timebase facilities on machine reset
  target/ppc: Migrate DECR SPR
  hw/ppc: Always store the decrementer value
  target/ppc: Sign-extend large decrementer to 64-bits
  ...

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


  Commit: c97d45d55798b27410253df8fc724d2a02189aa8
      
https://github.com/qemu/qemu/commit/c97d45d55798b27410253df8fc724d2a02189aa8
  Author: Stefan Hajnoczi <stefa...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M MAINTAINERS
    M block/parallels.c
    M block/parallels.h
    M tests/qemu-iotests/131
    M tests/qemu-iotests/131.out
    A tests/qemu-iotests/tests/parallels-checks
    A tests/qemu-iotests/tests/parallels-checks.out

  Log Message:
  -----------
  Merge tag 'pull-parallels-2023-09-06' of https://src.openvz.org/scm/~den/qemu 
into staging

Parallels format driver changes:
  * Fix comments formatting inside parallels driver
  * Incorrect data end calculation in parallels_open()
  * Check if data_end greater than the file size
  * Add "explicit" argument to parallels_check_leak()
  * Add data_start field to BDRVParallelsState
  * Add checking and repairing duplicate offsets in BAT
  * Image repairing in parallels_open()
  * Use bdrv_co_getlength() in parallels_check_outside_image()
  * Add data_off check
  * Add data_off repairing to parallels_open()
  * Fix record in MAINTAINERS

Parallels format driver tests:
  * Add out-of-image check test for parallels format
  * Add leak check test for parallels format
  * Add test for BAT entries duplication check
  * Refactor tests of parallels images checks (131)
  * Fix cluster size in parallels images tests (131)
  * Fix test 131 after repair was added to parallels_open()
  * Add test for data_off check

# -----BEGIN PGP SIGNATURE-----
#
# iQHDBAABCgAtFiEE9vE2f3B8+RUZInytPzClrpN3nJ8FAmT4nUgPHGRlbkBvcGVu
# dnoub3JnAAoJED8wpa6Td5yf1F4L/j4RsGv+NRJRqZb9JNn2wUm4JdWGyv6ftuuh
# hT25F44B5S6J3tR3LalDFxHpr+kCXD1Xa3ZJNK14d1G9atw7Bsp5ntxpCmzEALBk
# 0PH+5fvNuhvt4ZnuYwQX70n3ZmalgzGpwf/jbs9mXUhdLinEr1RWi2f9yfCLmeZU
# x+0MSOhAdC6ZVsJOTJhGuRWWKL1q5KteuTwQlRCwDay8KF/Mc1OS/iPFqfmlWenM
# dc88PZBlg2Le15sWWNLc1AZHYguO+4xEPw6fk6RcswccILB2gCUPS6BJB0AuKNOO
# STPIgzUFMXfgIFhNUOvz58A7UnQGI4dMsRe/2UJIG+Y3qkM4DpjcZ7U/rHxhR6t0
# +GeeLS+a+aObz79TpB3gZi7leX2bpRUZ8nLkaAnL2umhtdFo5sdqD3xo4xcg4Ebk
# TbYSmgIM0eZ75d+48g7A+ddkyKYCmworGS9g9Cry6udclbs8yXhVB8KkUbYwtJlC
# HtNzgaWlw6J7n0MoSpz4OQVKq3bY0A==
# =grCk
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 06 Sep 2023 11:39:52 EDT
# gpg:                using RSA key F6F1367F707CF91519227CAD3F30A5AE93779C9F
# gpg:                issuer "d...@openvz.org"
# gpg: Good signature from "Denis V. Lunev <d...@openvz.org>" [unknown]
# gpg: WARNING: The key's User ID is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: F6F1 367F 707C F915 1922  7CAD 3F30 A5AE 9377 9C9F

* tag 'pull-parallels-2023-09-06' of https://src.openvz.org/scm/~den/qemu:
  iotests: Add test for data_off check
  iotests: Fix test 131 after repair was added to parallels_open()
  iotests: Fix cluster size in parallels images tests (131)
  iotests: Refactor tests of parallels images checks (131)
  iotests: Add test for BAT entries duplication check
  iotests: Add leak check test for parallels format
  iotests: Add out-of-image check test for parallels format
  parallels: Add data_off repairing to parallels_open()
  parallels: Add data_off check
  parallels: Use bdrv_co_getlength() in parallels_check_outside_image()
  parallels: Image repairing in parallels_open()
  parallels: Add checking and repairing duplicate offsets in BAT
  parallels: Add data_start field to BDRVParallelsState
  parallels: Add "explicit" argument to parallels_check_leak()
  parallels: Check if data_end greater than the file size
  parallels: Incorrect data end calculation in parallels_open()
  parallels: Fix comments formatting inside parallels driver
  MAINTAINERS: add tree to keep parallels format driver changes

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


  Commit: 13d9f6dca08a38e9258b6328f3ad61bdb8e19619
      
https://github.com/qemu/qemu/commit/13d9f6dca08a38e9258b6328f3ad61bdb8e19619
  Author: Stefan Hajnoczi <stefa...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/core.c
    M tests/qtest/libqos/ahci.c
    M tests/qtest/libqos/ahci.h

  Log Message:
  -----------
  Merge tag 'ide-pull-request' of https://gitlab.com/jsnow/qemu into staging

IDE Pull request

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEE+ber27ys35W+dsvQfe+BBqr8OQ4FAmT5RpYACgkQfe+BBqr8
# OQ7GuA//S/gyyqsnltz4W9D0liaan1a2YsSx7Q2gcKdotdmFwgEHWWuVKorCteQt
# 1AtkFiA1bawF9ZSRQIpQzMNDOkSJHOs/0HXhdbNRs6JZ6C+c/aLnNSpxIfFpkP3I
# Wcrmi98F8zHlRc+KGqvZFHW+woqWJxTvglG4OmpMhMWCZRuqADeaxWaywgSXxlK+
# MtmpsslPeTxHdwa6ijXCJd2ghP59z391Ulo4kZ7YOMou/YLEd/AnezBDtepDGnbb
# TnyDcvGf+Dp5nJ4Rcp22frZdcxb44+wt2QlQFDp+h6r7KzIEwGIK2LL37sN8VHwU
# B8GbYkjoPnau2cOaLgmpC1reWkdwaiXfaI+1B/35/jg6hwYHFe6F03+JstMWXHXt
# ++Wy4MKDx5wRt7cmOu6htS776UC15NMcZB0AzxQuE5mL+eSNp1n5Nw5UW2iD/USL
# LD2dlMO05acdqn2iXoMTX/K1cUo1wRkEns7PISk+F2ve0PTS1RJUvuiNXs+aDrt9
# +AfE/e025YMQY8CWLiaihfNH7/QY8vS874SrcDr5rtfhitu16nqq5JpjnyzkqgbR
# PE+5JWT3QGBOcDMQeNUDfxFlcCVDm3ffIKo/7/PDCfeKQsJkG/nVGF7OmlAVmoUD
# GsvIlKBegIQvpp8LRabzfeTfbj7NGKFwaShQ6wcqxOakjy+iKx8=
# =ZRVt
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 06 Sep 2023 23:42:14 EDT
# gpg:                using RSA key F9B7ABDBBCACDF95BE76CBD07DEF8106AAFC390E
# gpg: Good signature from "John Snow (John Huston) <js...@redhat.com>" 
[unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: FAEB 9711 A12C F475 812F  18F2 88A9 064D 1835 61EB
#      Subkey fingerprint: F9B7 ABDB BCAC DF95 BE76  CBD0 7DEF 8106 AAFC 390E

* tag 'ide-pull-request' of https://gitlab.com/jsnow/qemu:
  hw/ide/ahci: fix broken SError handling
  hw/ide/ahci: fix ahci_write_fis_sdb()
  hw/ide/ahci: PxCI should not get cleared when ERR_STAT is set
  hw/ide/ahci: PxSACT and PxCI is cleared when PxCMD.ST is cleared
  hw/ide/ahci: simplify and document PxCI handling
  hw/ide/ahci: write D2H FIS when processing NCQ command
  hw/ide/core: set ERR_STAT in unsupported command completion

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


  Commit: 03a3a62fbd0aa5227e978eef3c67d3978aec9e5f
      
https://github.com/qemu/qemu/commit/03a3a62fbd0aa5227e978eef3c67d3978aec9e5f
  Author: Stefan Hajnoczi <stefa...@redhat.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M Makefile
    M accel/tcg/meson.build
    M chardev/meson.build
    M configure
    M contrib/plugins/Makefile
    M contrib/plugins/cache.c
    M contrib/plugins/drcov.c
    M contrib/plugins/howvec.c
    M contrib/plugins/lockstep.c
    M docs/devel/build-system.rst
    M docs/devel/kconfig.rst
    M docs/system/replay.rst
    M gdbstub/meson.build
    M hw/i386/fw_cfg.c
    M hw/i386/intel_iommu.c
    M hw/i386/kvm/i8254.c
    M hw/i386/kvm/ioapic.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/i386/x86.c
    R include/qemu/qemu-options.h
    M include/sysemu/kvm.h
    M include/sysemu/os-posix.h
    M include/sysemu/os-win32.h
    M meson.build
    M meson_options.txt
    M net/meson.build
    M os-posix.c
    R pc-bios/Makefile
    M pc-bios/meson.build
    M plugins/meson.build
    M python/Makefile
    M python/scripts/mkvenv.py
    M python/setup.cfg
    M python/tests/minreqs.txt
    M qga/meson.build
    M scripts/meson-buildoptions.sh
    M scripts/qapi/mypy.ini
    A softmmu/async-teardown.c
    M softmmu/meson.build
    M softmmu/vl.c
    M storage-daemon/meson.build
    A subprojects/libblkio.wrap
    M target/i386/cpu-sysemu.c
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/helper.c
    R target/i386/kvm/kvm-stub.c
    M target/i386/kvm/kvm.c
    M target/i386/kvm/kvm_i386.h
    M target/i386/kvm/meson.build
    M target/i386/tcg/decode-new.c.inc
    M target/i386/tcg/decode-new.h
    M target/i386/tcg/emit.c.inc
    M target/i386/tcg/sysemu/fpu_helper.c
    M target/i386/tcg/translate.c
    M tcg/meson.build
    M tests/Makefile.include
    M tests/meson.build
    M tests/migration/meson.build
    M tests/qtest/meson.build
    M tests/tcg/tricore/Makefile.softmmu-target
    M tests/unit/meson.build
    R util/async-teardown.c
    M util/meson.build

  Log Message:
  -----------
  Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging

* only build util/async-teardown.c when system build is requested
* target/i386: fix BQL handling of the legacy FERR interrupts
* target/i386: fix memory operand size for CVTPS2PD
* target/i386: Add support for AMX-COMPLEX in CPUID enumeration
* compile plugins on Darwin
* configure and meson cleanups
* drop mkvenv support for Python 3.7 and Debian10
* add wrap file for libblkio
* tweak KVM stubs

# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmT5t6UUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroMmjwf+MpvVuq+nn+3PqGUXgnzJx5ccA5ne
# O9Xy8+1GdlQPzBw/tPovxXDSKn3HQtBfxObn2CCE1tu/4uHWpBA1Vksn++NHdUf2
# P0yoHxGskJu5iYYTtIcNw5cH2i+AizdiXuEjhfNjqD5Y234cFoHnUApt9e3zBvVO
# cwGD7WpPuSb4g38hHkV6nKcx72o7b4ejDToqUVZJ2N+RkddSqB03fSdrOru0hR7x
# V+lay0DYdFszNDFm05LJzfDbcrHuSryGA91wtty7Fzj6QhR/HBHQCUZJxMB5PI7F
# Zy4Zdpu60zxtSxUqeKgIi7UhNFgMcax2Hf9QEqdc/B4ARoBbboh4q4u8kQ==
# =dH7/
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 07 Sep 2023 07:44:37 EDT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonz...@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonz...@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonz...@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* tag 'for-upstream' of https://gitlab.com/bonzini/qemu: (51 commits)
  docs/system/replay: do not show removed command line option
  subprojects: add wrap file for libblkio
  sysemu/kvm: Restrict kvm_pc_setup_irq_routing() to x86 targets
  sysemu/kvm: Restrict kvm_has_pit_state2() to x86 targets
  sysemu/kvm: Restrict kvm_get_apic_state() to x86 targets
  sysemu/kvm: Restrict kvm_arch_get_supported_cpuid/msr() to x86 targets
  target/i386: Restrict declarations specific to CONFIG_KVM
  target/i386: Allow elision of kvm_hv_vpindex_settable()
  target/i386: Allow elision of kvm_enable_x2apic()
  target/i386: Remove unused KVM stubs
  target/i386/cpu-sysemu: Inline kvm_apic_in_kernel()
  target/i386/helper: Restrict KVM declarations to system emulation
  hw/i386/fw_cfg: Include missing 'cpu.h' header
  hw/i386/pc: Include missing 'cpu.h' header
  hw/i386/pc: Include missing 'sysemu/tcg.h' header
  Revert "mkvenv: work around broken pip installations on Debian 10"
  mkvenv: assume presence of importlib.metadata
  Python: Drop support for Python 3.7
  configure: remove dead code
  meson: list leftover CONFIG_* symbols
  ...

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


Compare: https://github.com/qemu/qemu/compare/c152379422a2...03a3a62fbd0a

Reply via email to