[Qemu-commits] [qemu/qemu] 5433bb: migration/colo: Fix bdrv_graph_rdlock_main_loop: A...

2024-05-27 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging-9.0
  Home:   https://github.com/qemu/qemu
  Commit: 5433bb518673584f144a150beffea0d99e2e8078
  
https://github.com/qemu/qemu/commit/5433bb518673584f144a150beffea0d99e2e8078
  Author: Li Zhijian 
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
M migration/colo.c

  Log Message:
  ---
  migration/colo: Fix bdrv_graph_rdlock_main_loop: Assertion 
`!qemu_in_coroutine()' failed.

bdrv_activate_all() should not be called from the coroutine context, move
it to the QEMU thread colo_process_incoming_thread() with the bql_lock
protected.

The backtrace is as follows:
 #4  0x561af7948362 in bdrv_graph_rdlock_main_loop () at 
../block/graph-lock.c:260
 #5  0x561af7907a68 in graph_lockable_auto_lock_mainloop (x=0x7fd29810be7b) 
at /patch/to/qemu/include/block/graph-lock.h:259
 #6  0x561af79167d1 in bdrv_activate_all (errp=0x7fd29810bed0) at 
../block.c:6906
 #7  0x561af762b4af in colo_incoming_co () at ../migration/colo.c:935
 #8  0x561af7607e57 in process_incoming_migration_co (opaque=0x0) at 
../migration/migration.c:793
 #9  0x561af7adbeeb in coroutine_trampoline (i0=-106876144, i1=22042) at 
../util/coroutine-ucontext.c:175
 #10 0x7fd2a5cf21c0 in  () at /lib64/libc.so.6

Cc: qemu-sta...@nongnu.org
Cc: Fabiano Rosas 
Closes: https://gitlab.com/qemu-project/qemu/-/issues/2277
Fixes: 2b3912f135 ("block: Mark bdrv_first_blk() and bdrv_is_root_node() 
GRAPH_RDLOCK")
Signed-off-by: Li Zhijian 
Reviewed-by: Zhang Chen 
Tested-by: Zhang Chen 
Reviewed-by: Fabiano Rosas 
Link: https://lore.kernel.org/r/20240417025634.1014582-1-lizhij...@fujitsu.com
Signed-off-by: Peter Xu 
(cherry picked from commit 2cc637f1ea08d2a1b19fc5b1a30bc609f948de93)
Signed-off-by: Michael Tokarev 


  Commit: 2a7c0a16a930cc89e5977072d0c616b41fb29c0d
  
https://github.com/qemu/qemu/commit/2a7c0a16a930cc89e5977072d0c616b41fb29c0d
  Author: Michael Tokarev 
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: do_setsockopt: fix SOL_ALG.ALG_SET_KEY

This setsockopt accepts zero-lengh optlen (current qemu implementation
does not allow this).  Also, there's no need to make a copy of the key,
it is enough to use lock_user() (which accepts zero length already).

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2197
Fixes: f312fc "linux-user: Add support for setsockopt() option SOL_ALG"
Signed-off-by: Michael Tokarev 
Message-Id: <20240331100737.2724186-2-...@tls.msk.ru>
Signed-off-by: Richard Henderson 
(cherry picked from commit 04f6fb897a5aeb3e356a7b889869c9962f9c16c7)
Signed-off-by: Michael Tokarev 


  Commit: d6cdc6b29ad40623358023ad9d5b1c91303e3c7f
  
https://github.com/qemu/qemu/commit/d6cdc6b29ad40623358023ad9d5b1c91303e3c7f
  Author: Zhao Liu 
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
M docs/system/target-i386-desc.rst.inc

  Log Message:
  ---
  docs: i386: pc: Update maximum CPU numbers for PC Q35

Commit e4e98c7eebfa ("pc: q35: Bump max_cpus to 4096 vcpus") increases
the supported CPUs for PC Q35 machine.

Update maximum CPU numbers for PC Q35 in the document.

Signed-off-by: Zhao Liu 
Message-ID: <20240412085358.731560-1-zhao1@linux.intel.com>
Signed-off-by: Thomas Huth 
(cherry picked from commit 838f82468a1282f7e89dbbd6c015c8742bfdafce)
Signed-off-by: Michael Tokarev 


  Commit: 304dc04347e15568e83c3482b9b3b9ce00b7e434
  
https://github.com/qemu/qemu/commit/304dc04347e15568e83c3482b9b3b9ce00b7e434
  Author: Zhu Yangyang 
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
M nbd/client.c
M nbd/common.c
M nbd/nbd-internal.h
M nbd/server.c

  Log Message:
  ---
  nbd/server: do not poll within a coroutine context

Coroutines are not supposed to block. Instead, they should yield.

The client performs TLS upgrade outside of an AIOContext, during
synchronous handshake; this still requires g_main_loop.  But the
server responds to TLS upgrade inside a coroutine, so a nested
g_main_loop is wrong.  Since the two callbacks no longer share more
than the setting of data.complete and data.error, it's just as easy to
use static helpers instead of trying to share a common code path.  It
is also possible to add assertions that no other code is interfering
with the eventual path to qio reaching the callback, whether or not it
required a yield or main loop.

Fixes: f95910f ("nbd: implement TLS support in the protocol negotiation")
Signed-off-by: Zhu Yangyang 
[eblake: move callbacks to their use point, add assertions]
Signed-off-by: Eric Blake 
Message-ID: <20240408160214.1200629-5-ebl...@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy 
(cherry picked from commit ae6d91a7e9b77abb029ed3fa9fad461422286942)
Signed-off-by: Michael Tokarev 


  Commit: 9ae59100b8b8d9a8f2c1d66b405c90c8b306d440
  
https://github.com/qemu/qemu/commit/9ae59100b8b8d9a8f2c1d66b405c90c8b306d440
  Author: Eric Blake 
  Date:   2024-04-28 

[Qemu-commits] [qemu/qemu] 50ed4f: target/i386: Give IRQs a chance when resetting HF_...

2024-05-27 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging-8.2
  Home:   https://github.com/qemu/qemu
  Commit: 50ed4f856a4e1252b77b1f9343acbf42f7356e74
  
https://github.com/qemu/qemu/commit/50ed4f856a4e1252b77b1f9343acbf42f7356e74
  Author: Ruihan Li 
  Date:   2024-05-13 (Mon, 13 May 2024)

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

  Log Message:
  ---
  target/i386: Give IRQs a chance when resetting HF_INHIBIT_IRQ_MASK

When emulated with QEMU, interrupts will never come in the following
loop. However, if the NOP instruction is uncommented, interrupts will
fire as normal.

loop:
cli
call do_sti
jmp loop

do_sti:
sti
# nop
ret

This behavior is different from that of a real processor. For example,
if KVM is enabled, interrupts will always fire regardless of whether the
NOP instruction is commented or not. Also, the Intel Software Developer
Manual states that after the STI instruction is executed, the interrupt
inhibit should end as soon as the next instruction (e.g., the RET
instruction if the NOP instruction is commented) is executed.

This problem is caused because the previous code may choose not to end
the TB even if the HF_INHIBIT_IRQ_MASK has just been reset (e.g., in the
case where the STI instruction is immediately followed by the RET
instruction), so that IRQs may not have a change to trigger. This commit
fixes the problem by always terminating the current TB to give IRQs a
chance to trigger when HF_INHIBIT_IRQ_MASK is reset.

Reviewed-by: Richard Henderson 
Signed-off-by: Ruihan Li 
Message-ID: <20240415064518.4951-4-lrh2...@pku.edu.cn>
Signed-off-by: Paolo Bonzini 
(cherry picked from commit 6a5a63f74ba5c5355b7a8468d3d814bfffe928fb)
Signed-off-by: Michael Tokarev 


  Commit: d3da3d02a048bc3d116af5038f7302421d252d57
  
https://github.com/qemu/qemu/commit/d3da3d02a048bc3d116af5038f7302421d252d57
  Author: Richard Henderson 
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
M target/sparc/helper.h
M target/sparc/insns.decode
M target/sparc/translate.c
M target/sparc/vis_helper.c

  Log Message:
  ---
  target/sparc: Fix FEXPAND

This is a 2-operand instruction, not 3-operand.
Worse, we took the source from the wrong operand.

Signed-off-by: Richard Henderson 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20240502165528.244004-3-richard.hender...@linaro.org>
Signed-off-by: Mark Cave-Ayland 
(cherry picked from commit 7b616f36de0bde126e1ba6b0793ed26fc414a1ff)
Signed-off-by: Michael Tokarev 


  Commit: 819f92ec3e875cffb9cb12fd222e2e6800c1a257
  
https://github.com/qemu/qemu/commit/819f92ec3e875cffb9cb12fd222e2e6800c1a257
  Author: Richard Henderson 
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
M target/sparc/helper.h
M target/sparc/translate.c
M target/sparc/vis_helper.c

  Log Message:
  ---
  target/sparc: Fix FMUL8x16

This instruction has f32 as source1, which alters the
decoding of the register number, which means we've been
passing the wrong data for odd register numbers.

Signed-off-by: Richard Henderson 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20240502165528.244004-4-richard.hender...@linaro.org>
Signed-off-by: Mark Cave-Ayland 
(cherry picked from commit 9157dccc7e71f7c94581c38f38acbef9a21bbe9a)
Signed-off-by: Michael Tokarev 


  Commit: 7dbebba4a5e6e0cfdc8ea9e632cf594b15613202
  
https://github.com/qemu/qemu/commit/7dbebba4a5e6e0cfdc8ea9e632cf594b15613202
  Author: Song Gao 
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
M hw/loongarch/virt.c

  Log Message:
  ---
  hw/loongarch/virt: Fix memory leak

The char pointer 'ramName' point to a block of memory,
but never free it. Use 'g_autofree' to automatically free it.

Resolves: Coverity CID 1544773

Fixes: 0cf1478d6 ("hw/loongarch: Add numa support")
Signed-off-by: Song Gao 
Reviewed-by: Peter Maydell 
Reviewed-by: Philippe Mathieu-Daudé 
Message-ID: <20240507022239.3113987-1-gaos...@loongson.cn>
Signed-off-by: Philippe Mathieu-Daudé 
(cherry picked from commit 54c52ec719fb8c83bbde54cb87b58688ab27c166)
Signed-off-by: Michael Tokarev 
(Mjt: context fixup in hw/loongarch/virt.c due to missing-in-8.2
  v9.0.0-266-gd771ca1c10 "hw/loongarch: Move boot functions to boot.c")


  Commit: 7d7b770bde7f52a8a46112292ddb721cd82ba092
  
https://github.com/qemu/qemu/commit/7d7b770bde7f52a8a46112292ddb721cd82ba092
  Author: Mattias Nissler 
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
M hw/remote/vfio-user-obj.c

  Log Message:
  ---
  hw/remote/vfio-user: Fix config space access byte order

PCI config space is little-endian, so on a big-endian host we need to
perform byte swaps for values as they are passed to and received from
the generic PCI config space access machinery.

Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Stefan Hajnoczi 
Reviewed-by: Jagannathan Raman 
Signed-off-by: Mattias Nissler 

[Qemu-commits] [qemu/qemu] 861fca: gitlab-ci: Remove job building EDK2 firmware binaries

2024-05-26 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging-7.2
  Home:   https://github.com/qemu/qemu
  Commit: 861fca8ce0c0837a3244d29be2cb15565852bf86
  
https://github.com/qemu/qemu/commit/861fca8ce0c0837a3244d29be2cb15565852bf86
  Author: Philippe Mathieu-Daudé 
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
R .gitlab-ci.d/edk2.yml
R .gitlab-ci.d/edk2/Dockerfile
M .gitlab-ci.d/qemu-project.yml
M MAINTAINERS

  Log Message:
  ---
  gitlab-ci: Remove job building EDK2 firmware binaries

When we introduced this Gitlab-CI job in commit 71920809ce
("gitlab-ci.yml: Add jobs to build EDK2 firmware binaries"),
the naive plan was to have reproducible binaries by downloading
what this job would build, testing it and eventually committing
it. With retrospective, nothing happened 3 years later and this
job is just bitrotting:

  Step 1/3 : FROM ubuntu:18.04
  18.04: Pulling from library/ubuntu
  mediaType in manifest should be
  'application/vnd.docker.distribution.manifest.v2+json' not
  'application/vnd.oci.image.manifest.v1+json'

Remove this job to avoid wasting maintenance and CI ressources.

Reported-by: Palmer Dabbelt 
Signed-off-by: Philippe Mathieu-Daudé 
Message-Id: <20230310133247.39268-1-phi...@linaro.org>
Signed-off-by: Thomas Huth 
(cherry picked from commit 690ceb71936f9037f6e11580709e26b62d83c17c)
Signed-off-by: Michael Tokarev 


  Commit: 6ea6863f215c7f1f3cf7756dc5876a67ba2b90fc
  
https://github.com/qemu/qemu/commit/6ea6863f215c7f1f3cf7756dc5876a67ba2b90fc
  Author: Palmer Dabbelt 
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
M .gitlab-ci.d/opensbi.yml
M .gitlab-ci.d/opensbi/Dockerfile

  Log Message:
  ---
  gitlab/opensbi: Move to docker:stable

The OpenSBI build has been using docker:19.03.1, which appears to be old
enough that v2 of the manifest is no longer supported.  Something has
started serving us those manifests, resulting in errors along the lines
of

$ docker build --cache-from $IMAGE_TAG --tag 
$CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $IMAGE_TAG .gitlab-ci.d/opensbi
Step 1/7 : FROM ubuntu:18.04
18.04: Pulling from library/ubuntu
mediaType in manifest should be 
'application/vnd.docker.distribution.manifest.v2+json' not 
'application/vnd.oci.image.manifest.v1+json'

This moves to docker:stable, as was suggested by the template.  It also
adds the python3 package via apt, as OpenSBI requires that to build.

Reviewed-by: Bin Meng 
Message-ID: <20230303202448.11911-2-pal...@rivosinc.com>
Signed-off-by: Palmer Dabbelt 
(cherry picked from commit 7bc1286b81d4e8380b3083beed1771c67ce87af3)
Signed-off-by: Michael Tokarev 


  Commit: 51cc8762a0c2f8b08d1fc4957c0c309c73241812
  
https://github.com/qemu/qemu/commit/51cc8762a0c2f8b08d1fc4957c0c309c73241812
  Author: Michael Tokarev 
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: do_setsockopt: fix SOL_ALG.ALG_SET_KEY

This setsockopt accepts zero-lengh optlen (current qemu implementation
does not allow this).  Also, there's no need to make a copy of the key,
it is enough to use lock_user() (which accepts zero length already).

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2197
Fixes: f312fc "linux-user: Add support for setsockopt() option SOL_ALG"
Signed-off-by: Michael Tokarev 
Message-Id: <20240331100737.2724186-2-...@tls.msk.ru>
Signed-off-by: Richard Henderson 
(cherry picked from commit 04f6fb897a5aeb3e356a7b889869c9962f9c16c7)
Signed-off-by: Michael Tokarev 


  Commit: a0823c276671b0253f77cf5a1550995c3d06050f
  
https://github.com/qemu/qemu/commit/a0823c276671b0253f77cf5a1550995c3d06050f
  Author: Zhu Yangyang 
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
M nbd/client.c
M nbd/common.c
M nbd/nbd-internal.h
M nbd/server.c

  Log Message:
  ---
  nbd/server: do not poll within a coroutine context

Coroutines are not supposed to block. Instead, they should yield.

The client performs TLS upgrade outside of an AIOContext, during
synchronous handshake; this still requires g_main_loop.  But the
server responds to TLS upgrade inside a coroutine, so a nested
g_main_loop is wrong.  Since the two callbacks no longer share more
than the setting of data.complete and data.error, it's just as easy to
use static helpers instead of trying to share a common code path.  It
is also possible to add assertions that no other code is interfering
with the eventual path to qio reaching the callback, whether or not it
required a yield or main loop.

Fixes: f95910f ("nbd: implement TLS support in the protocol negotiation")
Signed-off-by: Zhu Yangyang 
[eblake: move callbacks to their use point, add assertions]
Signed-off-by: Eric Blake 
Message-ID: <20240408160214.1200629-5-ebl...@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy 
(cherry picked from commit ae6d91a7e9b77abb029ed3fa9fad461422286942)
Signed-off-by: Michael Tokarev 


  Commit: 

[Qemu-commits] [qemu/qemu] 9173d5: gitlab-ci: add manual job to run Coverity

2024-03-05 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/coverity
  Home:   https://github.com/qemu/qemu
  Commit: 9173d5d084182d2d7c65bfc00f9a687ade90b938
  
https://github.com/qemu/qemu/commit/9173d5d084182d2d7c65bfc00f9a687ade90b938
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M .gitlab-ci.d/base.yml
M .gitlab-ci.d/buildtest.yml
M .gitlab-ci.d/opensbi.yml

  Log Message:
  ---
  gitlab-ci: add manual job to run Coverity

Add a job that can be run, either manually or on a schedule, to upload
a build to Coverity Scan.  The job uses the run-coverity-scan script
in multiple phases of check, download tools and upload, in order to
avoid both wasting time (skip everything if you are above the upload
quota) and avoid filling the log with the progress of downloading
the tools.

The job is intended to run on a scheduled pipeline run, and scheduled
runs will not get any other job.  It requires two variables to be in
GitLab CI, COVERITY_TOKEN and COVERITY_EMAIL.  Those are already set up
in qemu-project's configuration as protected and masked variables.

Signed-off-by: Paolo Bonzini 



To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



[Qemu-commits] [qemu/qemu] 1a9a66: gitlab-ci: add manual job to run Coverity

2024-03-05 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/coverity
  Home:   https://github.com/qemu/qemu
  Commit: 1a9a667d6f64027bc28ade2039fc1d77753b2f74
  
https://github.com/qemu/qemu/commit/1a9a667d6f64027bc28ade2039fc1d77753b2f74
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M .gitlab-ci.d/base.yml
M .gitlab-ci.d/buildtest.yml
M .gitlab-ci.d/opensbi.yml

  Log Message:
  ---
  gitlab-ci: add manual job to run Coverity

Add a job that can be run, either manually or on a schedule, to upload
a build to Coverity Scan.  The job uses the run-coverity-scan script
in multiple phases of check, download tools and upload, in order to
avoid both wasting time (skip everything if you are above the upload
quota) and avoid filling the log with the progress of downloading
the tools.

The job is intended to run on a scheduled pipeline run, and scheduled
runs will not get any other job.  It requires two variables to be in
GitLab CI, COVERITY_TOKEN and COVERITY_EMAIL.  Those are already set up
in qemu-project's configuration as protected and masked variables.

Signed-off-by: Paolo Bonzini 



To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



[Qemu-commits] [qemu/qemu] 6526fc: test rules

2024-03-05 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/coverity
  Home:   https://github.com/qemu/qemu
  Commit: 6526fcb7f77adc52a249835e2b89fe7c8f2d3c6c
  
https://github.com/qemu/qemu/commit/6526fcb7f77adc52a249835e2b89fe7c8f2d3c6c
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M .gitlab-ci.d/buildtest.yml

  Log Message:
  ---
  test rules



To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



[Qemu-commits] [qemu/qemu] a81083: test rules

2024-03-05 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/coverity
  Home:   https://github.com/qemu/qemu
  Commit: a8108319bc21151b79eff5c79e1666d774efad16
  
https://github.com/qemu/qemu/commit/a8108319bc21151b79eff5c79e1666d774efad16
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M .gitlab-ci.d/buildtest.yml

  Log Message:
  ---
  test rules



To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



[Qemu-commits] [qemu/qemu] 0170f3: hw/intc/apic: fix memory leak

2024-03-05 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/coverity
  Home:   https://github.com/qemu/qemu
  Commit: 0170f3ea3daab19d8acdc824692ebc1b35b39f1b
  
https://github.com/qemu/qemu/commit/0170f3ea3daab19d8acdc824692ebc1b35b39f1b
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M hw/intc/apic.c

  Log Message:
  ---
  hw/intc/apic: fix memory leak

deliver_bitmask is allocated on the heap in apic_deliver(), but there
are many paths in the function that return before the corresponding
g_free() is reached.  Fix this by switching to g_autofree and, while at
it, also switch to g_new.  Do the same in apic_deliver_irq() as well
for consistency.

Fixes: b5ee0468e9d ("apic: add support for x2APIC mode", 2024-02-14)
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Bui Quang Minh 
Signed-off-by: Paolo Bonzini 


  Commit: f0060d46918baf02dd679b53725426f7b15c50bf
  
https://github.com/qemu/qemu/commit/f0060d46918baf02dd679b53725426f7b15c50bf
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M util/oslib-posix.c

  Log Message:
  ---
  oslib-posix: fix memory leak in touch_all_pages

touch_all_pages() can return early, before creating threads.  In this case,
however, it leaks the MemsetContext that it has allocated at the
beginning of the function.

Reported by Coverity as CID 1534922.

Fixes: 04accf43df8 ("oslib-posix: initialize backend memory objects in 
parallel", 2024-02-06)
Reviewed-by: Mark Kanda 
Signed-off-by: Paolo Bonzini 


  Commit: ac056cbb54e7629792abc8067680d107beb65a8b
  
https://github.com/qemu/qemu/commit/ac056cbb54e7629792abc8067680d107beb65a8b
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M .gitlab-ci.d/buildtest.yml
M configs/devices/mips-softmmu/common.mak
M configs/devices/mips64el-softmmu/default.mak
M hw/display/Kconfig
M hw/mips/Kconfig

  Log Message:
  ---
  mips: do not list individual devices from configs/

Add new "select" and "imply" directives if needed.  The resulting
config-devices.mak files are the same as before.
Builds without default devices will become much smaller
than before, and qtests fail (as expected, though suboptimal)
for mips64-softmmu because most tests do not use -nodefaults,
so remove it from build-without-defaults

Signed-off-by: Paolo Bonzini 


  Commit: 395d5d09c7ac1b4a39c62eb0704ead120ea071ca
  
https://github.com/qemu/qemu/commit/395d5d09c7ac1b4a39c62eb0704ead120ea071ca
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M target/i386/tcg/emit.c.inc
M target/i386/tcg/translate.c

  Log Message:
  ---
  target/i386: use TSTEQ/TSTNE to test low bits

When testing the sign bit or equality to zero of a partial register, it
is useful to use a single TSTEQ or TSTNE operation.  It can also be used
to test the parity flag, using bit 0 of the population count.

Do not do this for target_ulong-sized values however; the optimizer would
produce a comparison against zero anyway, and it avoids shifts by 64
which are undefined behavior.

Reviewed-by: Richard Henderson 
Signed-off-by: Paolo Bonzini 


  Commit: af870441278a8a1e986001e29dfd314d4a0aa68c
  
https://github.com/qemu/qemu/commit/af870441278a8a1e986001e29dfd314d4a0aa68c
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

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

  Log Message:
  ---
  target/i386: use TSTEQ/TSTNE to check flags

The new conditions obviously come in handy when testing individual bits
of EFLAGS, and they make it possible to remove the .mask field of
CCPrepare.

Lowering to shift+and is done by the optimizer if necessary.

Reviewed-by: Richard Henderson 
Signed-off-by: Paolo Bonzini 


  Commit: c80a048f383cebdefbf6a7a325e5fc74b1900bca
  
https://github.com/qemu/qemu/commit/c80a048f383cebdefbf6a7a325e5fc74b1900bca
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

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

  Log Message:
  ---
  target/i386: remove mask from CCPrepare

With the introduction of TSTEQ and TSTNE the .mask field is always -1,
so remove all the now-unnecessary code.

Reviewed-by: Richard Henderson 
Signed-off-by: Paolo Bonzini 


  Commit: d8f4a7a80e76cc28ccf9d2912fbf0643ba232917
  
https://github.com/qemu/qemu/commit/d8f4a7a80e76cc28ccf9d2912fbf0643ba232917
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M scripts/coverity-scan/run-coverity-scan

  Log Message:
  ---
  run-coverity-scan: add --check-upload-only option

Add an option to check if upload is permitted without actually
attempting a build.  This can be useful to add a third outcome
beyond success and failure---namely, a CI job can self-cancel
if the uploading quota has been reached.

Signed-off-by: Paolo Bonzini 


  Commit: 8f2860a14fa16be2d39f118ab5bf86fbc8f97d64
  

[Qemu-commits] [qemu/qemu] efb1c1: hw/scsi/lsi53c895a: add timer to scripts processing

2024-03-05 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/coverity
  Home:   https://github.com/qemu/qemu
  Commit: efb1c1d294a097507acdd9f1c725d140f347bf02
  
https://github.com/qemu/qemu/commit/efb1c1d294a097507acdd9f1c725d140f347bf02
  Author: Sven Schnelle 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M hw/scsi/lsi53c895a.c
M hw/scsi/trace-events

  Log Message:
  ---
  hw/scsi/lsi53c895a: add timer to scripts processing

HP-UX 10.20 seems to make the lsi53c895a spinning on a memory location
under certain circumstances. As the SCSI controller and CPU are not
running at the same time this loop will never finish. After some
time, the check loop interrupts with a unexpected device disconnect.
This works, but is slow because the kernel resets the scsi controller.
Instead of signaling UDC, start a timer and exit the loop. Until the
timer fires, the CPU can process instructions which might changes the
memory location.

The limit of instructions is also reduced because scripts running on
the SCSI processor are usually very short. This keeps the time until
the loop is exit short.

Suggested-by: Peter Maydell 
Signed-off-by: Sven Schnelle 
Message-ID: <20240229204407.1699260-1-sv...@stackframe.org>
Signed-off-by: Paolo Bonzini 


  Commit: 50a715c77c23d963bb5196caaedcf555833c1f24
  
https://github.com/qemu/qemu/commit/50a715c77c23d963bb5196caaedcf555833c1f24
  Author: Dmitrii Gavrilov 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M system/qdev-monitor.c

  Log Message:
  ---
  system/qdev-monitor: move drain_call_rcu call under if (!dev) in 
qmp_device_add()

Original goal of addition of drain_call_rcu to qmp_device_add was to cover
the failure case of qdev_device_add. It seems call of drain_call_rcu was
misplaced in 7bed89958bfbf40df what led to waiting for pending RCU callbacks
under happy path too. What led to overall performance degradation of
qmp_device_add.

In this patch call of drain_call_rcu moved under handling of failure of
qdev_device_add.

Signed-off-by: Dmitrii Gavrilov 
Message-ID: <20231103105602.90475-1-ds-g...@yandex-team.ru>
Fixes: 7bed89958bf ("device_core: use drain_call_rcu in in qmp_device_add", 
2020-10-12)
Cc: qemu-sta...@nongnu.org
Signed-off-by: Paolo Bonzini 


  Commit: 6ed0b8431ca71d14a1f73947b5303f96524ca339
  
https://github.com/qemu/qemu/commit/6ed0b8431ca71d14a1f73947b5303f96524ca339
  Author: Akihiko Odaki 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M meson.build

  Log Message:
  ---
  meson: Remove --warn-common ldflag

--warn-common ldflag causes warnings for multiple definitions of
___asan_globals_registered when enabling AddressSanitizer with clang.
The warning is somewhat obsolete so just remove it.

The common block is used to allow duplicate definitions of uninitialized
global variables. In the past, GCC and clang used to place such
variables in a common block by default, which prevented programmers for
noticing accidental duplicate definitions. Commit 49237acdb725 ("Enable
ld flag --warn-common") added --warn-common ldflag so that ld warns in
such a case.

Today, both of GCC and clang don't use common blocks by default[1][2] so
any remaining use of common blocks should be intentional. Remove
--warn-common ldflag to suppress warnings for intentional use of
common blocks.

[1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85678
[2]: https://reviews.llvm.org/D75056

Signed-off-by: Akihiko Odaki 
Message-ID: <20240304-common-v1-1-1a2005d1f...@daynix.com>
Signed-off-by: Paolo Bonzini 


  Commit: 9ae56d2e469629858b14a8976b2de77cf154d40f
  
https://github.com/qemu/qemu/commit/9ae56d2e469629858b14a8976b2de77cf154d40f
  Author: Sven Schnelle 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M hw/scsi/lsi53c895a.c

  Log Message:
  ---
  hw/scsi/lsi53c895a: stop script on phase mismatch

Netbsd isn't happy with qemu lsi53c895a emulation:

cd0(esiop0:0:2:0): command with tag id 0 reset
esiop0: autoconfiguration error: phase mismatch without command
esiop0: autoconfiguration error: unhandled scsi interrupt, sist=0x80 sstat1=0x0 
DSA=0x23a64b1 DSP=0x50

This is because lsi_bad_phase() triggers a phase mismatch, which
stops SCRIPT processing. However, after returning to
lsi_command_complete(), SCRIPT is restarted with lsi_resume_script().
Fix this by adding a return value to lsi_bad_phase(), and only resume
script processing when lsi_bad_phase() didn't trigger a host interrupt.

Signed-off-by: Sven Schnelle 
Tested-by: Helge Deller 
Message-ID: <20240302214453.2071388-1-sv...@stackframe.org>
Signed-off-by: Paolo Bonzini 


  Commit: ec2c2fce769234cc7298bc9a78b999fffa46d497
  
https://github.com/qemu/qemu/commit/ec2c2fce769234cc7298bc9a78b999fffa46d497
  Author: Paolo Bonzini 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M scripts/coverity-scan/run-coverity-scan

  Log Message:
  ---
  run-coverity-scan: add --check-upload-only option

Add an option to check if upload is 

[Qemu-commits] [qemu/qemu] 9b89d0: gitlab: force allow use of pip in Cirrus jobs

2024-03-02 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging-7.2
  Home:   https://github.com/qemu/qemu
  Commit: 9b89d02d8b44c259f2ed7b089c7c3489f19e41c7
  
https://github.com/qemu/qemu/commit/9b89d02d8b44c259f2ed7b089c7c3489f19e41c7
  Author: Daniel P. Berrangé 
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
M .gitlab-ci.d/cirrus/build.yml

  Log Message:
  ---
  gitlab: force allow use of pip in Cirrus jobs

Python is transitioning to a world where you're not allowed to use 'pip
install' outside of a virutal env by default. The rationale is to stop
use of pip clashing with distro provided python packages, which creates
a major headache on distro upgrades.

All our CI environments, however, are 100% disposable so the upgrade
headaches don't exist. Thus we can undo the python defaults to allow
pip to work.

Signed-off-by: Daniel P. Berrangé 
Tested-by: Philippe Mathieu-Daudé 
Tested-by: Thomas Huth 
Message-id: 20240222114038.2348718-1-berra...@redhat.com
Signed-off-by: Peter Maydell 
(cherry picked from commit a8bf9de2f4f398315ac5340e4b88c478d5457731)
Signed-off-by: Michael Tokarev 


  Commit: 8dd9165e7c0bf5e108d443b73a36cb602982bd62
  
https://github.com/qemu/qemu/commit/8dd9165e7c0bf5e108d443b73a36cb602982bd62
  Author: Benjamin David Lunt 
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
M hw/usb/bus.c

  Log Message:
  ---
  hw/usb/bus.c: PCAP adding 0xA in Windows version

Since Windows text files use CRLFs for all \n, the Windows version of QEMU
inserts a CR in the PCAP stream when a LF is encountered when using USB PCAP
files. This is due to the fact that the PCAP file is opened as TEXT instead
of BINARY.

To show an example, when using a very common protocol to USB disks, the BBB
protocol uses a 10-byte command packet. For example, the READ_CAPACITY(10)
command will have a command block length of 10 (0xA). When this 10-byte
command (part of the 31-byte CBW) is placed into the PCAP file, the Windows
file manager inserts a 0xD before the 0xA, turning the 31-byte CBW into a
32-byte CBW.

Actual CBW:
  0040 55 53 42 43 01 00 00 00 08 00 00 00 80 00 0a 25 USBC...%
  0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ...

PCAP CBW
  0040 55 53 42 43 01 00 00 00 08 00 00 00 80 00 0d 0a USBC
  0050 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 %..

I believe simply opening the PCAP file as BINARY instead of TEXT will fix
this issue.

Resolves: https://bugs.launchpad.net/qemu/+bug/2054889
Signed-off-by: Benjamin David Lunt 
Message-ID: <000101da6823$ce1bbf80$6a533e80$@fysnet.net>
[thuth: Break long line to avoid checkpatch.pl error]
Signed-off-by: Thomas Huth 
(cherry picked from commit 5e02a4fdebc442e34c5bb05e4540f85cc6e802f0)
Signed-off-by: Michael Tokarev 


  Commit: 72e2a246385c0162df948824f1cc19e0b37548e9
  
https://github.com/qemu/qemu/commit/72e2a246385c0162df948824f1cc19e0b37548e9
  Author: Thomas Huth 
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
M tests/unit/test-util-sockets.c

  Log Message:
  ---
  tests/unit/test-util-sockets: Remove temporary file after test

test-util-sockets leaves the temporary socket files around in the
temporary files folder. Let's better remove them at the end of the
testing.

Fixes: 4d3a329af5 ("tests/util-sockets: add abstract unix socket cases")
Message-ID: <20240226082728.249753-1-th...@redhat.com>
Reviewed-by: Marc-André Lureau 
Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Thomas Huth 
(cherry picked from commit f0cb6828ae34fb56fbb869bb3147a636d1c984ce)
Signed-off-by: Michael Tokarev 


  Commit: 73bf928177b6e3c894de9fe3796161219a4e1412
  
https://github.com/qemu/qemu/commit/73bf928177b6e3c894de9fe3796161219a4e1412
  Author: Eric Auger 
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
M tests/unit/test-vmstate.c

  Log Message:
  ---
  test-vmstate: fix bad GTree usage, use-after-free

According to g_tree_foreach() documentation:
"The tree may not be modified while iterating over it (you can't
add/remove items)."

compare_trees()/diff_tree() fail to respect this rule.
Historically GLib2 used a slice allocator for the GTree APIs
which did not immediately release the memory back to the system
allocator. As a result QEMU's use-after-free bug was not visible.
With GLib > 2.75.3 however, GLib2 has switched to using malloc
and now a SIGSEGV can be observed while running test-vmstate.

Get rid of the node removal within the tree traversal. Also
check the trees have the same number of nodes before the actual
diff.

Fixes: 9a85e4b8f6 ("migration: Support gtree migration")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1518
Signed-off-by: Marc-André Lureau 
Signed-off-by: Eric Auger 
Reported-by: Richard W.M. Jones 
Tested-by: Richard W.M. Jones 
Reviewed-by: Richard W.M. Jones 
Reviewed-by: Daniel P. Berrangé 
Reviewed-by: Juan Quintela 
Signed-off-by: Juan Quintela 
(cherry picked from commit 

[Qemu-commits] [qemu/qemu] ff692a: virtio: qmp: fix memory leak

2023-05-28 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging-8.0
  Home:   https://github.com/qemu/qemu
  Commit: ff692a15bbc13b6a12ce9d5e6802bdfc209c1ea3
  
https://github.com/qemu/qemu/commit/ff692a15bbc13b6a12ce9d5e6802bdfc209c1ea3
  Author: Paolo Bonzini 
  Date:   2023-05-27 (Sat, 27 May 2023)

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

  Log Message:
  ---
  virtio: qmp: fix memory leak

The VirtioInfoList is already allocated by QAPI_LIST_PREPEND and
need not be allocated by the caller.

Fixes Coverity CID 1508724.

Reviewed-by: Daniel P. Berrangé 
Signed-off-by: Paolo Bonzini 
(cherry picked from commit 0bfd14149b248e8097ea4da1f9d53beb5c5b0cca)
Signed-off-by: Michael Tokarev 





[Qemu-commits] [qemu/qemu]

2023-03-21 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/tags/v8.0.0-rc1
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu]

2023-03-14 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/tags/v8.0.0-rc0
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu]

2022-12-13 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/tags/v7.2.0
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu] b67b00: Update VERSION for v7.2.0

2022-12-13 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: b67b00e6b4c7831a3f5bc684bc0df7a9bfd1bd56
  
https://github.com/qemu/qemu/commit/b67b00e6b4c7831a3f5bc684bc0df7a9bfd1bd56
  Author: Stefan Hajnoczi 
  Date:   2022-12-13 (Tue, 13 Dec 2022)

  Changed paths:
M VERSION

  Log Message:
  ---
  Update VERSION for v7.2.0

Signed-off-by: Stefan Hajnoczi 





[Qemu-commits] [qemu/qemu] ea3a00: Update VERSION for v7.2.0-rc4

2022-12-06 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: ea3a008d2d9ced9c4f93871c823baee237047f93
  
https://github.com/qemu/qemu/commit/ea3a008d2d9ced9c4f93871c823baee237047f93
  Author: Stefan Hajnoczi 
  Date:   2022-12-06 (Tue, 06 Dec 2022)

  Changed paths:
M VERSION

  Log Message:
  ---
  Update VERSION for v7.2.0-rc4

Signed-off-by: Stefan Hajnoczi 





[Qemu-commits] [qemu/qemu]

2022-12-06 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/tags/v7.2.0-rc4
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu] ea3a00: Update VERSION for v7.2.0-rc4

2022-12-06 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: ea3a008d2d9ced9c4f93871c823baee237047f93
  
https://github.com/qemu/qemu/commit/ea3a008d2d9ced9c4f93871c823baee237047f93
  Author: Stefan Hajnoczi 
  Date:   2022-12-06 (Tue, 06 Dec 2022)

  Changed paths:
M VERSION

  Log Message:
  ---
  Update VERSION for v7.2.0-rc4

Signed-off-by: Stefan Hajnoczi 





[Qemu-commits] [qemu/qemu] edc93f: Revert "hw/loongarch/virt: Add cfi01 pflash device"

2022-12-06 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: edc93f455fa823a9a5fcb3a8da430104c7375a0a
  
https://github.com/qemu/qemu/commit/edc93f455fa823a9a5fcb3a8da430104c7375a0a
  Author: Song Gao 
  Date:   2022-12-05 (Mon, 05 Dec 2022)

  Changed paths:
M hw/loongarch/Kconfig
M hw/loongarch/acpi-build.c
M hw/loongarch/virt.c
M include/hw/loongarch/virt.h

  Log Message:
  ---
  Revert "hw/loongarch/virt: Add cfi01 pflash device"

This reverts commit 14dccc8ea6ece7ee63273144fb55e4770a05e0fd.

Signed-off-by: Song Gao 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221205113007.683505-1-gaos...@loongson.cn>


  Commit: a313ff66708087a121bf108c07f4446fb6167886
  
https://github.com/qemu/qemu/commit/a313ff66708087a121bf108c07f4446fb6167886
  Author: Stefan Hajnoczi 
  Date:   2022-12-06 (Tue, 06 Dec 2022)

  Changed paths:
M VERSION

  Log Message:
  ---
  Update version for 7.2.0 release

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/aaf47c7e8b19...a313ff667080



[Qemu-commits] [qemu/qemu] 523e40: tests/qtests: override "force-legacy" for gpio vir...

2022-12-04 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 523e40022fc9522bb6bc13e4ce9eb4d1613ab5dc
  
https://github.com/qemu/qemu/commit/523e40022fc9522bb6bc13e4ce9eb4d1613ab5dc
  Author: Alex Bennée 
  Date:   2022-12-01 (Thu, 01 Dec 2022)

  Changed paths:
M tests/qtest/libqos/virtio-gpio.c

  Log Message:
  ---
  tests/qtests: override "force-legacy" for gpio virtio-mmio tests

The GPIO device is a VIRTIO_F_VERSION_1 devices but running with a
legacy MMIO interface we miss out that feature bit causing confusion.
For the GPIO test force the mmio bus to support non-legacy so we can
properly test it.

Signed-off-by: Alex Bennée 
Reviewed-by: Michael S. Tsirkin 
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1333
Message-Id: <20221130112439.2527228-2-alex.ben...@linaro.org>
Acked-by: Thomas Huth 
Signed-off-by: Michael S. Tsirkin 


  Commit: 4daa5054c599c8aec70f1264a01341a15921c145
  
https://github.com/qemu/qemu/commit/4daa5054c599c8aec70f1264a01341a15921c145
  Author: Stefano Garzarella 
  Date:   2022-12-01 (Thu, 01 Dec 2022)

  Changed paths:
M backends/cryptodev-vhost.c
M backends/vhost-user.c
M hw/block/vhost-user-blk.c
M hw/net/vhost_net.c
M hw/scsi/vhost-scsi-common.c
M hw/virtio/trace-events
M hw/virtio/vhost-user-fs.c
M hw/virtio/vhost-user-gpio.c
M hw/virtio/vhost-user-i2c.c
M hw/virtio/vhost-user-rng.c
M hw/virtio/vhost-vsock-common.c
M hw/virtio/vhost.c
M include/hw/virtio/vhost.h

  Log Message:
  ---
  vhost: enable vrings in vhost_dev_start() for vhost-user devices

Commit 02b61f38d3 ("hw/virtio: incorporate backend features in features")
properly negotiates VHOST_USER_F_PROTOCOL_FEATURES with the vhost-user
backend, but we forgot to enable vrings as specified in
docs/interop/vhost-user.rst:

If ``VHOST_USER_F_PROTOCOL_FEATURES`` has not been negotiated, the
ring starts directly in the enabled state.

If ``VHOST_USER_F_PROTOCOL_FEATURES`` has been negotiated, the ring is
initialized in a disabled state and is enabled by
``VHOST_USER_SET_VRING_ENABLE`` with parameter 1.

Some vhost-user front-ends already did this by calling
vhost_ops.vhost_set_vring_enable() directly:
- backends/cryptodev-vhost.c
- hw/net/virtio-net.c
- hw/virtio/vhost-user-gpio.c

But most didn't do that, so we would leave the vrings disabled and some
backends would not work. We observed this issue with the rust version of
virtiofsd [1], which uses the event loop [2] provided by the
vhost-user-backend crate where requests are not processed if vring is
not enabled.

Let's fix this issue by enabling the vrings in vhost_dev_start() for
vhost-user front-ends that don't already do this directly. Same thing
also in vhost_dev_stop() where we disable vrings.

[1] https://gitlab.com/virtio-fs/virtiofsd
[2] 
https://github.com/rust-vmm/vhost/blob/240fc2966/crates/vhost-user-backend/src/event_loop.rs#L217

Fixes: 02b61f38d3 ("hw/virtio: incorporate backend features in features")
Reported-by: German Maglione 
Tested-by: German Maglione 
Signed-off-by: Stefano Garzarella 
Acked-by: Raphael Norwitz 
Message-Id: <20221123131630.52020-1-sgarz...@redhat.com>
Signed-off-by: Alex Bennée 
Reviewed-by: Michael S. Tsirkin 
Message-Id: <20221130112439.2527228-3-alex.ben...@linaro.org>
Signed-off-by: Michael S. Tsirkin 


  Commit: 060f4a944072ecf37cece0f16a0609babfb679b8
  
https://github.com/qemu/qemu/commit/060f4a944072ecf37cece0f16a0609babfb679b8
  Author: Alex Bennée 
  Date:   2022-12-01 (Thu, 01 Dec 2022)

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

  Log Message:
  ---
  hw/virtio: add started_vu status field to vhost-user-gpio

As per the fix to vhost-user-blk in f5b22d06fb (vhost: recheck dev
state in the vhost_migration_log routine) we really should track the
connection and starting separately.

Signed-off-by: Alex Bennée 
Reviewed-by: Michael S. Tsirkin 
Message-Id: <20221130112439.2527228-4-alex.ben...@linaro.org>
Signed-off-by: Michael S. Tsirkin 


  Commit: 71e076a07dc195129fe25d90d4b276be3b2f12d8
  
https://github.com/qemu/qemu/commit/71e076a07dc195129fe25d90d4b276be3b2f12d8
  Author: Alex Bennée 
  Date:   2022-12-01 (Thu, 01 Dec 2022)

  Changed paths:
M hw/block/vhost-user-blk.c
M hw/virtio/vhost-user-gpio.c
M hw/virtio/vhost-user.c
M include/hw/virtio/vhost-user.h

  Log Message:
  ---
  hw/virtio: generalise CHR_EVENT_CLOSED handling

..and use for both virtio-user-blk and virtio-user-gpio. This avoids
the circular close by deferring shutdown due to disconnection until a
later point. virtio-user-blk already had this mechanism in place so
generalise it as a vhost-user helper function and use for both blk and
gpio devices.

While we are at it we also fix up vhost-user-gpio to re-establish the
event handler after close down so we can reconnect later.

Signed-off-by: Alex Bennée 
Reviewed-by: Michael S. Tsirkin 

[Qemu-commits] [qemu/qemu] 523e40: tests/qtests: override "force-legacy" for gpio vir...

2022-12-04 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 523e40022fc9522bb6bc13e4ce9eb4d1613ab5dc
  
https://github.com/qemu/qemu/commit/523e40022fc9522bb6bc13e4ce9eb4d1613ab5dc
  Author: Alex Bennée 
  Date:   2022-12-01 (Thu, 01 Dec 2022)

  Changed paths:
M tests/qtest/libqos/virtio-gpio.c

  Log Message:
  ---
  tests/qtests: override "force-legacy" for gpio virtio-mmio tests

The GPIO device is a VIRTIO_F_VERSION_1 devices but running with a
legacy MMIO interface we miss out that feature bit causing confusion.
For the GPIO test force the mmio bus to support non-legacy so we can
properly test it.

Signed-off-by: Alex Bennée 
Reviewed-by: Michael S. Tsirkin 
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1333
Message-Id: <20221130112439.2527228-2-alex.ben...@linaro.org>
Acked-by: Thomas Huth 
Signed-off-by: Michael S. Tsirkin 


  Commit: 4daa5054c599c8aec70f1264a01341a15921c145
  
https://github.com/qemu/qemu/commit/4daa5054c599c8aec70f1264a01341a15921c145
  Author: Stefano Garzarella 
  Date:   2022-12-01 (Thu, 01 Dec 2022)

  Changed paths:
M backends/cryptodev-vhost.c
M backends/vhost-user.c
M hw/block/vhost-user-blk.c
M hw/net/vhost_net.c
M hw/scsi/vhost-scsi-common.c
M hw/virtio/trace-events
M hw/virtio/vhost-user-fs.c
M hw/virtio/vhost-user-gpio.c
M hw/virtio/vhost-user-i2c.c
M hw/virtio/vhost-user-rng.c
M hw/virtio/vhost-vsock-common.c
M hw/virtio/vhost.c
M include/hw/virtio/vhost.h

  Log Message:
  ---
  vhost: enable vrings in vhost_dev_start() for vhost-user devices

Commit 02b61f38d3 ("hw/virtio: incorporate backend features in features")
properly negotiates VHOST_USER_F_PROTOCOL_FEATURES with the vhost-user
backend, but we forgot to enable vrings as specified in
docs/interop/vhost-user.rst:

If ``VHOST_USER_F_PROTOCOL_FEATURES`` has not been negotiated, the
ring starts directly in the enabled state.

If ``VHOST_USER_F_PROTOCOL_FEATURES`` has been negotiated, the ring is
initialized in a disabled state and is enabled by
``VHOST_USER_SET_VRING_ENABLE`` with parameter 1.

Some vhost-user front-ends already did this by calling
vhost_ops.vhost_set_vring_enable() directly:
- backends/cryptodev-vhost.c
- hw/net/virtio-net.c
- hw/virtio/vhost-user-gpio.c

But most didn't do that, so we would leave the vrings disabled and some
backends would not work. We observed this issue with the rust version of
virtiofsd [1], which uses the event loop [2] provided by the
vhost-user-backend crate where requests are not processed if vring is
not enabled.

Let's fix this issue by enabling the vrings in vhost_dev_start() for
vhost-user front-ends that don't already do this directly. Same thing
also in vhost_dev_stop() where we disable vrings.

[1] https://gitlab.com/virtio-fs/virtiofsd
[2] 
https://github.com/rust-vmm/vhost/blob/240fc2966/crates/vhost-user-backend/src/event_loop.rs#L217

Fixes: 02b61f38d3 ("hw/virtio: incorporate backend features in features")
Reported-by: German Maglione 
Tested-by: German Maglione 
Signed-off-by: Stefano Garzarella 
Acked-by: Raphael Norwitz 
Message-Id: <20221123131630.52020-1-sgarz...@redhat.com>
Signed-off-by: Alex Bennée 
Reviewed-by: Michael S. Tsirkin 
Message-Id: <20221130112439.2527228-3-alex.ben...@linaro.org>
Signed-off-by: Michael S. Tsirkin 


  Commit: 060f4a944072ecf37cece0f16a0609babfb679b8
  
https://github.com/qemu/qemu/commit/060f4a944072ecf37cece0f16a0609babfb679b8
  Author: Alex Bennée 
  Date:   2022-12-01 (Thu, 01 Dec 2022)

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

  Log Message:
  ---
  hw/virtio: add started_vu status field to vhost-user-gpio

As per the fix to vhost-user-blk in f5b22d06fb (vhost: recheck dev
state in the vhost_migration_log routine) we really should track the
connection and starting separately.

Signed-off-by: Alex Bennée 
Reviewed-by: Michael S. Tsirkin 
Message-Id: <20221130112439.2527228-4-alex.ben...@linaro.org>
Signed-off-by: Michael S. Tsirkin 


  Commit: 71e076a07dc195129fe25d90d4b276be3b2f12d8
  
https://github.com/qemu/qemu/commit/71e076a07dc195129fe25d90d4b276be3b2f12d8
  Author: Alex Bennée 
  Date:   2022-12-01 (Thu, 01 Dec 2022)

  Changed paths:
M hw/block/vhost-user-blk.c
M hw/virtio/vhost-user-gpio.c
M hw/virtio/vhost-user.c
M include/hw/virtio/vhost-user.h

  Log Message:
  ---
  hw/virtio: generalise CHR_EVENT_CLOSED handling

..and use for both virtio-user-blk and virtio-user-gpio. This avoids
the circular close by deferring shutdown due to disconnection until a
later point. virtio-user-blk already had this mechanism in place so
generalise it as a vhost-user helper function and use for both blk and
gpio devices.

While we are at it we also fix up vhost-user-gpio to re-establish the
event handler after close down so we can reconnect later.

Signed-off-by: Alex Bennée 
Reviewed-by: Michael S. Tsirkin 

[Qemu-commits] [qemu/qemu]

2022-11-29 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/tags/v7.2.0-rc3
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu] 61c34f: hw/display/qxl: Have qxl_log_command Return early ...

2022-11-29 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 61c34fc194b776ecadc39fb26b061331107e5599
  
https://github.com/qemu/qemu/commit/61c34fc194b776ecadc39fb26b061331107e5599
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl-logger.c

  Log Message:
  ---
  hw/display/qxl: Have qxl_log_command Return early if no log_cmd handler

Only 3 command types are logged: no need to call qxl_phys2virt()
for the other types. Using different cases will help to pass
different structure sizes to qxl_phys2virt() in a pair of commits.

Reviewed-by: Marc-André Lureau 
Signed-off-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-2-phi...@linaro.org>


  Commit: b1901de83a9456cde26fc755f71ca2b7b3ef50fc
  
https://github.com/qemu/qemu/commit/b1901de83a9456cde26fc755f71ca2b7b3ef50fc
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl.h

  Log Message:
  ---
  hw/display/qxl: Document qxl_phys2virt()

Reviewed-by: Marc-André Lureau 
Signed-off-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-3-phi...@linaro.org>


  Commit: 8efec0ef8bbc1e75a7ebf6e325a35806ece9b39f
  
https://github.com/qemu/qemu/commit/8efec0ef8bbc1e75a7ebf6e325a35806ece9b39f
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl-logger.c
M hw/display/qxl-render.c
M hw/display/qxl.c
M hw/display/qxl.h

  Log Message:
  ---
  hw/display/qxl: Pass requested buffer size to qxl_phys2virt()

Currently qxl_phys2virt() doesn't check for buffer overrun.
In order to do so in the next commit, pass the buffer size
as argument.

For QXLCursor in qxl_render_cursor() -> qxl_cursor() we
verify the size of the chunked data ahead, checking we can
access 'sizeof(QXLCursor) + chunk->data_size' bytes.
Since in the SPICE_CURSOR_TYPE_MONO case the cursor is
assumed to fit in one chunk, no change are required.
In SPICE_CURSOR_TYPE_ALPHA the ahead read is handled in
qxl_unpack_chunks().

Signed-off-by: Philippe Mathieu-Daudé 
Acked-by: Gerd Hoffmann 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-4-phi...@linaro.org>


  Commit: 6dbbf055148c6f1b7d8a3251a65bd6f3d1e1f622
  
https://github.com/qemu/qemu/commit/6dbbf055148c6f1b7d8a3251a65bd6f3d1e1f622
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl.c
M hw/display/qxl.h

  Log Message:
  ---
  hw/display/qxl: Avoid buffer overrun in qxl_phys2virt (CVE-2022-4144)

Have qxl_get_check_slot_offset() return false if the requested
buffer size does not fit within the slot memory region.

Similarly qxl_phys2virt() now returns NULL in such case, and
qxl_dirty_one_surface() aborts.

This avoids buffer overrun in the host pointer returned by
memory_region_get_ram_ptr().

Fixes: CVE-2022-4144 (out-of-bounds read)
Reported-by: Wenxu Yin (@awxylitol)
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1336
Signed-off-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-5-phi...@linaro.org>


  Commit: 86fdb0582c653a9824183679403a85f588260d62
  
https://github.com/qemu/qemu/commit/86fdb0582c653a9824183679403a85f588260d62
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl.c

  Log Message:
  ---
  hw/display/qxl: Assert memory slot fits in preallocated MemoryRegion

Signed-off-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-6-phi...@linaro.org>


  Commit: 7103895123d580bbe93e341241d200e75d8996a1
  
https://github.com/qemu/qemu/commit/7103895123d580bbe93e341241d200e75d8996a1
  Author: Stefan Hajnoczi 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M block/block-backend.c

  Log Message:
  ---
  block-backend: avoid bdrv_unregister_buf() NULL pointer deref

bdrv_*() APIs expect a valid BlockDriverState. Calling them with bs=NULL
leads to undefined behavior.

Jonathan Cameron reported this following NULL pointer dereference when a
VM with a virtio-blk device and a memory-backend-file object is
terminated:
1. qemu_cleanup() closes all drives, setting blk->root to NULL
2. qemu_cleanup() calls user_creatable_cleanup(), which results in a RAM
   block notifier callback because the memory-backend-file is destroyed.
3. blk_unregister_buf() is called by virtio-blk's BlockRamRegistrar
   notifier callback and undefined behavior occurs.

Fixes: baf422684d73 ("virtio-blk: use BDRV_REQ_REGISTERED_BUF optimization 
hint")
Co-authored-by: Jonathan Cameron 
Reviewed-by: Kevin Wolf 
Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221121211923.1993171-1-stefa...@redhat.com>


  Commit: 

[Qemu-commits] [qemu/qemu] a8ee39: update seabios source from 1.16.0 to 1.16.1

2022-11-29 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: a8ee39388dc618a2a4e0084927e95e37373cf763
  
https://github.com/qemu/qemu/commit/a8ee39388dc618a2a4e0084927e95e37373cf763
  Author: Gerd Hoffmann 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M roms/seabios

  Log Message:
  ---
  update seabios source from 1.16.0 to 1.16.1

git shortlog rel-1.16.0..rel-1.16.1
===

Gerd Hoffmann (3):
  malloc: use variable for ZoneHigh size
  malloc: use large ZoneHigh when there is enough memory
  virtio-blk: use larger default request size

Igor Mammedov (1):
  acpi: parse Alias object

Volker Rümelin (2):
  pci: refactor the pci_config_*() functions
  reset: force standard PCI configuration access

Xiaofei Lee (1):
  virtio-blk: Fix incorrect type conversion in virtio_blk_op()

Xuan Zhuo (2):
  virtio-mmio: read/write the hi 32 features for mmio
  virtio: finalize features before using device

Signed-off-by: Gerd Hoffmann 


  Commit: 384a9df5a9ad55ae62dd5db016406e5c740f96b2
  
https://github.com/qemu/qemu/commit/384a9df5a9ad55ae62dd5db016406e5c740f96b2
  Author: Gerd Hoffmann 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M pc-bios/bios-256k.bin
M pc-bios/bios-microvm.bin
M pc-bios/bios.bin
M pc-bios/vgabios-ati.bin
M pc-bios/vgabios-bochs-display.bin
M pc-bios/vgabios-cirrus.bin
M pc-bios/vgabios-qxl.bin
M pc-bios/vgabios-ramfb.bin
M pc-bios/vgabios-stdvga.bin
M pc-bios/vgabios-virtio.bin
M pc-bios/vgabios-vmware.bin
M pc-bios/vgabios.bin

  Log Message:
  ---
  update seabios binaries to 1.16.1

Signed-off-by: Gerd Hoffmann 


  Commit: d39ebb032af71fee54fdaa14420137a9e3cc571a
  
https://github.com/qemu/qemu/commit/d39ebb032af71fee54fdaa14420137a9e3cc571a
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl-logger.c

  Log Message:
  ---
  hw/display/qxl: Have qxl_log_command Return early if no log_cmd handler

Only 3 command types are logged: no need to call qxl_phys2virt()
for the other types. Using different cases will help to pass
different structure sizes to qxl_phys2virt() in a pair of commits.

Reviewed-by: Marc-André Lureau 
Signed-off-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-2-phi...@linaro.org>


  Commit: 3fb14609f169695f968f53c1853bb93d371ba55b
  
https://github.com/qemu/qemu/commit/3fb14609f169695f968f53c1853bb93d371ba55b
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl.h

  Log Message:
  ---
  hw/display/qxl: Document qxl_phys2virt()

Reviewed-by: Marc-André Lureau 
Signed-off-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-3-phi...@linaro.org>


  Commit: a2b2be5334f2e533be5d9423aecfd09d45ae206c
  
https://github.com/qemu/qemu/commit/a2b2be5334f2e533be5d9423aecfd09d45ae206c
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl-logger.c
M hw/display/qxl-render.c
M hw/display/qxl.c
M hw/display/qxl.h

  Log Message:
  ---
  hw/display/qxl: Pass requested buffer size to qxl_phys2virt()

Currently qxl_phys2virt() doesn't check for buffer overrun.
In order to do so in the next commit, pass the buffer size
as argument.

For QXLCursor in qxl_render_cursor() -> qxl_cursor() we
verify the size of the chunked data ahead, checking we can
access 'sizeof(QXLCursor) + chunk->data_size' bytes.
Since in the SPICE_CURSOR_TYPE_MONO case the cursor is
assumed to fit in one chunk, no change are required.
In SPICE_CURSOR_TYPE_ALPHA the ahead read is handled in
qxl_unpack_chunks().

Signed-off-by: Philippe Mathieu-Daudé 
Acked-by: Gerd Hoffmann 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-4-phi...@linaro.org>


  Commit: 3aadaa65a087c3df04b709120dc0f40826d1ab52
  
https://github.com/qemu/qemu/commit/3aadaa65a087c3df04b709120dc0f40826d1ab52
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl.c
M hw/display/qxl.h

  Log Message:
  ---
  hw/display/qxl: Avoid buffer overrun in qxl_phys2virt (CVE-2022-4144)

Have qxl_get_check_slot_offset() return false if the requested
buffer size does not fit within the slot memory region.

Similarly qxl_phys2virt() now returns NULL in such case, and
qxl_dirty_one_surface() aborts.

This avoids buffer overrun in the host pointer returned by
memory_region_get_ram_ptr().

Fixes: CVE-2022-4144 (out-of-bounds read)
Reported-by: Wenxu Yin (@awxylitol)
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1336
Signed-off-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-5-phi...@linaro.org>


  Commit: 379541df725f85ad3891eabdbbbeb96efb13bcba
 

[Qemu-commits] [qemu/qemu] a1f7ef: hw/display/qxl: Have qxl_log_command Return early ...

2022-11-29 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: a1f7efd283c1852407f5f28b20032d0a7c6f0f65
  
https://github.com/qemu/qemu/commit/a1f7efd283c1852407f5f28b20032d0a7c6f0f65
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl-logger.c

  Log Message:
  ---
  hw/display/qxl: Have qxl_log_command Return early if no log_cmd handler

Only 3 command types are logged: no need to call qxl_phys2virt()
for the other types. Using different cases will help to pass
different structure sizes to qxl_phys2virt() in a pair of commits.

Reviewed-by: Marc-André Lureau 
Signed-off-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-2-phi...@linaro.org>


  Commit: bf7f31561f1bfde327a6aec5b3417640cbf5407c
  
https://github.com/qemu/qemu/commit/bf7f31561f1bfde327a6aec5b3417640cbf5407c
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl.h

  Log Message:
  ---
  hw/display/qxl: Document qxl_phys2virt()

Reviewed-by: Marc-André Lureau 
Signed-off-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-3-phi...@linaro.org>


  Commit: e31bba09d5ca7a2493ed10746bfeb21c8ad62663
  
https://github.com/qemu/qemu/commit/e31bba09d5ca7a2493ed10746bfeb21c8ad62663
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl-logger.c
M hw/display/qxl-render.c
M hw/display/qxl.c
M hw/display/qxl.h

  Log Message:
  ---
  hw/display/qxl: Pass requested buffer size to qxl_phys2virt()

Currently qxl_phys2virt() doesn't check for buffer overrun.
In order to do so in the next commit, pass the buffer size
as argument.

For QXLCursor in qxl_render_cursor() -> qxl_cursor() we
verify the size of the chunked data ahead, checking we can
access 'sizeof(QXLCursor) + chunk->data_size' bytes.
Since in the SPICE_CURSOR_TYPE_MONO case the cursor is
assumed to fit in one chunk, no change are required.
In SPICE_CURSOR_TYPE_ALPHA the ahead read is handled in
qxl_unpack_chunks().

Signed-off-by: Philippe Mathieu-Daudé 
Acked-by: Gerd Hoffmann 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-4-phi...@linaro.org>


  Commit: dcc6cef5c2ceb7347b866a3cf148a5c93cb7b608
  
https://github.com/qemu/qemu/commit/dcc6cef5c2ceb7347b866a3cf148a5c93cb7b608
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl.c
M hw/display/qxl.h

  Log Message:
  ---
  hw/display/qxl: Avoid buffer overrun in qxl_phys2virt (CVE-2022-4144)

Have qxl_get_check_slot_offset() return false if the requested
buffer size does not fit within the slot memory region.

Similarly qxl_phys2virt() now returns NULL in such case, and
qxl_dirty_one_surface() aborts.

This avoids buffer overrun in the host pointer returned by
memory_region_get_ram_ptr().

Fixes: CVE-2022-4144 (out-of-bounds read)
Reported-by: Wenxu Yin (@awxylitol)
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1336
Signed-off-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-5-phi...@linaro.org>


  Commit: d8f82b5f08921d8dfeb0aae8c826a21a001d703b
  
https://github.com/qemu/qemu/commit/d8f82b5f08921d8dfeb0aae8c826a21a001d703b
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M hw/display/qxl.c

  Log Message:
  ---
  hw/display/qxl: Assert memory slot fits in preallocated MemoryRegion

Signed-off-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221128202741.4945-6-phi...@linaro.org>


  Commit: abcf39c456f5a7e0a16b3535672a79b3eeda936f
  
https://github.com/qemu/qemu/commit/abcf39c456f5a7e0a16b3535672a79b3eeda936f
  Author: Stefan Hajnoczi 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M VERSION

  Log Message:
  ---
  Update VERSION for v7.2.0-rc3

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/ecbb6bd865d2...abcf39c456f5



[Qemu-commits] [qemu/qemu] ab1b2b: update seabios source from 1.16.0 to 1.16.1

2022-11-29 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: ab1b2ba9c9e9871bb622b0f14a1b2e3f4adaa68f
  
https://github.com/qemu/qemu/commit/ab1b2ba9c9e9871bb622b0f14a1b2e3f4adaa68f
  Author: Gerd Hoffmann 
  Date:   2022-11-28 (Mon, 28 Nov 2022)

  Changed paths:
M roms/seabios

  Log Message:
  ---
  update seabios source from 1.16.0 to 1.16.1

git shortlog rel-1.16.0..rel-1.16.1
===

Gerd Hoffmann (3):
  malloc: use variable for ZoneHigh size
  malloc: use large ZoneHigh when there is enough memory
  virtio-blk: use larger default request size

Igor Mammedov (1):
  acpi: parse Alias object

Volker Rümelin (2):
  pci: refactor the pci_config_*() functions
  reset: force standard PCI configuration access

Xiaofei Lee (1):
  virtio-blk: Fix incorrect type conversion in virtio_blk_op()

Xuan Zhuo (2):
  virtio-mmio: read/write the hi 32 features for mmio
  virtio: finalize features before using device

Signed-off-by: Gerd Hoffmann 


  Commit: a704cb59fd87cd015177a823974ca2380aac6bfd
  
https://github.com/qemu/qemu/commit/a704cb59fd87cd015177a823974ca2380aac6bfd
  Author: Gerd Hoffmann 
  Date:   2022-11-28 (Mon, 28 Nov 2022)

  Changed paths:
M pc-bios/bios-256k.bin
M pc-bios/bios-microvm.bin
M pc-bios/bios.bin
M pc-bios/vgabios-ati.bin
M pc-bios/vgabios-bochs-display.bin
M pc-bios/vgabios-cirrus.bin
M pc-bios/vgabios-qxl.bin
M pc-bios/vgabios-ramfb.bin
M pc-bios/vgabios-stdvga.bin
M pc-bios/vgabios-virtio.bin
M pc-bios/vgabios-vmware.bin
M pc-bios/vgabios.bin

  Log Message:
  ---
  update seabios binaries to 1.16.1

Signed-off-by: Gerd Hoffmann 


  Commit: fb72e779ebe3a51f55b16a49738380ee3e54c7d5
  
https://github.com/qemu/qemu/commit/fb72e779ebe3a51f55b16a49738380ee3e54c7d5
  Author: Richard Henderson 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M replay/replay-internal.h

  Log Message:
  ---
  replay: Fix declaration of replay_read_next_clock

Fixes the build with gcc 13:

replay/replay-time.c:34:6: error: conflicting types for  \
  'replay_read_next_clock' due to enum/integer mismatch; \
  have 'void(ReplayClockKind)' [-Werror=enum-int-mismatch]
   34 | void replay_read_next_clock(ReplayClockKind kind)
  |  ^~
In file included from ../qemu/replay/replay-time.c:14:
replay/replay-internal.h:139:6: note: previous declaration of \
  'replay_read_next_clock' with type 'void(unsigned int)'
  139 | void replay_read_next_clock(unsigned int kind);
  |  ^~

Fixes: 8eda206e090 ("replay: recording and replaying clock ticks")
Signed-off-by: Richard Henderson 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Wilfred Mallawa 
Reviewed-by: Pavel Dovgalyuk 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221129010547.284051-1-richard.hender...@linaro.org>


  Commit: ecbb6bd865d23ec412b9f2b715be784e45389f91
  
https://github.com/qemu/qemu/commit/ecbb6bd865d23ec412b9f2b715be784e45389f91
  Author: Stefan Hajnoczi 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M pc-bios/bios-256k.bin
M pc-bios/bios-microvm.bin
M pc-bios/bios.bin
M pc-bios/vgabios-ati.bin
M pc-bios/vgabios-bochs-display.bin
M pc-bios/vgabios-cirrus.bin
M pc-bios/vgabios-qxl.bin
M pc-bios/vgabios-ramfb.bin
M pc-bios/vgabios-stdvga.bin
M pc-bios/vgabios-virtio.bin
M pc-bios/vgabios-vmware.bin
M pc-bios/vgabios.bin
M roms/seabios

  Log Message:
  ---
  Merge tag 'seabios-1.16.1-20221128-pull-request' of 
https://gitlab.com/kraxel/qemu into staging

[for-7.2] update seabios to bugfix release 1.16.1

# -BEGIN PGP SIGNATURE-
#
# iQIzBAABCgAdFiEEoDKM/7k6F6eZAf59TLbY7tPocTgFAmOEiL4ACgkQTLbY7tPo
# cThzkg//Rf5haFm6D156LOn7T0jcYLtDPSGrEKyZebPGKdwRLn/Jwal8beU6DL6r
# hsWCuX7wlSMeaGLYU1YepeAFBAnhwzdGgVt2knQdmR1QNfxn0lnnE5iNkJqyqafM
# aMAD+UTt/DBptBh3AcFxMWwy65EKpKb0TsA8PSsudlXLHwWvUmYPSSr/jwu6C9Ei
# B2MUBQH6Pi8InXi2VX1jpQKdnryuP/zBQaVFWYiOEXF1t02dMfR2Z3dSLeuCQvcd
# qaljTXux3p1z0IBgHmvPFfJnc/6F+CngC+teXZkH9dio1m9kB9YMzf4HXtP/qNno
# PDz9M0f2XfSpLscrJFlhHSu4X8ZgpUsHlODsOhS1YcfBVZmE+PeAZ3UFMg11aE4Q
# hru1ulukSPYbeGWGe68ExgEtlH5OeLP0Won1ayXt+iCkPkWgBXmOpcI06fb5qels
# iJBAERcQGF3hMl246uY3b8WhApPVysiMudjERzpWjjZ5WY+nc67YKbxk+HYqzvpU
# LgH5nQyBizolz8cA/IyL8zPVYpAU8fsGnXbtFJJ3RfXi+CXnMOoPnLe+HRFCgHfQ
# 3DkTT3iwvTP4THNXALbUA673PtsAJPLmXokxmKEwEbfX3AJ/ybWxWCoJ2izGLhJR
# Wsa7/Z2y8Lj/QusfZ4TQYhia+nbpAbvn9x5n3JSf3Cea6jkWQlk=
# =P2Xy
# -END PGP SIGNATURE-
# gpg: Signature made Mon 28 Nov 2022 05:09:02 EST
# gpg:using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) " [full]
# gpg: aka "Gerd Hoffmann " [full]
# gpg: aka "Gerd Hoffmann (private) " [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* tag 

[Qemu-commits] [qemu/qemu] ab1b2b: update seabios source from 1.16.0 to 1.16.1

2022-11-29 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: ab1b2ba9c9e9871bb622b0f14a1b2e3f4adaa68f
  
https://github.com/qemu/qemu/commit/ab1b2ba9c9e9871bb622b0f14a1b2e3f4adaa68f
  Author: Gerd Hoffmann 
  Date:   2022-11-28 (Mon, 28 Nov 2022)

  Changed paths:
M roms/seabios

  Log Message:
  ---
  update seabios source from 1.16.0 to 1.16.1

git shortlog rel-1.16.0..rel-1.16.1
===

Gerd Hoffmann (3):
  malloc: use variable for ZoneHigh size
  malloc: use large ZoneHigh when there is enough memory
  virtio-blk: use larger default request size

Igor Mammedov (1):
  acpi: parse Alias object

Volker Rümelin (2):
  pci: refactor the pci_config_*() functions
  reset: force standard PCI configuration access

Xiaofei Lee (1):
  virtio-blk: Fix incorrect type conversion in virtio_blk_op()

Xuan Zhuo (2):
  virtio-mmio: read/write the hi 32 features for mmio
  virtio: finalize features before using device

Signed-off-by: Gerd Hoffmann 


  Commit: a704cb59fd87cd015177a823974ca2380aac6bfd
  
https://github.com/qemu/qemu/commit/a704cb59fd87cd015177a823974ca2380aac6bfd
  Author: Gerd Hoffmann 
  Date:   2022-11-28 (Mon, 28 Nov 2022)

  Changed paths:
M pc-bios/bios-256k.bin
M pc-bios/bios-microvm.bin
M pc-bios/bios.bin
M pc-bios/vgabios-ati.bin
M pc-bios/vgabios-bochs-display.bin
M pc-bios/vgabios-cirrus.bin
M pc-bios/vgabios-qxl.bin
M pc-bios/vgabios-ramfb.bin
M pc-bios/vgabios-stdvga.bin
M pc-bios/vgabios-virtio.bin
M pc-bios/vgabios-vmware.bin
M pc-bios/vgabios.bin

  Log Message:
  ---
  update seabios binaries to 1.16.1

Signed-off-by: Gerd Hoffmann 


  Commit: fb72e779ebe3a51f55b16a49738380ee3e54c7d5
  
https://github.com/qemu/qemu/commit/fb72e779ebe3a51f55b16a49738380ee3e54c7d5
  Author: Richard Henderson 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M replay/replay-internal.h

  Log Message:
  ---
  replay: Fix declaration of replay_read_next_clock

Fixes the build with gcc 13:

replay/replay-time.c:34:6: error: conflicting types for  \
  'replay_read_next_clock' due to enum/integer mismatch; \
  have 'void(ReplayClockKind)' [-Werror=enum-int-mismatch]
   34 | void replay_read_next_clock(ReplayClockKind kind)
  |  ^~
In file included from ../qemu/replay/replay-time.c:14:
replay/replay-internal.h:139:6: note: previous declaration of \
  'replay_read_next_clock' with type 'void(unsigned int)'
  139 | void replay_read_next_clock(unsigned int kind);
  |  ^~

Fixes: 8eda206e090 ("replay: recording and replaying clock ticks")
Signed-off-by: Richard Henderson 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Wilfred Mallawa 
Reviewed-by: Pavel Dovgalyuk 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221129010547.284051-1-richard.hender...@linaro.org>


  Commit: ecbb6bd865d23ec412b9f2b715be784e45389f91
  
https://github.com/qemu/qemu/commit/ecbb6bd865d23ec412b9f2b715be784e45389f91
  Author: Stefan Hajnoczi 
  Date:   2022-11-29 (Tue, 29 Nov 2022)

  Changed paths:
M pc-bios/bios-256k.bin
M pc-bios/bios-microvm.bin
M pc-bios/bios.bin
M pc-bios/vgabios-ati.bin
M pc-bios/vgabios-bochs-display.bin
M pc-bios/vgabios-cirrus.bin
M pc-bios/vgabios-qxl.bin
M pc-bios/vgabios-ramfb.bin
M pc-bios/vgabios-stdvga.bin
M pc-bios/vgabios-virtio.bin
M pc-bios/vgabios-vmware.bin
M pc-bios/vgabios.bin
M roms/seabios

  Log Message:
  ---
  Merge tag 'seabios-1.16.1-20221128-pull-request' of 
https://gitlab.com/kraxel/qemu into staging

[for-7.2] update seabios to bugfix release 1.16.1

# -BEGIN PGP SIGNATURE-
#
# iQIzBAABCgAdFiEEoDKM/7k6F6eZAf59TLbY7tPocTgFAmOEiL4ACgkQTLbY7tPo
# cThzkg//Rf5haFm6D156LOn7T0jcYLtDPSGrEKyZebPGKdwRLn/Jwal8beU6DL6r
# hsWCuX7wlSMeaGLYU1YepeAFBAnhwzdGgVt2knQdmR1QNfxn0lnnE5iNkJqyqafM
# aMAD+UTt/DBptBh3AcFxMWwy65EKpKb0TsA8PSsudlXLHwWvUmYPSSr/jwu6C9Ei
# B2MUBQH6Pi8InXi2VX1jpQKdnryuP/zBQaVFWYiOEXF1t02dMfR2Z3dSLeuCQvcd
# qaljTXux3p1z0IBgHmvPFfJnc/6F+CngC+teXZkH9dio1m9kB9YMzf4HXtP/qNno
# PDz9M0f2XfSpLscrJFlhHSu4X8ZgpUsHlODsOhS1YcfBVZmE+PeAZ3UFMg11aE4Q
# hru1ulukSPYbeGWGe68ExgEtlH5OeLP0Won1ayXt+iCkPkWgBXmOpcI06fb5qels
# iJBAERcQGF3hMl246uY3b8WhApPVysiMudjERzpWjjZ5WY+nc67YKbxk+HYqzvpU
# LgH5nQyBizolz8cA/IyL8zPVYpAU8fsGnXbtFJJ3RfXi+CXnMOoPnLe+HRFCgHfQ
# 3DkTT3iwvTP4THNXALbUA673PtsAJPLmXokxmKEwEbfX3AJ/ybWxWCoJ2izGLhJR
# Wsa7/Z2y8Lj/QusfZ4TQYhia+nbpAbvn9x5n3JSf3Cea6jkWQlk=
# =P2Xy
# -END PGP SIGNATURE-
# gpg: Signature made Mon 28 Nov 2022 05:09:02 EST
# gpg:using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) " [full]
# gpg: aka "Gerd Hoffmann " [full]
# gpg: aka "Gerd Hoffmann (private) " [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* tag 

[Qemu-commits] [qemu/qemu] 266aae: libvhost-user: Fix wrong type of argument to forma...

2022-11-27 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 266aaedc37d1e18af6c62f7f67c7e29887e32061
  
https://github.com/qemu/qemu/commit/266aaedc37d1e18af6c62f7f67c7e29887e32061
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

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

  Log Message:
  ---
  libvhost-user: Fix wrong type of argument to formatting function (reported by 
LGTM)

Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Weil 
Message-Id: <20220422070144.1043697-2...@weilnetz.de>
Signed-off-by: Laurent Vivier 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-2...@weilnetz.de>


  Commit: 8541bf452d8b083beb79cd496b73f2ebd852c369
  
https://github.com/qemu/qemu/commit/8541bf452d8b083beb79cd496b73f2ebd852c369
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

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

  Log Message:
  ---
  libvhost-user: Fix format strings

Signed-off-by: Stefan Weil 
Reviewed-by: Marc-André Lureau 
Message-Id: <20220422070144.1043697-3...@weilnetz.de>
Signed-off-by: Laurent Vivier 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-3...@weilnetz.de>


  Commit: 7d4774e681d2cea5569ee42a8a485647acf3cf7d
  
https://github.com/qemu/qemu/commit/7d4774e681d2cea5569ee42a8a485647acf3cf7d
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

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

  Log Message:
  ---
  libvhost-user: Fix two more format strings

This fix is required for 32 bit hosts. The bug was detected by CI
for arm-linux, but is also relevant for i386-linux.

Reported-by: Stefan Hajnoczi 
Signed-off-by: Stefan Weil 
Reviewed-by: Stefan Hajnoczi 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-4...@weilnetz.de>


  Commit: 52a57d8d1fbaf1942cce94e41521b7b564dd37ee
  
https://github.com/qemu/qemu/commit/52a57d8d1fbaf1942cce94e41521b7b564dd37ee
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

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

  Log Message:
  ---
  libvhost-user: Add format attribute to local function vu_panic

Signed-off-by: Stefan Weil 
Reviewed-by: Marc-André Lureau 
Message-Id: <20220422070144.1043697-4...@weilnetz.de>
Signed-off-by: Laurent Vivier 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-5...@weilnetz.de>


  Commit: ec09f22d01d1e59a42f0a5d4f02c325e03df3bc6
  
https://github.com/qemu/qemu/commit/ec09f22d01d1e59a42f0a5d4f02c325e03df3bc6
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

  Changed paths:
M MAINTAINERS

  Log Message:
  ---
  MAINTAINERS: Add subprojects/libvhost-user to section "vhost"

Signed-off-by: Stefan Weil 
[Michael agreed to act as maintainer for libvhost-user via email in
https://lore.kernel.org/qemu-devel/20221123015218-mutt-send-email-...@kernel.org/.
--Stefan]
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-6...@weilnetz.de>


  Commit: ac149498215809bfb5c0ddce1953519fbfda5004
  
https://github.com/qemu/qemu/commit/ac149498215809bfb5c0ddce1953519fbfda5004
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

  Changed paths:
M include/net/net.h
M net/socket.c
M net/stream.c

  Log Message:
  ---
  Add G_GNUC_PRINTF to function qemu_set_info_str and fix related issues

With the G_GNUC_PRINTF function attribute the compiler detects
two potential insecure format strings:

../../../net/stream.c:248:31: warning: format string is not a string literal 
(potentially insecure) [-Wformat-security]
qemu_set_info_str(>nc, uri);
  ^~~
../../../net/stream.c:322:31: warning: format string is not a string literal 
(potentially insecure) [-Wformat-security]
qemu_set_info_str(>nc, uri);
  ^~~

There are also two other warnings:

../../../net/socket.c:182:35: warning: zero-length gnu_printf format string 
[-Wformat-zero-length]
  182 | qemu_set_info_str(>nc, "");
  |   ^~
../../../net/stream.c:170:35: warning: zero-length gnu_printf format string 
[-Wformat-zero-length]
  170 | qemu_set_info_str(>nc, "");

Reviewed-by: Peter Maydell 
Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Weil 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-7...@weilnetz.de>


Compare: https://github.com/qemu/qemu/compare/c23a95636622...ac1494982158



[Qemu-commits] [qemu/qemu] 266aae: libvhost-user: Fix wrong type of argument to forma...

2022-11-27 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 266aaedc37d1e18af6c62f7f67c7e29887e32061
  
https://github.com/qemu/qemu/commit/266aaedc37d1e18af6c62f7f67c7e29887e32061
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

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

  Log Message:
  ---
  libvhost-user: Fix wrong type of argument to formatting function (reported by 
LGTM)

Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Weil 
Message-Id: <20220422070144.1043697-2...@weilnetz.de>
Signed-off-by: Laurent Vivier 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-2...@weilnetz.de>


  Commit: 8541bf452d8b083beb79cd496b73f2ebd852c369
  
https://github.com/qemu/qemu/commit/8541bf452d8b083beb79cd496b73f2ebd852c369
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

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

  Log Message:
  ---
  libvhost-user: Fix format strings

Signed-off-by: Stefan Weil 
Reviewed-by: Marc-André Lureau 
Message-Id: <20220422070144.1043697-3...@weilnetz.de>
Signed-off-by: Laurent Vivier 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-3...@weilnetz.de>


  Commit: 7d4774e681d2cea5569ee42a8a485647acf3cf7d
  
https://github.com/qemu/qemu/commit/7d4774e681d2cea5569ee42a8a485647acf3cf7d
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

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

  Log Message:
  ---
  libvhost-user: Fix two more format strings

This fix is required for 32 bit hosts. The bug was detected by CI
for arm-linux, but is also relevant for i386-linux.

Reported-by: Stefan Hajnoczi 
Signed-off-by: Stefan Weil 
Reviewed-by: Stefan Hajnoczi 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-4...@weilnetz.de>


  Commit: 52a57d8d1fbaf1942cce94e41521b7b564dd37ee
  
https://github.com/qemu/qemu/commit/52a57d8d1fbaf1942cce94e41521b7b564dd37ee
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

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

  Log Message:
  ---
  libvhost-user: Add format attribute to local function vu_panic

Signed-off-by: Stefan Weil 
Reviewed-by: Marc-André Lureau 
Message-Id: <20220422070144.1043697-4...@weilnetz.de>
Signed-off-by: Laurent Vivier 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-5...@weilnetz.de>


  Commit: ec09f22d01d1e59a42f0a5d4f02c325e03df3bc6
  
https://github.com/qemu/qemu/commit/ec09f22d01d1e59a42f0a5d4f02c325e03df3bc6
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

  Changed paths:
M MAINTAINERS

  Log Message:
  ---
  MAINTAINERS: Add subprojects/libvhost-user to section "vhost"

Signed-off-by: Stefan Weil 
[Michael agreed to act as maintainer for libvhost-user via email in
https://lore.kernel.org/qemu-devel/20221123015218-mutt-send-email-...@kernel.org/.
--Stefan]
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-6...@weilnetz.de>


  Commit: ac149498215809bfb5c0ddce1953519fbfda5004
  
https://github.com/qemu/qemu/commit/ac149498215809bfb5c0ddce1953519fbfda5004
  Author: Stefan Weil via 
  Date:   2022-11-27 (Sun, 27 Nov 2022)

  Changed paths:
M include/net/net.h
M net/socket.c
M net/stream.c

  Log Message:
  ---
  Add G_GNUC_PRINTF to function qemu_set_info_str and fix related issues

With the G_GNUC_PRINTF function attribute the compiler detects
two potential insecure format strings:

../../../net/stream.c:248:31: warning: format string is not a string literal 
(potentially insecure) [-Wformat-security]
qemu_set_info_str(>nc, uri);
  ^~~
../../../net/stream.c:322:31: warning: format string is not a string literal 
(potentially insecure) [-Wformat-security]
qemu_set_info_str(>nc, uri);
  ^~~

There are also two other warnings:

../../../net/socket.c:182:35: warning: zero-length gnu_printf format string 
[-Wformat-zero-length]
  182 | qemu_set_info_str(>nc, "");
  |   ^~
../../../net/stream.c:170:35: warning: zero-length gnu_printf format string 
[-Wformat-zero-length]
  170 | qemu_set_info_str(>nc, "");

Reviewed-by: Peter Maydell 
Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Weil 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221126152507.283271-7...@weilnetz.de>


Compare: https://github.com/qemu/qemu/compare/c23a95636622...ac1494982158



[Qemu-commits] [qemu/qemu] 72cf57: tests/avocado: Update the URLs of the advent calen...

2022-11-23 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 72cf57b07444c3048069fa9e47decc9cca3956a7
  
https://github.com/qemu/qemu/commit/72cf57b07444c3048069fa9e47decc9cca3956a7
  Author: Thomas Huth 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

  Changed paths:
M tests/avocado/boot_linux_console.py
M tests/avocado/machine_arm_canona1100.py
M tests/avocado/machine_microblaze.py
M tests/avocado/machine_sparc64_sun4u.py
M tests/avocado/ppc_mpc8544ds.py
M tests/avocado/ppc_virtex_ml507.py
M tests/avocado/replay_kernel.py

  Log Message:
  ---
  tests/avocado: Update the URLs of the advent calendar images

The qemu-advent-calendar.org server will be decommissioned soon.
I've mirrored the images that we use for the QEMU CI to gitlab,
so update their URLs to point to the new location.

Message-Id: <20221121102436.78635-1-th...@redhat.com>
Tested-by: Philippe Mathieu-Daudé 
Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Thomas Huth 


  Commit: 9f083d618140dd1cae824bb2f8a2ae719db73f13
  
https://github.com/qemu/qemu/commit/9f083d618140dd1cae824bb2f8a2ae719db73f13
  Author: Thomas Huth 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

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

  Log Message:
  ---
  tests/qtest: Decrease the amount of output from the qom-test

The logs in the gitlab-CI have a size constraint, and sometimes
we already hit this limit. The biggest part of the log then seems
to be filled by the qom-test, so we should decrease the size of
the output - which can be done easily by not printing the path
for each property, since the path has already been logged at the
beginning of each node that we handle here.

However, if we omit the path, we should make sure to not recurse
into child nodes in between, so that it is clear to which node
each property belongs. Thus store the children and links in a
temporary list and recurse only at the end of each node, when
all properties have already been printed.

Message-Id: <20221121194240.149268-1-th...@redhat.com>
Reviewed-by: Stefan Hajnoczi 
Signed-off-by: Thomas Huth 


  Commit: 4189af72dd6fa74e2253f16c8078be52e55eb80e
  
https://github.com/qemu/qemu/commit/4189af72dd6fa74e2253f16c8078be52e55eb80e
  Author: Alex Bennée 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

  Changed paths:
M tests/avocado/boot_linux_console.py

  Log Message:
  ---
  tests/avocado: use new rootfs for orangepi test

The old URL wasn't stable. I suspect the current URL will only be
stable for a few months so maybe we need another strategy for hosting
rootfs snapshots?

Signed-off-by: Alex Bennée 
Message-Id: <20221118113309.1057790-1-alex.ben...@linaro.org>
Signed-off-by: Thomas Huth 


  Commit: fb977a8174184c643c435c26d376793acb11c82e
  
https://github.com/qemu/qemu/commit/fb977a8174184c643c435c26d376793acb11c82e
  Author: Joelle van Dyne 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

  Changed paths:
M hw/usb/redirect.c

  Log Message:
  ---
  Revert "usbredir: avoid queuing hello packet on snapshot restore"

Run state is also in RUN_STATE_PRELAUNCH while "-S" is used.

This reverts commit 0631d4b448454ae8a1ab091c447e3f71ab6e088a

Signed-off-by: Joelle van Dyne 
Reviewed-by: Ján Tomko 

The original commit broke the usage of usbredir with libvirt, which
starts every domain with "-S".

This workaround is no longer needed because the usbredir behavior
has been fixed in the meantime:
https://gitlab.freedesktop.org/spice/usbredir/-/merge_requests/61

Signed-off-by: Ján Tomko 
Message-Id: 
<1689cec3eadcea87255e390cb236033aca72e168.1669193161.git.jto...@redhat.com>
Signed-off-by: Gerd Hoffmann 


  Commit: 29e0bfffab87d89c65c0890607e203b1579590a3
  
https://github.com/qemu/qemu/commit/29e0bfffab87d89c65c0890607e203b1579590a3
  Author: Claudio Fontana 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

  Changed paths:
M meson.build
M meson_options.txt
M scripts/meson-buildoptions.sh
M ui/gtk.c
M ui/meson.build

  Log Message:
  ---
  gtk: disable GTK Clipboard with a new meson option

The GTK Clipboard implementation may cause guest hangs.

Therefore implement new configure switch: --enable-gtk-clipboard,

as a meson option disabled by default, which warns in the help
text about the experimental nature of the feature.
Regenerate the meson build options to include it.

The initialization of the clipboard is gtk.c, as well as the
compilation of gtk-clipboard.c are now conditional on this new
option to be set.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1150
Signed-off-by: Claudio Fontana 
Acked-by: Gerd Hoffmann 
Reviewed-by: Jim Fehlig 
Message-Id: <20221121135538.14625-1-cfont...@suse.de>
Signed-off-by: Gerd Hoffmann 


  Commit: d68640f515320bf38617b68c970b569997cf0444
  
https://github.com/qemu/qemu/commit/d68640f515320bf38617b68c970b569997cf0444
  Author: Michael Tokarev 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

  Changed paths:
M hw/usb/hcd-xhci.c

  Log 

[Qemu-commits] [qemu/qemu] 72cf57: tests/avocado: Update the URLs of the advent calen...

2022-11-23 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 72cf57b07444c3048069fa9e47decc9cca3956a7
  
https://github.com/qemu/qemu/commit/72cf57b07444c3048069fa9e47decc9cca3956a7
  Author: Thomas Huth 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

  Changed paths:
M tests/avocado/boot_linux_console.py
M tests/avocado/machine_arm_canona1100.py
M tests/avocado/machine_microblaze.py
M tests/avocado/machine_sparc64_sun4u.py
M tests/avocado/ppc_mpc8544ds.py
M tests/avocado/ppc_virtex_ml507.py
M tests/avocado/replay_kernel.py

  Log Message:
  ---
  tests/avocado: Update the URLs of the advent calendar images

The qemu-advent-calendar.org server will be decommissioned soon.
I've mirrored the images that we use for the QEMU CI to gitlab,
so update their URLs to point to the new location.

Message-Id: <20221121102436.78635-1-th...@redhat.com>
Tested-by: Philippe Mathieu-Daudé 
Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Thomas Huth 


  Commit: 9f083d618140dd1cae824bb2f8a2ae719db73f13
  
https://github.com/qemu/qemu/commit/9f083d618140dd1cae824bb2f8a2ae719db73f13
  Author: Thomas Huth 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

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

  Log Message:
  ---
  tests/qtest: Decrease the amount of output from the qom-test

The logs in the gitlab-CI have a size constraint, and sometimes
we already hit this limit. The biggest part of the log then seems
to be filled by the qom-test, so we should decrease the size of
the output - which can be done easily by not printing the path
for each property, since the path has already been logged at the
beginning of each node that we handle here.

However, if we omit the path, we should make sure to not recurse
into child nodes in between, so that it is clear to which node
each property belongs. Thus store the children and links in a
temporary list and recurse only at the end of each node, when
all properties have already been printed.

Message-Id: <20221121194240.149268-1-th...@redhat.com>
Reviewed-by: Stefan Hajnoczi 
Signed-off-by: Thomas Huth 


  Commit: 4189af72dd6fa74e2253f16c8078be52e55eb80e
  
https://github.com/qemu/qemu/commit/4189af72dd6fa74e2253f16c8078be52e55eb80e
  Author: Alex Bennée 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

  Changed paths:
M tests/avocado/boot_linux_console.py

  Log Message:
  ---
  tests/avocado: use new rootfs for orangepi test

The old URL wasn't stable. I suspect the current URL will only be
stable for a few months so maybe we need another strategy for hosting
rootfs snapshots?

Signed-off-by: Alex Bennée 
Message-Id: <20221118113309.1057790-1-alex.ben...@linaro.org>
Signed-off-by: Thomas Huth 


  Commit: fb977a8174184c643c435c26d376793acb11c82e
  
https://github.com/qemu/qemu/commit/fb977a8174184c643c435c26d376793acb11c82e
  Author: Joelle van Dyne 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

  Changed paths:
M hw/usb/redirect.c

  Log Message:
  ---
  Revert "usbredir: avoid queuing hello packet on snapshot restore"

Run state is also in RUN_STATE_PRELAUNCH while "-S" is used.

This reverts commit 0631d4b448454ae8a1ab091c447e3f71ab6e088a

Signed-off-by: Joelle van Dyne 
Reviewed-by: Ján Tomko 

The original commit broke the usage of usbredir with libvirt, which
starts every domain with "-S".

This workaround is no longer needed because the usbredir behavior
has been fixed in the meantime:
https://gitlab.freedesktop.org/spice/usbredir/-/merge_requests/61

Signed-off-by: Ján Tomko 
Message-Id: 
<1689cec3eadcea87255e390cb236033aca72e168.1669193161.git.jto...@redhat.com>
Signed-off-by: Gerd Hoffmann 


  Commit: 29e0bfffab87d89c65c0890607e203b1579590a3
  
https://github.com/qemu/qemu/commit/29e0bfffab87d89c65c0890607e203b1579590a3
  Author: Claudio Fontana 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

  Changed paths:
M meson.build
M meson_options.txt
M scripts/meson-buildoptions.sh
M ui/gtk.c
M ui/meson.build

  Log Message:
  ---
  gtk: disable GTK Clipboard with a new meson option

The GTK Clipboard implementation may cause guest hangs.

Therefore implement new configure switch: --enable-gtk-clipboard,

as a meson option disabled by default, which warns in the help
text about the experimental nature of the feature.
Regenerate the meson build options to include it.

The initialization of the clipboard is gtk.c, as well as the
compilation of gtk-clipboard.c are now conditional on this new
option to be set.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1150
Signed-off-by: Claudio Fontana 
Acked-by: Gerd Hoffmann 
Reviewed-by: Jim Fehlig 
Message-Id: <20221121135538.14625-1-cfont...@suse.de>
Signed-off-by: Gerd Hoffmann 


  Commit: d68640f515320bf38617b68c970b569997cf0444
  
https://github.com/qemu/qemu/commit/d68640f515320bf38617b68c970b569997cf0444
  Author: Michael Tokarev 
  Date:   2022-11-23 (Wed, 23 Nov 2022)

  Changed paths:
M hw/usb/hcd-xhci.c

  

[Qemu-commits] [qemu/qemu] 7c09a7: Update VERSION for v7.2.0-rc2

2022-11-22 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 7c09a7f6ae1770d15535980d15dffdb23f4d9786
  
https://github.com/qemu/qemu/commit/7c09a7f6ae1770d15535980d15dffdb23f4d9786
  Author: Stefan Hajnoczi 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M VERSION

  Log Message:
  ---
  Update VERSION for v7.2.0-rc2

Signed-off-by: Stefan Hajnoczi 





[Qemu-commits] [qemu/qemu]

2022-11-22 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/tags/v7.2.0-rc2
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu] 7c09a7: Update VERSION for v7.2.0-rc2

2022-11-22 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 7c09a7f6ae1770d15535980d15dffdb23f4d9786
  
https://github.com/qemu/qemu/commit/7c09a7f6ae1770d15535980d15dffdb23f4d9786
  Author: Stefan Hajnoczi 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M VERSION

  Log Message:
  ---
  Update VERSION for v7.2.0-rc2

Signed-off-by: Stefan Hajnoczi 





[Qemu-commits] [qemu/qemu] 26ba00: target/arm: Don't do two-stage lookup if stage 2 i...

2022-11-22 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 26ba00cf58e9f21b08fff4c691ce7e9bb21dd123
  
https://github.com/qemu/qemu/commit/26ba00cf58e9f21b08fff4c691ce7e9bb21dd123
  Author: Peter Maydell 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M target/arm/ptw.c

  Log Message:
  ---
  target/arm: Don't do two-stage lookup if stage 2 is disabled

In get_phys_addr_with_struct(), we call get_phys_addr_twostage() if
the CPU supports EL2.  However, we don't check here that stage 2 is
actually enabled.  Instead we only check that inside
get_phys_addr_twostage() to skip stage 2 translation.  This means
that even if stage 2 is disabled we still tell the stage 1 lookup to
do its page table walks via stage 2.

This works by luck for normal CPU accesses, but it breaks for debug
accesses, which are used by the disassembler and also by semihosting
file reads and writes, because the debug case takes a different code
path inside S1_ptw_translate().

This means that setups that use semihosting for file loads are broken
(a regression since 7.1, introduced in recent ptw refactoring), and
that sometimes disassembly in debug logs reports "unable to read
memory" rather than showing the guest insns.

Fix the bug by hoisting the "is stage 2 enabled?" check up to
get_phys_addr_with_struct(), so that we handle S2 disabled the same
way we do the "no EL2" case, with a simple single stage lookup.

Reported-by: Jens Wiklander 
Reviewed-by: Richard Henderson 
Signed-off-by: Peter Maydell 
Message-id: 20221121212404.1450382-1-peter.mayd...@linaro.org


  Commit: 15f8f4671afd22491ce99d28a296514717fead4f
  
https://github.com/qemu/qemu/commit/15f8f4671afd22491ce99d28a296514717fead4f
  Author: Ard Biesheuvel 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M target/arm/ptw.c

  Log Message:
  ---
  target/arm: Use signed quantity to represent VMSAv8-64 translation level

The LPA2 extension implements 52-bit virtual addressing for 4k and 16k
translation granules, and for the former, this means an additional level
of translation is needed. This means we start counting at -1 instead of
0 when doing a walk, and so 'level' is now a signed quantity, and should
be typed as such. So turn it from uint32_t into int32_t.

This avoids a level of -1 getting misinterpreted as being >= 3, and
terminating a page table walk prematurely with a bogus output address.

Cc: Peter Maydell 
Cc: Philippe Mathieu-Daudé 
Cc: Richard Henderson 
Signed-off-by: Ard Biesheuvel 
Reviewed-by: Peter Maydell 
Signed-off-by: Peter Maydell 


  Commit: 80e99f293e22868f50163f98276e0273e0237add
  
https://github.com/qemu/qemu/commit/80e99f293e22868f50163f98276e0273e0237add
  Author: Stefan Hajnoczi 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M target/arm/ptw.c

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

target-arm:
 * Fix broken 5-level pagetable handling
 * Fix debug accesses when EL2 is present

# -BEGIN PGP SIGNATURE-
#
# iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmN8+tgZHHBldGVyLm1h
# eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3t+mD/sGzXb5BjKl0JeREHAh6swI
# niodZz0hf67UYITIQJMBu8KiFjAowk726qkwSOJyjQ7ot1N/zy6z3X8SbHLBF8qe
# xHJwVIvDADRKQ4j9y9chVof0Bg8+6274kFwcl/FR/gTFxQex+jzNmk6RzV1D5n3D
# gSKYVT1DJmr/qiWdoNxfuOPsbF44+ADskyeSLKmhN7SgK3JRDSfOTYb0AwIzm4Ue
# CL3rfNBkAsF6j9ygWHH0uff7ztWLZiCY1l+zXtOzzwZbrxMdSK6TCHgliNJ/9F/i
# D1vLr0A+J82ubADOHsTq5dE4tyYUkz/JQLCaoQWul7q08nz4i5XLFxBFUzll+H55
# yHCIzgbt2DOVICW2bzJR9fqI11cyeXY+ftRHVcA17mBKKXLEMg2ziIQ2yw0cugdD
# eaCcOLXgpLpMgCfFLDFOhZb9j0Q0TNEiKu9ZOVJrMDj5uT4HwctJ0PnPlHxaz6pC
# d9CdT1+J/omN8HYvZmBF1t9y3Y1dVKO9cOEFwcT2nTOqfLXirlKH7BeP9rdH96xi
# jSvixFrliUTjFGyW6AK8VoqXIx7rYK5OlWWdTnZhhERdjbVGkbPgc3O9ZYH9dJKO
# lUGmXZAguMbruXjDjGijNOSY1Vf/aTfbjCoOi3NoDbDQqAh8UjXUvUWbdjKo9uF+
# CtY6fnorIekqT2mYWNfkfQ==
# =Oh+/
# -END PGP SIGNATURE-
# gpg: Signature made Tue 22 Nov 2022 11:37:44 EST
# gpg:using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:issuer "peter.mayd...@linaro.org"
# gpg: Good signature from "Peter Maydell " [full]
# gpg: aka "Peter Maydell " [full]
# gpg: aka "Peter Maydell " 
[full]
# gpg: aka "Peter Maydell " [unknown]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* tag 'pull-target-arm-20221122' of 
https://git.linaro.org/people/pmaydell/qemu-arm:
  target/arm: Use signed quantity to represent VMSAv8-64 translation level
  target/arm: Don't do two-stage lookup if stage 2 is disabled

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/16a550bdc0e4...80e99f293e22



[Qemu-commits] [qemu/qemu] 26ba00: target/arm: Don't do two-stage lookup if stage 2 i...

2022-11-22 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 26ba00cf58e9f21b08fff4c691ce7e9bb21dd123
  
https://github.com/qemu/qemu/commit/26ba00cf58e9f21b08fff4c691ce7e9bb21dd123
  Author: Peter Maydell 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M target/arm/ptw.c

  Log Message:
  ---
  target/arm: Don't do two-stage lookup if stage 2 is disabled

In get_phys_addr_with_struct(), we call get_phys_addr_twostage() if
the CPU supports EL2.  However, we don't check here that stage 2 is
actually enabled.  Instead we only check that inside
get_phys_addr_twostage() to skip stage 2 translation.  This means
that even if stage 2 is disabled we still tell the stage 1 lookup to
do its page table walks via stage 2.

This works by luck for normal CPU accesses, but it breaks for debug
accesses, which are used by the disassembler and also by semihosting
file reads and writes, because the debug case takes a different code
path inside S1_ptw_translate().

This means that setups that use semihosting for file loads are broken
(a regression since 7.1, introduced in recent ptw refactoring), and
that sometimes disassembly in debug logs reports "unable to read
memory" rather than showing the guest insns.

Fix the bug by hoisting the "is stage 2 enabled?" check up to
get_phys_addr_with_struct(), so that we handle S2 disabled the same
way we do the "no EL2" case, with a simple single stage lookup.

Reported-by: Jens Wiklander 
Reviewed-by: Richard Henderson 
Signed-off-by: Peter Maydell 
Message-id: 20221121212404.1450382-1-peter.mayd...@linaro.org


  Commit: 15f8f4671afd22491ce99d28a296514717fead4f
  
https://github.com/qemu/qemu/commit/15f8f4671afd22491ce99d28a296514717fead4f
  Author: Ard Biesheuvel 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M target/arm/ptw.c

  Log Message:
  ---
  target/arm: Use signed quantity to represent VMSAv8-64 translation level

The LPA2 extension implements 52-bit virtual addressing for 4k and 16k
translation granules, and for the former, this means an additional level
of translation is needed. This means we start counting at -1 instead of
0 when doing a walk, and so 'level' is now a signed quantity, and should
be typed as such. So turn it from uint32_t into int32_t.

This avoids a level of -1 getting misinterpreted as being >= 3, and
terminating a page table walk prematurely with a bogus output address.

Cc: Peter Maydell 
Cc: Philippe Mathieu-Daudé 
Cc: Richard Henderson 
Signed-off-by: Ard Biesheuvel 
Reviewed-by: Peter Maydell 
Signed-off-by: Peter Maydell 


  Commit: 80e99f293e22868f50163f98276e0273e0237add
  
https://github.com/qemu/qemu/commit/80e99f293e22868f50163f98276e0273e0237add
  Author: Stefan Hajnoczi 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M target/arm/ptw.c

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

target-arm:
 * Fix broken 5-level pagetable handling
 * Fix debug accesses when EL2 is present

# -BEGIN PGP SIGNATURE-
#
# iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmN8+tgZHHBldGVyLm1h
# eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3t+mD/sGzXb5BjKl0JeREHAh6swI
# niodZz0hf67UYITIQJMBu8KiFjAowk726qkwSOJyjQ7ot1N/zy6z3X8SbHLBF8qe
# xHJwVIvDADRKQ4j9y9chVof0Bg8+6274kFwcl/FR/gTFxQex+jzNmk6RzV1D5n3D
# gSKYVT1DJmr/qiWdoNxfuOPsbF44+ADskyeSLKmhN7SgK3JRDSfOTYb0AwIzm4Ue
# CL3rfNBkAsF6j9ygWHH0uff7ztWLZiCY1l+zXtOzzwZbrxMdSK6TCHgliNJ/9F/i
# D1vLr0A+J82ubADOHsTq5dE4tyYUkz/JQLCaoQWul7q08nz4i5XLFxBFUzll+H55
# yHCIzgbt2DOVICW2bzJR9fqI11cyeXY+ftRHVcA17mBKKXLEMg2ziIQ2yw0cugdD
# eaCcOLXgpLpMgCfFLDFOhZb9j0Q0TNEiKu9ZOVJrMDj5uT4HwctJ0PnPlHxaz6pC
# d9CdT1+J/omN8HYvZmBF1t9y3Y1dVKO9cOEFwcT2nTOqfLXirlKH7BeP9rdH96xi
# jSvixFrliUTjFGyW6AK8VoqXIx7rYK5OlWWdTnZhhERdjbVGkbPgc3O9ZYH9dJKO
# lUGmXZAguMbruXjDjGijNOSY1Vf/aTfbjCoOi3NoDbDQqAh8UjXUvUWbdjKo9uF+
# CtY6fnorIekqT2mYWNfkfQ==
# =Oh+/
# -END PGP SIGNATURE-
# gpg: Signature made Tue 22 Nov 2022 11:37:44 EST
# gpg:using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:issuer "peter.mayd...@linaro.org"
# gpg: Good signature from "Peter Maydell " [full]
# gpg: aka "Peter Maydell " [full]
# gpg: aka "Peter Maydell " 
[full]
# gpg: aka "Peter Maydell " [unknown]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* tag 'pull-target-arm-20221122' of 
https://git.linaro.org/people/pmaydell/qemu-arm:
  target/arm: Use signed quantity to represent VMSAv8-64 translation level
  target/arm: Don't do two-stage lookup if stage 2 is disabled

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/16a550bdc0e4...80e99f293e22



[Qemu-commits] [qemu/qemu] 47fdc8: Run docker probe only if docker or podman are avai...

2022-11-22 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 47fdc8fb82fc8dd182b4923a69cefadc87419e0d
  
https://github.com/qemu/qemu/commit/47fdc8fb82fc8dd182b4923a69cefadc87419e0d
  Author: Stefan Weil 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M configure

  Log Message:
  ---
  Run docker probe only if docker or podman are available

The docker probe uses "sudo -n" which can cause an e-mail with a security 
warning
each time when configure is run. Therefore run docker probe only if either 
docker
or podman are available.

That avoids the problematic "sudo -n" on build environments which have neither
docker nor podman installed.

Fixes: c4575b59155e2e00 ("configure: store container engine in config-host.mak")
Signed-off-by: Stefan Weil 
Message-Id: <20221030083510.310584-1...@weilnetz.de>
Signed-off-by: Alex Bennée 
Reviewed-by: Thomas Huth 
Message-Id: <20221117172532.538149-2-alex.ben...@linaro.org>


  Commit: a4b14b46d91eb24415fafd5a8aa8f9514c817a53
  
https://github.com/qemu/qemu/commit/a4b14b46d91eb24415fafd5a8aa8f9514c817a53
  Author: Cédric Le Goater 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M tests/avocado/machine_aspeed.py

  Log Message:
  ---
  tests/avocado/machine_aspeed.py: Reduce noise on the console for SDK tests

The Aspeed SDK images are based on OpenBMC which starts a lot of
services. The output noise on the console can break from time to time
the test waiting for the logging prompt.

Change the U-Boot bootargs variable to add "quiet" to the kernel
command line and reduce the output volume. This also drops the test on
the CPU id which was nice to have but not essential.

Signed-off-by: Cédric Le Goater 
Message-Id: <20221104075347.370503-1-...@kaod.org>
Signed-off-by: Alex Bennée 
Message-Id: <20221117172532.538149-3-alex.ben...@linaro.org>


  Commit: e558220df0739474d5877616173cb072df0c8257
  
https://github.com/qemu/qemu/commit/e558220df0739474d5877616173cb072df0c8257
  Author: Alex Bennée 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M tests/docker/Makefile.include
M tests/docker/common.rc

  Log Message:
  ---
  tests/docker: allow user to override check target

This is useful when trying to bisect a particular failing test behind
a docker run. For example:

  make docker-test-clang@fedora \
TARGET_LIST=arm-softmmu \
TEST_COMMAND="meson test qtest-arm/qos-test" \
J=9 V=1

Signed-off-by: Alex Bennée 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221117172532.538149-4-alex.ben...@linaro.org>


  Commit: 668725ce6bab12f7d5130fd46d99d0dc6fefe733
  
https://github.com/qemu/qemu/commit/668725ce6bab12f7d5130fd46d99d0dc6fefe733
  Author: Alex Bennée 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M MAINTAINERS
M docs/devel/code-of-conduct.rst
M docs/devel/index-process.rst
A docs/devel/maintainers.rst
M docs/devel/submitting-a-pull-request.rst

  Log Message:
  ---
  docs/devel: add a maintainers section to development process

We don't currently have a clear place in the documentation to describe
the roles and responsibilities of a maintainer. Lets create one so we
can. I've moved a few small bits out of other files to try and keep
everything in one place.

Signed-off-by: Alex Bennée 
Reviewed-by: Stefan Hajnoczi 
Reviewed-by: Paolo Bonzini 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221117172532.538149-5-alex.ben...@linaro.org>


  Commit: 115847f6b05f7a6a3d475208fd120868627f049c
  
https://github.com/qemu/qemu/commit/115847f6b05f7a6a3d475208fd120868627f049c
  Author: Alex Bennée 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M docs/devel/submitting-a-patch.rst

  Log Message:
  ---
  docs/devel: make language a little less code centric

We welcome all sorts of patches.

Signed-off-by: Alex Bennée 
Reviewed-by: Stefan Hajnoczi 
Reviewed-by: Paolo Bonzini 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221117172532.538149-6-alex.ben...@linaro.org>


  Commit: ca127fe96ddb827f3ea153610c1e8f6e374708e2
  
https://github.com/qemu/qemu/commit/ca127fe96ddb827f3ea153610c1e8f6e374708e2
  Author: Alex Bennée 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M docs/devel/submitting-a-patch.rst

  Log Message:
  ---
  docs/devel: simplify the minimal checklist

The bullet points are quite long and contain process tips. Move those
bits of the bullet to the relevant sections and link to them. Use a
table for nicer formatting of the checklist.

Signed-off-by: Alex Bennée 
Reviewed-by: Stefan Hajnoczi 
Reviewed-by: Paolo Bonzini 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221117172532.538149-7-alex.ben...@linaro.org>


  Commit: 73ee4c55f7ff95a835584ae54bf840b9281b11d7
  
https://github.com/qemu/qemu/commit/73ee4c55f7ff95a835584ae54bf840b9281b11d7
  Author: Alex Bennée 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M 

[Qemu-commits] [qemu/qemu] 47fdc8: Run docker probe only if docker or podman are avai...

2022-11-22 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 47fdc8fb82fc8dd182b4923a69cefadc87419e0d
  
https://github.com/qemu/qemu/commit/47fdc8fb82fc8dd182b4923a69cefadc87419e0d
  Author: Stefan Weil 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M configure

  Log Message:
  ---
  Run docker probe only if docker or podman are available

The docker probe uses "sudo -n" which can cause an e-mail with a security 
warning
each time when configure is run. Therefore run docker probe only if either 
docker
or podman are available.

That avoids the problematic "sudo -n" on build environments which have neither
docker nor podman installed.

Fixes: c4575b59155e2e00 ("configure: store container engine in config-host.mak")
Signed-off-by: Stefan Weil 
Message-Id: <20221030083510.310584-1...@weilnetz.de>
Signed-off-by: Alex Bennée 
Reviewed-by: Thomas Huth 
Message-Id: <20221117172532.538149-2-alex.ben...@linaro.org>


  Commit: a4b14b46d91eb24415fafd5a8aa8f9514c817a53
  
https://github.com/qemu/qemu/commit/a4b14b46d91eb24415fafd5a8aa8f9514c817a53
  Author: Cédric Le Goater 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M tests/avocado/machine_aspeed.py

  Log Message:
  ---
  tests/avocado/machine_aspeed.py: Reduce noise on the console for SDK tests

The Aspeed SDK images are based on OpenBMC which starts a lot of
services. The output noise on the console can break from time to time
the test waiting for the logging prompt.

Change the U-Boot bootargs variable to add "quiet" to the kernel
command line and reduce the output volume. This also drops the test on
the CPU id which was nice to have but not essential.

Signed-off-by: Cédric Le Goater 
Message-Id: <20221104075347.370503-1-...@kaod.org>
Signed-off-by: Alex Bennée 
Message-Id: <20221117172532.538149-3-alex.ben...@linaro.org>


  Commit: e558220df0739474d5877616173cb072df0c8257
  
https://github.com/qemu/qemu/commit/e558220df0739474d5877616173cb072df0c8257
  Author: Alex Bennée 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M tests/docker/Makefile.include
M tests/docker/common.rc

  Log Message:
  ---
  tests/docker: allow user to override check target

This is useful when trying to bisect a particular failing test behind
a docker run. For example:

  make docker-test-clang@fedora \
TARGET_LIST=arm-softmmu \
TEST_COMMAND="meson test qtest-arm/qos-test" \
J=9 V=1

Signed-off-by: Alex Bennée 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221117172532.538149-4-alex.ben...@linaro.org>


  Commit: 668725ce6bab12f7d5130fd46d99d0dc6fefe733
  
https://github.com/qemu/qemu/commit/668725ce6bab12f7d5130fd46d99d0dc6fefe733
  Author: Alex Bennée 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M MAINTAINERS
M docs/devel/code-of-conduct.rst
M docs/devel/index-process.rst
A docs/devel/maintainers.rst
M docs/devel/submitting-a-pull-request.rst

  Log Message:
  ---
  docs/devel: add a maintainers section to development process

We don't currently have a clear place in the documentation to describe
the roles and responsibilities of a maintainer. Lets create one so we
can. I've moved a few small bits out of other files to try and keep
everything in one place.

Signed-off-by: Alex Bennée 
Reviewed-by: Stefan Hajnoczi 
Reviewed-by: Paolo Bonzini 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221117172532.538149-5-alex.ben...@linaro.org>


  Commit: 115847f6b05f7a6a3d475208fd120868627f049c
  
https://github.com/qemu/qemu/commit/115847f6b05f7a6a3d475208fd120868627f049c
  Author: Alex Bennée 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M docs/devel/submitting-a-patch.rst

  Log Message:
  ---
  docs/devel: make language a little less code centric

We welcome all sorts of patches.

Signed-off-by: Alex Bennée 
Reviewed-by: Stefan Hajnoczi 
Reviewed-by: Paolo Bonzini 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221117172532.538149-6-alex.ben...@linaro.org>


  Commit: ca127fe96ddb827f3ea153610c1e8f6e374708e2
  
https://github.com/qemu/qemu/commit/ca127fe96ddb827f3ea153610c1e8f6e374708e2
  Author: Alex Bennée 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M docs/devel/submitting-a-patch.rst

  Log Message:
  ---
  docs/devel: simplify the minimal checklist

The bullet points are quite long and contain process tips. Move those
bits of the bullet to the relevant sections and link to them. Use a
table for nicer formatting of the checklist.

Signed-off-by: Alex Bennée 
Reviewed-by: Stefan Hajnoczi 
Reviewed-by: Paolo Bonzini 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221117172532.538149-7-alex.ben...@linaro.org>


  Commit: 73ee4c55f7ff95a835584ae54bf840b9281b11d7
  
https://github.com/qemu/qemu/commit/73ee4c55f7ff95a835584ae54bf840b9281b11d7
  Author: Alex Bennée 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M 

[Qemu-commits] [qemu/qemu] 06639f: chardev/char-win-stdio: Pass Ctrl+C to guest with ...

2022-11-21 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 06639f8ff53d1dbfa709377499e6c30eca9c3c9a
  
https://github.com/qemu/qemu/commit/06639f8ff53d1dbfa709377499e6c30eca9c3c9a
  Author: Bin Meng 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

  Changed paths:
M chardev/char-win-stdio.c

  Log Message:
  ---
  chardev/char-win-stdio: Pass Ctrl+C to guest with a multiplexed monitor

At present when pressing Ctrl+C from a guest running on QEMU Windows
with a multiplexed monitor, e.g.: -serial mon:stdio, QEMU executable
just exits. This behavior is inconsistent with the Linux version.

Such behavior is caused by unconditionally setting the input mode
ENABLE_PROCESSED_INPUT for a console's input buffer. Fix this by
testing whether the chardev is allowed to do so.

Signed-off-by: Bin Meng 
Reviewed-by: Marc-André Lureau 
Message-Id: <20221025141015.612291-1-bin.m...@windriver.com>


  Commit: a216ec85b78ea96b51950665879524132f6e678c
  
https://github.com/qemu/qemu/commit/a216ec85b78ea96b51950665879524132f6e678c
  Author: Fiona Ebner 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

  Changed paths:
M migration/channel-block.c

  Log Message:
  ---
  migration/channel-block: fix return value for qio_channel_block_{readv,writev}

in the error case. The documentation in include/io/channel.h states
that -1 or QIO_CHANNEL_ERR_BLOCK should be returned upon error. Simply
passing along the return value from the bdrv-functions has the
potential to confuse the call sides. Non-blocking mode is not
implemented currently, so -1 it is.

Signed-off-by: Fiona Ebner 
Reviewed-by: Juan Quintela 
Signed-off-by: Juan Quintela 


  Commit: 4cc47b439594327b213f9b6a67803f1a503c2cb7
  
https://github.com/qemu/qemu/commit/4cc47b439594327b213f9b6a67803f1a503c2cb7
  Author: Leonardo Bras 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

  Changed paths:
M migration/multifd.c

  Log Message:
  ---
  migration/multifd/zero-copy: Create helper function for flushing

Move flushing code from multifd_send_sync_main() to a new helper, and call
it in multifd_send_sync_main().

Signed-off-by: Leonardo Bras 
Reviewed-by: Juan Quintela 
Signed-off-by: Juan Quintela 


  Commit: 4934a5dd7c68f5ab15f17498db4fc20ed6db9578
  
https://github.com/qemu/qemu/commit/4934a5dd7c68f5ab15f17498db4fc20ed6db9578
  Author: Peter Xu 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

  Changed paths:
M migration/ram.c

  Log Message:
  ---
  migration: Fix possible infinite loop of ram save process

When starting ram saving procedure (especially at the completion phase),
always set last_seen_block to non-NULL to make sure we can always correctly
detect the case where "we've migrated all the dirty pages".

Then we'll guarantee both last_seen_block and pss.block will be valid
always before the loop starts.

See the comment in the code for some details.

Reviewed-by: Dr. David Alan Gilbert 
Signed-off-by: Peter Xu 
Reviewed-by: Juan Quintela 
Signed-off-by: Juan Quintela 


  Commit: f5816b5c86ed399c99ce8662a4ed96aab32c5eef
  
https://github.com/qemu/qemu/commit/f5816b5c86ed399c99ce8662a4ed96aab32c5eef
  Author: Peter Xu 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

  Changed paths:
M migration/qemu-file.c

  Log Message:
  ---
  migration: Fix race on qemu_file_shutdown()

In qemu_file_shutdown(), there's a possible race if with current order of
operation.  There're two major things to do:

  (1) Do real shutdown() (e.g. shutdown() syscall on socket)
  (2) Update qemufile's last_error

We must do (2) before (1) otherwise there can be a race condition like:

  page receiver other thread
  - 
  qemu_get_buffer()
do shutdown()
returns 0 (buffer all zero)
(meanwhile we didn't check this retcode)
  try to detect IO error
last_error==NULL, IO okay
  install ALL-ZERO page
set last_error
  --> guest crash!

To fix this, we can also check retval of qemu_get_buffer(), but not all
APIs can be properly checked and ultimately we still need to go back to
qemu_file_get_error().  E.g. qemu_get_byte() doesn't return error.

Maybe some day a rework of qemufile API is really needed, but for now keep
using qemu_file_get_error() and fix it by not allowing that race condition
to happen.  Here shutdown() is indeed special because the last_error was
emulated.  For real -EIO errors it'll always be set when e.g. sendmsg()
error triggers so we won't miss those ones, only shutdown() is a bit tricky
here.

Cc: Daniel P. Berrange 
Reviewed-by: Dr. David Alan Gilbert 
Signed-off-by: Peter Xu 
Reviewed-by: Juan Quintela 
Signed-off-by: Juan Quintela 


  Commit: afed4273b5c9438dfbaa0b4762d0433f295ccdc1
  
https://github.com/qemu/qemu/commit/afed4273b5c9438dfbaa0b4762d0433f295ccdc1
  Author: Peter Xu 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

  

[Qemu-commits] [qemu/qemu] 06639f: chardev/char-win-stdio: Pass Ctrl+C to guest with ...

2022-11-21 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 06639f8ff53d1dbfa709377499e6c30eca9c3c9a
  
https://github.com/qemu/qemu/commit/06639f8ff53d1dbfa709377499e6c30eca9c3c9a
  Author: Bin Meng 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

  Changed paths:
M chardev/char-win-stdio.c

  Log Message:
  ---
  chardev/char-win-stdio: Pass Ctrl+C to guest with a multiplexed monitor

At present when pressing Ctrl+C from a guest running on QEMU Windows
with a multiplexed monitor, e.g.: -serial mon:stdio, QEMU executable
just exits. This behavior is inconsistent with the Linux version.

Such behavior is caused by unconditionally setting the input mode
ENABLE_PROCESSED_INPUT for a console's input buffer. Fix this by
testing whether the chardev is allowed to do so.

Signed-off-by: Bin Meng 
Reviewed-by: Marc-André Lureau 
Message-Id: <20221025141015.612291-1-bin.m...@windriver.com>


  Commit: a216ec85b78ea96b51950665879524132f6e678c
  
https://github.com/qemu/qemu/commit/a216ec85b78ea96b51950665879524132f6e678c
  Author: Fiona Ebner 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

  Changed paths:
M migration/channel-block.c

  Log Message:
  ---
  migration/channel-block: fix return value for qio_channel_block_{readv,writev}

in the error case. The documentation in include/io/channel.h states
that -1 or QIO_CHANNEL_ERR_BLOCK should be returned upon error. Simply
passing along the return value from the bdrv-functions has the
potential to confuse the call sides. Non-blocking mode is not
implemented currently, so -1 it is.

Signed-off-by: Fiona Ebner 
Reviewed-by: Juan Quintela 
Signed-off-by: Juan Quintela 


  Commit: 4cc47b439594327b213f9b6a67803f1a503c2cb7
  
https://github.com/qemu/qemu/commit/4cc47b439594327b213f9b6a67803f1a503c2cb7
  Author: Leonardo Bras 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

  Changed paths:
M migration/multifd.c

  Log Message:
  ---
  migration/multifd/zero-copy: Create helper function for flushing

Move flushing code from multifd_send_sync_main() to a new helper, and call
it in multifd_send_sync_main().

Signed-off-by: Leonardo Bras 
Reviewed-by: Juan Quintela 
Signed-off-by: Juan Quintela 


  Commit: 4934a5dd7c68f5ab15f17498db4fc20ed6db9578
  
https://github.com/qemu/qemu/commit/4934a5dd7c68f5ab15f17498db4fc20ed6db9578
  Author: Peter Xu 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

  Changed paths:
M migration/ram.c

  Log Message:
  ---
  migration: Fix possible infinite loop of ram save process

When starting ram saving procedure (especially at the completion phase),
always set last_seen_block to non-NULL to make sure we can always correctly
detect the case where "we've migrated all the dirty pages".

Then we'll guarantee both last_seen_block and pss.block will be valid
always before the loop starts.

See the comment in the code for some details.

Reviewed-by: Dr. David Alan Gilbert 
Signed-off-by: Peter Xu 
Reviewed-by: Juan Quintela 
Signed-off-by: Juan Quintela 


  Commit: f5816b5c86ed399c99ce8662a4ed96aab32c5eef
  
https://github.com/qemu/qemu/commit/f5816b5c86ed399c99ce8662a4ed96aab32c5eef
  Author: Peter Xu 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

  Changed paths:
M migration/qemu-file.c

  Log Message:
  ---
  migration: Fix race on qemu_file_shutdown()

In qemu_file_shutdown(), there's a possible race if with current order of
operation.  There're two major things to do:

  (1) Do real shutdown() (e.g. shutdown() syscall on socket)
  (2) Update qemufile's last_error

We must do (2) before (1) otherwise there can be a race condition like:

  page receiver other thread
  - 
  qemu_get_buffer()
do shutdown()
returns 0 (buffer all zero)
(meanwhile we didn't check this retcode)
  try to detect IO error
last_error==NULL, IO okay
  install ALL-ZERO page
set last_error
  --> guest crash!

To fix this, we can also check retval of qemu_get_buffer(), but not all
APIs can be properly checked and ultimately we still need to go back to
qemu_file_get_error().  E.g. qemu_get_byte() doesn't return error.

Maybe some day a rework of qemufile API is really needed, but for now keep
using qemu_file_get_error() and fix it by not allowing that race condition
to happen.  Here shutdown() is indeed special because the last_error was
emulated.  For real -EIO errors it'll always be set when e.g. sendmsg()
error triggers so we won't miss those ones, only shutdown() is a bit tricky
here.

Cc: Daniel P. Berrange 
Reviewed-by: Dr. David Alan Gilbert 
Signed-off-by: Peter Xu 
Reviewed-by: Juan Quintela 
Signed-off-by: Juan Quintela 


  Commit: afed4273b5c9438dfbaa0b4762d0433f295ccdc1
  
https://github.com/qemu/qemu/commit/afed4273b5c9438dfbaa0b4762d0433f295ccdc1
  Author: Peter Xu 
  Date:   2022-11-21 (Mon, 21 Nov 2022)

 

[Qemu-commits] [qemu/qemu] 44ee69: s390x: Fix spelling errors

2022-11-17 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 44ee69ea16bd0390082ed88d4e82d6cea3a18b46
  
https://github.com/qemu/qemu/commit/44ee69ea16bd0390082ed88d4e82d6cea3a18b46
  Author: Thomas Huth 
  Date:   2022-11-16 (Wed, 16 Nov 2022)

  Changed paths:
M hw/s390x/ipl.h
M hw/s390x/s390-pci-vfio.c
M hw/s390x/s390-virtio-ccw.c
M pc-bios/s390-ccw/cio.h
M pc-bios/s390-ccw/iplb.h
M pc-bios/s390-ccw/start.S
M target/s390x/cpu_models.h
M target/s390x/ioinst.c
M target/s390x/tcg/excp_helper.c
M target/s390x/tcg/fpu_helper.c
M target/s390x/tcg/misc_helper.c
M target/s390x/tcg/translate.c
M target/s390x/tcg/translate_vx.c.inc

  Log Message:
  ---
  s390x: Fix spelling errors

Fix typos (discovered with the 'codespell' utility).
Note: Though "migrateable" still seems to be a valid spelling, we change
it to "migratable" since this is the way more common spelling here.

Message-Id: <2022182828.282251-1-th...@redhat.com>
Reviewed-by: Stefan Weil 
Reviewed-by: Ilya Leoshkevich 
Signed-off-by: Thomas Huth 


  Commit: be5df2edb5d69ff3107c5616aa035a9ba8d0422e
  
https://github.com/qemu/qemu/commit/be5df2edb5d69ff3107c5616aa035a9ba8d0422e
  Author: Thomas Huth 
  Date:   2022-11-16 (Wed, 16 Nov 2022)

  Changed paths:
M docs/system/s390x/bootdevices.rst

  Log Message:
  ---
  docs/system/s390x: Document the "loadparm" machine property

The "loadparm" machine property is useful for selecting alternative
kernels on the disk of the guest, but so far we do not tell the users
yet how to use it. Add some documentation to fill this gap.

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2128235
Message-Id: <20221114132502.110213-1-th...@redhat.com>
Reviewed-by: Claudio Imbrenda 
Signed-off-by: Thomas Huth 


  Commit: c70fe3b148c82f6dc2f13c2a98a430b81ba8a8b4
  
https://github.com/qemu/qemu/commit/c70fe3b148c82f6dc2f13c2a98a430b81ba8a8b4
  Author: Daniel P. Berrangé 
  Date:   2022-11-17 (Thu, 17 Nov 2022)

  Changed paths:
M .gitlab-ci.d/cirrus.yml
R .gitlab-ci.d/cirrus/macos-11.vars
A .gitlab-ci.d/cirrus/macos-12.vars
M tests/lcitool/libvirt-ci
M tests/lcitool/refresh

  Log Message:
  ---
  ci: replace x86_64 macos-11 with aarch64 macos-12

The Cirrus CI service has announced the intent to discontinue
support for x86_64 macOS CI runners. They already have aarch64
runners available and require all projects to switch to these
images before Jan 1st 2023. The different architecture is
merely determined by the image name requested.

For aarch64 they only support macOS 12 onwards. At the same
time our support policy only guarantees the most recent 2
major versions, so macOS 12 is already technically our min
version.

https://cirrus-ci.org/blog/2022/11/08/sunsetting-intel-macos-instances/

Signed-off-by: Daniel P. Berrangé 
Message-Id: <20221116175023.80627-1-berra...@redhat.com>
Tested-by: Thomas Huth 
Signed-off-by: Thomas Huth 


  Commit: 1b7a07c4414323d985e89c4e78a4c30cba0e7a85
  
https://github.com/qemu/qemu/commit/1b7a07c4414323d985e89c4e78a4c30cba0e7a85
  Author: Ani Sinha 
  Date:   2022-11-17 (Thu, 17 Nov 2022)

  Changed paths:
M docs/devel/acpi-bits.rst
M tests/avocado/acpi-bits.py

  Log Message:
  ---
  acpi/tests/avocado/bits: some misc fixes

Most of the changes are trivial. The bits test timeout has now been increased
to 200 seconds in order to accommodate slower systems and fewer unnecessary
failures. Removed of the reference to non-existent README file in docs. Some
minor corrections in the doc file.

Signed-off-by: Ani Sinha 
Message-Id: <20221117053644.516649-1-...@anisinha.ca>
Reviewed-by: Thomas Huth 
Signed-off-by: Thomas Huth 


  Commit: 049b4ad66984aad278b3fc0a75b5a995c9b66a16
  
https://github.com/qemu/qemu/commit/049b4ad66984aad278b3fc0a75b5a995c9b66a16
  Author: Vaibhav Jain 
  Date:   2022-11-17 (Thu, 17 Nov 2022)

  Changed paths:
M target/ppc/cpu_init.c
M target/ppc/excp_helper.c

  Log Message:
  ---
  target/ppc: Fix build warnings when building with 'disable-tcg'

Kowshik reported that building qemu with GCC 12.2.1 for 'ppc64-softmmu'
target is failing due to following build warnings:


 ../target/ppc/cpu_init.c:7018:13: error: 'ppc_restore_state_to_opc' defined 
but not used [-Werror=unused-function]
 7018 | static void ppc_restore_state_to_opc(CPUState *cs,


Fix this by wrapping these function definitions in 'ifdef CONFIG_TCG' so that
they are only defined if qemu is compiled with '--enable-tcg'

Reported-by: Kowshik Jois B S 
Fixes: 61bd1d2942 ("target/ppc: Convert to tcg_ops restore_state_to_opc")
Fixes: 670f1da374 ("target/ppc: Implement hashst and hashchk")
Fixes: 53ae2aeb94 ("target/ppc: Implement hashstp and hashchkp")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1319
Signed-off-by: Vaibhav Jain 
Reviewed-by: Greg Kurz 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Kowshik Jois B S 
Message-Id: 

[Qemu-commits] [qemu/qemu] 2c8311: Update VERSION for v7.2.0-rc1

2022-11-17 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 2c8311241d1f7377bb4ff76064b1d1fe15166413
  
https://github.com/qemu/qemu/commit/2c8311241d1f7377bb4ff76064b1d1fe15166413
  Author: Stefan Hajnoczi 
  Date:   2022-11-15 (Tue, 15 Nov 2022)

  Changed paths:
M VERSION

  Log Message:
  ---
  Update VERSION for v7.2.0-rc1

Signed-off-by: Stefan Hajnoczi 


  Commit: 44ee69ea16bd0390082ed88d4e82d6cea3a18b46
  
https://github.com/qemu/qemu/commit/44ee69ea16bd0390082ed88d4e82d6cea3a18b46
  Author: Thomas Huth 
  Date:   2022-11-16 (Wed, 16 Nov 2022)

  Changed paths:
M hw/s390x/ipl.h
M hw/s390x/s390-pci-vfio.c
M hw/s390x/s390-virtio-ccw.c
M pc-bios/s390-ccw/cio.h
M pc-bios/s390-ccw/iplb.h
M pc-bios/s390-ccw/start.S
M target/s390x/cpu_models.h
M target/s390x/ioinst.c
M target/s390x/tcg/excp_helper.c
M target/s390x/tcg/fpu_helper.c
M target/s390x/tcg/misc_helper.c
M target/s390x/tcg/translate.c
M target/s390x/tcg/translate_vx.c.inc

  Log Message:
  ---
  s390x: Fix spelling errors

Fix typos (discovered with the 'codespell' utility).
Note: Though "migrateable" still seems to be a valid spelling, we change
it to "migratable" since this is the way more common spelling here.

Message-Id: <2022182828.282251-1-th...@redhat.com>
Reviewed-by: Stefan Weil 
Reviewed-by: Ilya Leoshkevich 
Signed-off-by: Thomas Huth 


  Commit: be5df2edb5d69ff3107c5616aa035a9ba8d0422e
  
https://github.com/qemu/qemu/commit/be5df2edb5d69ff3107c5616aa035a9ba8d0422e
  Author: Thomas Huth 
  Date:   2022-11-16 (Wed, 16 Nov 2022)

  Changed paths:
M docs/system/s390x/bootdevices.rst

  Log Message:
  ---
  docs/system/s390x: Document the "loadparm" machine property

The "loadparm" machine property is useful for selecting alternative
kernels on the disk of the guest, but so far we do not tell the users
yet how to use it. Add some documentation to fill this gap.

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2128235
Message-Id: <20221114132502.110213-1-th...@redhat.com>
Reviewed-by: Claudio Imbrenda 
Signed-off-by: Thomas Huth 


  Commit: c70fe3b148c82f6dc2f13c2a98a430b81ba8a8b4
  
https://github.com/qemu/qemu/commit/c70fe3b148c82f6dc2f13c2a98a430b81ba8a8b4
  Author: Daniel P. Berrangé 
  Date:   2022-11-17 (Thu, 17 Nov 2022)

  Changed paths:
M .gitlab-ci.d/cirrus.yml
R .gitlab-ci.d/cirrus/macos-11.vars
A .gitlab-ci.d/cirrus/macos-12.vars
M tests/lcitool/libvirt-ci
M tests/lcitool/refresh

  Log Message:
  ---
  ci: replace x86_64 macos-11 with aarch64 macos-12

The Cirrus CI service has announced the intent to discontinue
support for x86_64 macOS CI runners. They already have aarch64
runners available and require all projects to switch to these
images before Jan 1st 2023. The different architecture is
merely determined by the image name requested.

For aarch64 they only support macOS 12 onwards. At the same
time our support policy only guarantees the most recent 2
major versions, so macOS 12 is already technically our min
version.

https://cirrus-ci.org/blog/2022/11/08/sunsetting-intel-macos-instances/

Signed-off-by: Daniel P. Berrangé 
Message-Id: <20221116175023.80627-1-berra...@redhat.com>
Tested-by: Thomas Huth 
Signed-off-by: Thomas Huth 


  Commit: 1b7a07c4414323d985e89c4e78a4c30cba0e7a85
  
https://github.com/qemu/qemu/commit/1b7a07c4414323d985e89c4e78a4c30cba0e7a85
  Author: Ani Sinha 
  Date:   2022-11-17 (Thu, 17 Nov 2022)

  Changed paths:
M docs/devel/acpi-bits.rst
M tests/avocado/acpi-bits.py

  Log Message:
  ---
  acpi/tests/avocado/bits: some misc fixes

Most of the changes are trivial. The bits test timeout has now been increased
to 200 seconds in order to accommodate slower systems and fewer unnecessary
failures. Removed of the reference to non-existent README file in docs. Some
minor corrections in the doc file.

Signed-off-by: Ani Sinha 
Message-Id: <20221117053644.516649-1-...@anisinha.ca>
Reviewed-by: Thomas Huth 
Signed-off-by: Thomas Huth 


  Commit: 049b4ad66984aad278b3fc0a75b5a995c9b66a16
  
https://github.com/qemu/qemu/commit/049b4ad66984aad278b3fc0a75b5a995c9b66a16
  Author: Vaibhav Jain 
  Date:   2022-11-17 (Thu, 17 Nov 2022)

  Changed paths:
M target/ppc/cpu_init.c
M target/ppc/excp_helper.c

  Log Message:
  ---
  target/ppc: Fix build warnings when building with 'disable-tcg'

Kowshik reported that building qemu with GCC 12.2.1 for 'ppc64-softmmu'
target is failing due to following build warnings:


 ../target/ppc/cpu_init.c:7018:13: error: 'ppc_restore_state_to_opc' defined 
but not used [-Werror=unused-function]
 7018 | static void ppc_restore_state_to_opc(CPUState *cs,


Fix this by wrapping these function definitions in 'ifdef CONFIG_TCG' so that
they are only defined if qemu is compiled with '--enable-tcg'

Reported-by: Kowshik Jois B S 
Fixes: 61bd1d2942 ("target/ppc: Convert to tcg_ops 

[Qemu-commits] [qemu/qemu]

2022-11-15 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/tags/v7.2.0-rc1
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu] 2c8311: Update VERSION for v7.2.0-rc1

2022-11-15 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 2c8311241d1f7377bb4ff76064b1d1fe15166413
  
https://github.com/qemu/qemu/commit/2c8311241d1f7377bb4ff76064b1d1fe15166413
  Author: Stefan Hajnoczi 
  Date:   2022-11-15 (Tue, 15 Nov 2022)

  Changed paths:
M VERSION

  Log Message:
  ---
  Update VERSION for v7.2.0-rc1

Signed-off-by: Stefan Hajnoczi 





[Qemu-commits] [qemu/qemu] d1bb97: target/i386: fix cmpxchg with 32-bit register dest...

2022-11-15 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: d1bb978ba1654ddc6e927621b554eebb216fb9dd
  
https://github.com/qemu/qemu/commit/d1bb978ba1654ddc6e927621b554eebb216fb9dd
  Author: Paolo Bonzini 
  Date:   2022-11-15 (Tue, 15 Nov 2022)

  Changed paths:
M target/i386/tcg/translate.c
M tests/tcg/x86_64/Makefile.target
A tests/tcg/x86_64/cmpxchg.c

  Log Message:
  ---
  target/i386: fix cmpxchg with 32-bit register destination

Unlike the memory case, where "the destination operand receives a write
cycle without regard to the result of the comparison", rm must not be
touched altogether if the write fails, including not zero-extending
it on 64-bit processors.  This is not how the movcond currently works,
because it is always followed by a gen_op_mov_reg_v to rm.

To fix it, introduce a new function that is similar to gen_op_mov_reg_v
but writes to a TCG temporary.

Considering that gen_extu(ot, oldv) is not needed in the memory case
either, the two cases for register and memory destinations are different
enough that one might as well fuse the two "if (mod == 3)" into one.
So do that too.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/508
Signed-off-by: Paolo Bonzini 
[rth: Add a test case ]
Signed-off-by: Richard Henderson 


  Commit: 35d95e4126d83c0bb0de83007494d184f6111b3d
  
https://github.com/qemu/qemu/commit/35d95e4126d83c0bb0de83007494d184f6111b3d
  Author: Paolo Bonzini 
  Date:   2022-11-15 (Tue, 15 Nov 2022)

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

  Log Message:
  ---
  target/i386: hardcode R_EAX as destination register for LAHF/SAHF

When translating code that is using LAHF and SAHF in combination with the
REX prefix, the instructions should not use any other register than AH;
however, QEMU selects SPL (SP being register 4, just like AH) if the
REX prefix is present.  To fix this, use deposit directly without
going through gen_op_mov_v_reg and gen_op_mov_reg_v.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/130
Signed-off-by: Paolo Bonzini 
Signed-off-by: Richard Henderson 


  Commit: dd64bcea0016938ef0be7a0c930f98b77d5e1612
  
https://github.com/qemu/qemu/commit/dd64bcea0016938ef0be7a0c930f98b77d5e1612
  Author: Stefan Hajnoczi 
  Date:   2022-11-15 (Tue, 15 Nov 2022)

  Changed paths:
M target/i386/tcg/translate.c
M tests/tcg/x86_64/Makefile.target
A tests/tcg/x86_64/cmpxchg.c

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

Fix cmpxchgl writeback to rax.
Fix lahf/sahf for 64-bit

# -BEGIN PGP SIGNATURE-
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmNy0OYdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV/2XwgAr2yCrG8irdVBmD1B
# rNW8xJJWIwEXqJ3KSPBSMEQ5lCVW7urwIYasnTYPV9TMwXvwwbFzCzovp+pJ402b
# GPCkkjS/DdLHKbFqzEIcVld6IASaYNbcCZjEDeN3U14RZW9X7Aujy1Yg6qWxWnIc
# ony2awzocGq5iafvPCMATmIkPJErnFv6mLttRq52CmBATgVtsSrxEF735NVuZAaq
# t9bfN+gQpXARo+AcGzqTpNtcR4DTzE2hyJrXAMivTJtAeEl8XweOq8eV7PkAf4qw
# ED/AT6G7I38Buzj1o8SN3G54d/v/jwV/L9fWCLs92QZJC/gIi9B7qZf8DglI1ipV
# YCFKQw==
# =xP4E
# -END PGP SIGNATURE-
# gpg: Signature made Mon 14 Nov 2022 18:36:06 EST
# gpg:using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:issuer "richard.hender...@linaro.org"
# gpg: Good signature from "Richard Henderson " 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-x86-20221115' of https://gitlab.com/rth7680/qemu:
  target/i386: hardcode R_EAX as destination register for LAHF/SAHF
  target/i386: fix cmpxchg with 32-bit register destination

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/bb00d0aa620e...dd64bcea0016



[Qemu-commits] [qemu/qemu]

2022-11-15 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu]

2022-11-15 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu] d1bb97: target/i386: fix cmpxchg with 32-bit register dest...

2022-11-15 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: d1bb978ba1654ddc6e927621b554eebb216fb9dd
  
https://github.com/qemu/qemu/commit/d1bb978ba1654ddc6e927621b554eebb216fb9dd
  Author: Paolo Bonzini 
  Date:   2022-11-15 (Tue, 15 Nov 2022)

  Changed paths:
M target/i386/tcg/translate.c
M tests/tcg/x86_64/Makefile.target
A tests/tcg/x86_64/cmpxchg.c

  Log Message:
  ---
  target/i386: fix cmpxchg with 32-bit register destination

Unlike the memory case, where "the destination operand receives a write
cycle without regard to the result of the comparison", rm must not be
touched altogether if the write fails, including not zero-extending
it on 64-bit processors.  This is not how the movcond currently works,
because it is always followed by a gen_op_mov_reg_v to rm.

To fix it, introduce a new function that is similar to gen_op_mov_reg_v
but writes to a TCG temporary.

Considering that gen_extu(ot, oldv) is not needed in the memory case
either, the two cases for register and memory destinations are different
enough that one might as well fuse the two "if (mod == 3)" into one.
So do that too.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/508
Signed-off-by: Paolo Bonzini 
[rth: Add a test case ]
Signed-off-by: Richard Henderson 


  Commit: 35d95e4126d83c0bb0de83007494d184f6111b3d
  
https://github.com/qemu/qemu/commit/35d95e4126d83c0bb0de83007494d184f6111b3d
  Author: Paolo Bonzini 
  Date:   2022-11-15 (Tue, 15 Nov 2022)

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

  Log Message:
  ---
  target/i386: hardcode R_EAX as destination register for LAHF/SAHF

When translating code that is using LAHF and SAHF in combination with the
REX prefix, the instructions should not use any other register than AH;
however, QEMU selects SPL (SP being register 4, just like AH) if the
REX prefix is present.  To fix this, use deposit directly without
going through gen_op_mov_v_reg and gen_op_mov_reg_v.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/130
Signed-off-by: Paolo Bonzini 
Signed-off-by: Richard Henderson 


  Commit: 23bb4ae24ad87fafb09871ec226ff10615c75610
  
https://github.com/qemu/qemu/commit/23bb4ae24ad87fafb09871ec226ff10615c75610
  Author: Fiona Ebner 
  Date:   2022-11-15 (Tue, 15 Nov 2022)

  Changed paths:
M migration/channel-block.c

  Log Message:
  ---
  migration/channel-block: fix return value for qio_channel_block_{readv,writev}

in the error case. The documentation in include/io/channel.h states
that -1 or QIO_CHANNEL_ERR_BLOCK should be returned upon error. Simply
passing along the return value from the bdrv-functions has the
potential to confuse the call sides. Non-blocking mode is not
implemented currently, so -1 it is.

Signed-off-by: Fiona Ebner 
Reviewed-by: Juan Quintela 
Signed-off-by: Juan Quintela 


  Commit: 06af7a6a09e818157d2d09ad3b36a764ebb924a1
  
https://github.com/qemu/qemu/commit/06af7a6a09e818157d2d09ad3b36a764ebb924a1
  Author: Leonardo Bras 
  Date:   2022-11-15 (Tue, 15 Nov 2022)

  Changed paths:
M migration/multifd.c

  Log Message:
  ---
  migration/multifd/zero-copy: Create helper function for flushing

Move flushing code from multifd_send_sync_main() to a new helper, and call
it in multifd_send_sync_main().

Signed-off-by: Leonardo Bras 
Reviewed-by: Juan Quintela 
Signed-off-by: Juan Quintela 


  Commit: c52a5030ec99f3b463e1ab3eaafc24eb2f48a888
  
https://github.com/qemu/qemu/commit/c52a5030ec99f3b463e1ab3eaafc24eb2f48a888
  Author: manish.mishra 
  Date:   2022-11-15 (Tue, 15 Nov 2022)

  Changed paths:
M include/io/channel.h
M io/channel-socket.c
M io/channel.c
M migration/migration.c
M migration/multifd.c
M migration/multifd.h
M migration/postcopy-ram.c
M migration/postcopy-ram.h

  Log Message:
  ---
  migration: check magic value for deciding the mapping of channels

Current logic assumes that channel connections on the destination side are
always established in the same order as the source and the first one will
always be the main channel followed by the multifid or post-copy
preemption channel. This may not be always true, as even if a channel has a
connection established on the source side it can be in the pending state on
the destination side and a newer connection can be established first.
Basically causing out of order mapping of channels on the destination side.
Currently, all channels except post-copy preempt send a magic number, this
patch uses that magic number to decide the type of channel. This logic is
applicable only for precopy(multifd) live migration, as mentioned, the
post-copy preempt channel does not send any magic number. Also, tls live
migrations already does tls handshake before creating other channels, so
this issue is not possible with tls, hence this logic is avoided for tls
live migrations. This patch uses MSG_PEEK to check the magic number of
channels so that current data/control 

[Qemu-commits] [qemu/qemu] d69a87: block/mirror: Do not wait for active writes

2022-11-15 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: d69a879bdf1aed586478eaa161ee064fe1b92f1a
  
https://github.com/qemu/qemu/commit/d69a879bdf1aed586478eaa161ee064fe1b92f1a
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M block/mirror.c

  Log Message:
  ---
  block/mirror: Do not wait for active writes

Waiting for all active writes to settle before daring to create a
background copying operation means that we will never do background
operations while the guest does anything (in write-blocking mode), and
therefore cannot converge.  Yes, we also will not diverge, but actually
converging would be even nicer.

It is unclear why we did decide to wait for all active writes to settle
before creating a background operation, but it just does not seem
necessary.  Active writes will put themselves into the in_flight bitmap
and thus properly block actually conflicting background requests.

It is important for active requests to wait on overlapping background
requests, which we do in active_write_prepare().  However, so far it was
not documented why it is important.  Add such documentation now, and
also to the other call of mirror_wait_on_conflicts(), so that it becomes
more clear why and when requests need to actively wait for other
requests to settle.

Another thing to note is that of course we need to ensure that there are
no active requests when the job completes, but that is done by virtue of
the BDS being drained anyway, so there cannot be any active requests at
that point.

With this change, we will need to explicitly keep track of how many
bytes are in flight in active requests so that
job_progress_set_remaining() in mirror_run() can set the correct number
of remaining bytes.

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2123297
Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-2-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: eb994912993077f178ccb43b20e422ecf9ae4ac7
  
https://github.com/qemu/qemu/commit/eb994912993077f178ccb43b20e422ecf9ae4ac7
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M block/mirror.c

  Log Message:
  ---
  block/mirror: Drop mirror_wait_for_any_operation()

mirror_wait_for_free_in_flight_slot() is the only remaining user of
mirror_wait_for_any_operation(), so inline the latter into the former.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-3-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: da93d5c84e56e6b4e84aa8e98b6b984c9b6bb528
  
https://github.com/qemu/qemu/commit/da93d5c84e56e6b4e84aa8e98b6b984c9b6bb528
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M block/mirror.c

  Log Message:
  ---
  block/mirror: Fix NULL s->job in active writes

There is a small gap in mirror_start_job() before putting the mirror
filter node into the block graph (bdrv_append() call) and the actual job
being created.  Before the job is created, MirrorBDSOpaque.job is NULL.

It is possible that requests come in when bdrv_drained_end() is called,
and those requests would see MirrorBDSOpaque.job == NULL.  Have our
filter node handle that case gracefully.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-4-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: 38591290e7d8c9b5fdeb33eb2b438fef7915de22
  
https://github.com/qemu/qemu/commit/38591290e7d8c9b5fdeb33eb2b438fef7915de22
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

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

  Log Message:
  ---
  iotests/151: Test that active mirror progresses

Before this series, a mirror job in write-blocking mode would pause
issuing background requests while active requests are in flight.  Thus,
if the source is constantly in use by active requests, no actual
progress can be made.

This series should have fixed that, making the mirror job issue
background requests even while active requests are in flight.

Have a new test case in 151 verify this.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-5-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: 7b5929c73485b31ebc87c4c20328a6cb40519b71
  
https://github.com/qemu/qemu/commit/7b5929c73485b31ebc87c4c20328a6cb40519b71
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

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

  Log Message:
  ---
  iotests/151: Test active requests on mirror start

Have write requests happen to the source node right when we start a
mirror job.  The mirror filter node may encounter MirrorBDSOpaque.job
being NULL, but this should not cause a segfault.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-6-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin 

[Qemu-commits] [qemu/qemu] d69a87: block/mirror: Do not wait for active writes

2022-11-14 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: d69a879bdf1aed586478eaa161ee064fe1b92f1a
  
https://github.com/qemu/qemu/commit/d69a879bdf1aed586478eaa161ee064fe1b92f1a
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M block/mirror.c

  Log Message:
  ---
  block/mirror: Do not wait for active writes

Waiting for all active writes to settle before daring to create a
background copying operation means that we will never do background
operations while the guest does anything (in write-blocking mode), and
therefore cannot converge.  Yes, we also will not diverge, but actually
converging would be even nicer.

It is unclear why we did decide to wait for all active writes to settle
before creating a background operation, but it just does not seem
necessary.  Active writes will put themselves into the in_flight bitmap
and thus properly block actually conflicting background requests.

It is important for active requests to wait on overlapping background
requests, which we do in active_write_prepare().  However, so far it was
not documented why it is important.  Add such documentation now, and
also to the other call of mirror_wait_on_conflicts(), so that it becomes
more clear why and when requests need to actively wait for other
requests to settle.

Another thing to note is that of course we need to ensure that there are
no active requests when the job completes, but that is done by virtue of
the BDS being drained anyway, so there cannot be any active requests at
that point.

With this change, we will need to explicitly keep track of how many
bytes are in flight in active requests so that
job_progress_set_remaining() in mirror_run() can set the correct number
of remaining bytes.

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2123297
Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-2-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: eb994912993077f178ccb43b20e422ecf9ae4ac7
  
https://github.com/qemu/qemu/commit/eb994912993077f178ccb43b20e422ecf9ae4ac7
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M block/mirror.c

  Log Message:
  ---
  block/mirror: Drop mirror_wait_for_any_operation()

mirror_wait_for_free_in_flight_slot() is the only remaining user of
mirror_wait_for_any_operation(), so inline the latter into the former.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-3-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: da93d5c84e56e6b4e84aa8e98b6b984c9b6bb528
  
https://github.com/qemu/qemu/commit/da93d5c84e56e6b4e84aa8e98b6b984c9b6bb528
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M block/mirror.c

  Log Message:
  ---
  block/mirror: Fix NULL s->job in active writes

There is a small gap in mirror_start_job() before putting the mirror
filter node into the block graph (bdrv_append() call) and the actual job
being created.  Before the job is created, MirrorBDSOpaque.job is NULL.

It is possible that requests come in when bdrv_drained_end() is called,
and those requests would see MirrorBDSOpaque.job == NULL.  Have our
filter node handle that case gracefully.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-4-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: 38591290e7d8c9b5fdeb33eb2b438fef7915de22
  
https://github.com/qemu/qemu/commit/38591290e7d8c9b5fdeb33eb2b438fef7915de22
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

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

  Log Message:
  ---
  iotests/151: Test that active mirror progresses

Before this series, a mirror job in write-blocking mode would pause
issuing background requests while active requests are in flight.  Thus,
if the source is constantly in use by active requests, no actual
progress can be made.

This series should have fixed that, making the mirror job issue
background requests even while active requests are in flight.

Have a new test case in 151 verify this.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-5-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: 7b5929c73485b31ebc87c4c20328a6cb40519b71
  
https://github.com/qemu/qemu/commit/7b5929c73485b31ebc87c4c20328a6cb40519b71
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

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

  Log Message:
  ---
  iotests/151: Test active requests on mirror start

Have write requests happen to the source node right when we start a
mirror job.  The mirror filter node may encounter MirrorBDSOpaque.job
being NULL, but this should not cause a segfault.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-6-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin 

[Qemu-commits] [qemu/qemu] 32bd99: MAINTAINERS: Update maintainer's email for Xilinx CAN

2022-11-14 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 32bd99d02b4549d1007fb26b7301d26c55e3ba5a
  
https://github.com/qemu/qemu/commit/32bd99d02b4549d1007fb26b7301d26c55e3ba5a
  Author: Vikram Garhwal 
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
M MAINTAINERS

  Log Message:
  ---
  MAINTAINERS: Update maintainer's email for Xilinx CAN

Signed-off-by: Vikram Garhwal 
Reviewed-by: Francisco Iglesias 
Signed-off-by: Peter Maydell 


  Commit: d9721f19cd05a382f4f5a7093c80d1c4a8a1aa82
  
https://github.com/qemu/qemu/commit/d9721f19cd05a382f4f5a7093c80d1c4a8a1aa82
  Author: Jens Wiklander 
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
M hw/intc/arm_gicv3_cpuif.c

  Log Message:
  ---
  hw/intc/arm_gicv3: fix prio masking on pmr write

With commit 39f29e599355 ("hw/intc/arm_gicv3: Use correct number of
priority bits for the CPU") the number of priority bits was changed from
the maximum value 8 to typically 5. As a consequence a few of the lowest
bits in ICC_PMR_EL1 becomes RAZ/WI. However prior to this patch one of
these bits was still used since the supplied priority value is masked
before it's eventually right shifted with one bit. So the bit is not
lost as one might expect when the register is read again.

The Linux kernel depends on lowest valid bit to be reset to zero, see
commit 33625282adaa ("irqchip/gic-v3: Probe for SCR_EL3 being clear
before resetting AP0Rn") for details.

So fix this by masking the priority value after it may have been right
shifted by one bit.

Cc: qemu-sta...@nongnu.org
Fixes: 39f29e599355 ("hw/intc/arm_gicv3: Use correct number of priority bits 
for the CPU")
Signed-off-by: Jens Wiklander 
Reviewed-by: Peter Maydell 
Signed-off-by: Peter Maydell 


  Commit: 98f10f0e2613ba1ac2ad3f57a5174014f6dcb03d
  
https://github.com/qemu/qemu/commit/98f10f0e2613ba1ac2ad3f57a5174014f6dcb03d
  Author: Stefan Hajnoczi 
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
M MAINTAINERS
M hw/intc/arm_gicv3_cpuif.c

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

target-arm queue:
 * hw/intc/arm_gicv3: fix prio masking on pmr write
 * MAINTAINERS: Update maintainer's email for Xilinx CAN

# -BEGIN PGP SIGNATURE-
#
# iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmNyY7cZHHBldGVyLm1h
# eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3mrBD/4mG6AMW4CGROWq3u3F8STK
# 22uxpilhyBmPawBykUC8dYId8A0GjGqeJ5HRhYE/0ZKqlk9GtFBI4YHM8ccocozK
# VdgKP7VvXNiBwjV2kQ3mdZnfXRnNWLTnGQd9Q/9EjU+FOBz4hsOoRh8rv+9t2inn
# dtXV8wbLYQYHCgVPAwTP39DXzF0YQ5sAjVxbjC1lFE6k3pAcDvoGKKcWt9GOI5m1
# 5ImPgnVdunscqA9otvl56a03M5TbdH8KiAEARo3juFYYEHkl4qD2E2CK6On8wTIA
# 7zeSoxvTDDYD6mcV/RwFuEcOr+YIFpxeGxes9PKpnYh8Dpx9YPeIYRsK5qTI7QUz
# Ldbz9PnZE6DPaPsT67kzFnfx4se6q10d5wXaK8VsFBOZ4V9yYONaXlHiZbgpWn/K
# jlbiJFtehCA0iS4D6YcoDTqL88M/RM5cbj/5tht8sxrl9HJ3r/hxdJ7W+zqpTg2j
# 3TV+j9okLqyq/4RIFZbf5yVPFPMtF/FOIl95ZAHmvJYjC/L9yXRT6Y5EdKfZPwMe
# 5FBjdly4gsUqNxFUfPByRVtaoelxjXi/+0wHXWZNw8Naco3yd7VMoqIRLDE4qhY5
# GfjF2Aai7PHiwb2VE+mIIfz+ldEk5XHFYlXBtUOwt8q2UUnmYsVqh8zFpTYLaDdY
# RezkZM4yMYx38GPWCvAvlg==
# =clh5
# -END PGP SIGNATURE-
# gpg: Signature made Mon 14 Nov 2022 10:50:15 EST
# gpg:using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:issuer "peter.mayd...@linaro.org"
# gpg: Good signature from "Peter Maydell " [full]
# gpg: aka "Peter Maydell " [full]
# gpg: aka "Peter Maydell " 
[full]
# gpg: aka "Peter Maydell " [unknown]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* tag 'pull-target-arm-20221114' of 
https://git.linaro.org/people/pmaydell/qemu-arm:
  hw/intc/arm_gicv3: fix prio masking on pmr write
  MAINTAINERS: Update maintainer's email for Xilinx CAN

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/305f6f62d9d2...98f10f0e2613



[Qemu-commits] [qemu/qemu] 32bd99: MAINTAINERS: Update maintainer's email for Xilinx CAN

2022-11-14 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 32bd99d02b4549d1007fb26b7301d26c55e3ba5a
  
https://github.com/qemu/qemu/commit/32bd99d02b4549d1007fb26b7301d26c55e3ba5a
  Author: Vikram Garhwal 
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
M MAINTAINERS

  Log Message:
  ---
  MAINTAINERS: Update maintainer's email for Xilinx CAN

Signed-off-by: Vikram Garhwal 
Reviewed-by: Francisco Iglesias 
Signed-off-by: Peter Maydell 


  Commit: d9721f19cd05a382f4f5a7093c80d1c4a8a1aa82
  
https://github.com/qemu/qemu/commit/d9721f19cd05a382f4f5a7093c80d1c4a8a1aa82
  Author: Jens Wiklander 
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
M hw/intc/arm_gicv3_cpuif.c

  Log Message:
  ---
  hw/intc/arm_gicv3: fix prio masking on pmr write

With commit 39f29e599355 ("hw/intc/arm_gicv3: Use correct number of
priority bits for the CPU") the number of priority bits was changed from
the maximum value 8 to typically 5. As a consequence a few of the lowest
bits in ICC_PMR_EL1 becomes RAZ/WI. However prior to this patch one of
these bits was still used since the supplied priority value is masked
before it's eventually right shifted with one bit. So the bit is not
lost as one might expect when the register is read again.

The Linux kernel depends on lowest valid bit to be reset to zero, see
commit 33625282adaa ("irqchip/gic-v3: Probe for SCR_EL3 being clear
before resetting AP0Rn") for details.

So fix this by masking the priority value after it may have been right
shifted by one bit.

Cc: qemu-sta...@nongnu.org
Fixes: 39f29e599355 ("hw/intc/arm_gicv3: Use correct number of priority bits 
for the CPU")
Signed-off-by: Jens Wiklander 
Reviewed-by: Peter Maydell 
Signed-off-by: Peter Maydell 


  Commit: 98f10f0e2613ba1ac2ad3f57a5174014f6dcb03d
  
https://github.com/qemu/qemu/commit/98f10f0e2613ba1ac2ad3f57a5174014f6dcb03d
  Author: Stefan Hajnoczi 
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
M MAINTAINERS
M hw/intc/arm_gicv3_cpuif.c

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

target-arm queue:
 * hw/intc/arm_gicv3: fix prio masking on pmr write
 * MAINTAINERS: Update maintainer's email for Xilinx CAN

# -BEGIN PGP SIGNATURE-
#
# iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmNyY7cZHHBldGVyLm1h
# eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3mrBD/4mG6AMW4CGROWq3u3F8STK
# 22uxpilhyBmPawBykUC8dYId8A0GjGqeJ5HRhYE/0ZKqlk9GtFBI4YHM8ccocozK
# VdgKP7VvXNiBwjV2kQ3mdZnfXRnNWLTnGQd9Q/9EjU+FOBz4hsOoRh8rv+9t2inn
# dtXV8wbLYQYHCgVPAwTP39DXzF0YQ5sAjVxbjC1lFE6k3pAcDvoGKKcWt9GOI5m1
# 5ImPgnVdunscqA9otvl56a03M5TbdH8KiAEARo3juFYYEHkl4qD2E2CK6On8wTIA
# 7zeSoxvTDDYD6mcV/RwFuEcOr+YIFpxeGxes9PKpnYh8Dpx9YPeIYRsK5qTI7QUz
# Ldbz9PnZE6DPaPsT67kzFnfx4se6q10d5wXaK8VsFBOZ4V9yYONaXlHiZbgpWn/K
# jlbiJFtehCA0iS4D6YcoDTqL88M/RM5cbj/5tht8sxrl9HJ3r/hxdJ7W+zqpTg2j
# 3TV+j9okLqyq/4RIFZbf5yVPFPMtF/FOIl95ZAHmvJYjC/L9yXRT6Y5EdKfZPwMe
# 5FBjdly4gsUqNxFUfPByRVtaoelxjXi/+0wHXWZNw8Naco3yd7VMoqIRLDE4qhY5
# GfjF2Aai7PHiwb2VE+mIIfz+ldEk5XHFYlXBtUOwt8q2UUnmYsVqh8zFpTYLaDdY
# RezkZM4yMYx38GPWCvAvlg==
# =clh5
# -END PGP SIGNATURE-
# gpg: Signature made Mon 14 Nov 2022 10:50:15 EST
# gpg:using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:issuer "peter.mayd...@linaro.org"
# gpg: Good signature from "Peter Maydell " [full]
# gpg: aka "Peter Maydell " [full]
# gpg: aka "Peter Maydell " 
[full]
# gpg: aka "Peter Maydell " [unknown]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* tag 'pull-target-arm-20221114' of 
https://git.linaro.org/people/pmaydell/qemu-arm:
  hw/intc/arm_gicv3: fix prio masking on pmr write
  MAINTAINERS: Update maintainer's email for Xilinx CAN

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/305f6f62d9d2...98f10f0e2613



[Qemu-commits] [qemu/qemu] 46b21d: hw/loongarch: Fix loongarch fdt addr confict

2022-11-13 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 46b21de238c643ea098f2dcffe493abd135f7d89
  
https://github.com/qemu/qemu/commit/46b21de238c643ea098f2dcffe493abd135f7d89
  Author: Song Gao 
  Date:   2022-11-12 (Sat, 12 Nov 2022)

  Changed paths:
M hw/loongarch/virt.c

  Log Message:
  ---
  hw/loongarch: Fix loongarch fdt addr confict

Fix LoongArch check-tcg error:
   TESThello on loongarch64
qemu-system-loongarch64: Some ROM regions are overlapping
These ROM regions might have been loaded by direct user request or by default.
They could be BIOS/firmware images, a guest kernel, initrd or some other file 
loaded into guest memory.
Check whether you intended to load all this guest code, and whether it has been 
built to load to the correct addresses.

The following two regions overlap (in the memory address space):
   hello ELF program header segment 0 (addresses 0x0020 - 
0x00242000)
   fdt (addresses 0x0020 - 0x0030)
make[1]: *** [Makefile:177: run-hello] Error 1

Fixes: 021836936ef ("hw/loongarch: Load FDT table into dram memory space")
Reported-by: Richard Henderson 
Signed-off-by: Song Gao 
Reviewed-by: Richard Henderson 
Message-Id: <20221109020449.978064-1-gaos...@loongson.cn>
Signed-off-by: Richard Henderson 


  Commit: 57bc6e40e82c0446a358ab01f9bbf0db0d9465e4
  
https://github.com/qemu/qemu/commit/57bc6e40e82c0446a358ab01f9bbf0db0d9465e4
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-12 (Sat, 12 Nov 2022)

  Changed paths:
M subprojects/libvduse/libvduse.c

  Log Message:
  ---
  libvduse: Avoid warning about dangerous use of strncpy()

GCC 8 added a -Wstringop-truncation warning:

  The -Wstringop-truncation warning added in GCC 8.0 via r254630 for
  bug 81117 is specifically intended to highlight likely unintended
  uses of the strncpy function that truncate the terminating NUL
  character from the source string.

Here the next line indeed unconditionally zeroes the last byte, but
1/ the buffer has been calloc'd, so we don't need to add an extra
byte, and 2/ we called vduse_name_is_invalid() which checked the
string length, so we can simply call strcpy().

This fixes when using gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0:

  [42/666] Compiling C object subprojects/libvduse/libvduse.a.p/libvduse.c.o
  FAILED: subprojects/libvduse/libvduse.a.p/libvduse.c.o
  cc -m64 -mcx16 -Isubprojects/libvduse/libvduse.a.p -Isubprojects/libvduse 
-I../../subprojects/libvduse [...] -o 
subprojects/libvduse/libvduse.a.p/libvduse.c.o -c 
../../subprojects/libvduse/libvduse.c
  In file included from /usr/include/string.h:495,
   from ../../subprojects/libvduse/libvduse.c:24:
  In function ‘strncpy’,
  inlined from ‘vduse_dev_create’ at 
../../subprojects/libvduse/libvduse.c:1312:5:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: 
‘__builtin_strncpy’ specified bound 256 equals destination size 
[-Werror=stringop-truncation]
106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos 
(__dest));
|  
^~
  cc1: all warnings being treated as errors
  ninja: build stopped: cannot make progress due to previous errors.

Fixes: d9cf16c0be ("libvduse: Replace strcpy() with strncpy()")
Suggested-by: Markus Armbruster 
Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Xie Yongji 
Reviewed-by: Stefan Hajnoczi 
Tested-by: Bin Meng 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <2022124550.35753-1-phi...@linaro.org>


  Commit: 305f6f62d9d250a32cdf090ddcb7e3a5b26a342e
  
https://github.com/qemu/qemu/commit/305f6f62d9d250a32cdf090ddcb7e3a5b26a342e
  Author: Stefan Hajnoczi 
  Date:   2022-11-12 (Sat, 12 Nov 2022)

  Changed paths:
M hw/loongarch/virt.c

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

Fix loongarch make check-tcg failure.

# -BEGIN PGP SIGNATURE-
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmNu8aUdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV90jAgAsaB0nU7YGzJRYRmK
# +QXtrQa5AmXf014X7OeOZyxdYCPCwri2rnCxc1eOKAIOeSbdFY54xjXXEV8qpej+
# ZiLbdvXFG519vJpZquEJm1wgk68NnKYy2wfeRuwBMcQD4E7yeE9y11IKtuN6vbcq
# sh/Zxh43KwzyZ1wrVQl8DUxesTcE4RwVDJ+t2q+uYKcgmUVRQJJd9aXLkOKpOb1f
# QU+6lJAGv293IbW5LUD8fIPNKVWqlVwDIsFVWhYYJFxvWfbL211NsJbX70RnKahr
# vJ6olGORlShNJEiV++9QTrgGr1v76KkVECaKNtohkYL/BkfNxoy4yWxcC7I9zds+
# 6oH9vQ==
# =7NI1
# -END PGP SIGNATURE-
# gpg: Signature made Fri 11 Nov 2022 20:06:45 EST
# gpg:using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:issuer "richard.hender...@linaro.org"
# gpg: Good signature from "Richard Henderson " 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-la-20221112' of https://gitlab.com/rth7680/qemu:
  hw/loongarch: Fix loongarch fdt addr confict

Signed-off-by: 

[Qemu-commits] [qemu/qemu] 46b21d: hw/loongarch: Fix loongarch fdt addr confict

2022-11-12 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 46b21de238c643ea098f2dcffe493abd135f7d89
  
https://github.com/qemu/qemu/commit/46b21de238c643ea098f2dcffe493abd135f7d89
  Author: Song Gao 
  Date:   2022-11-12 (Sat, 12 Nov 2022)

  Changed paths:
M hw/loongarch/virt.c

  Log Message:
  ---
  hw/loongarch: Fix loongarch fdt addr confict

Fix LoongArch check-tcg error:
   TESThello on loongarch64
qemu-system-loongarch64: Some ROM regions are overlapping
These ROM regions might have been loaded by direct user request or by default.
They could be BIOS/firmware images, a guest kernel, initrd or some other file 
loaded into guest memory.
Check whether you intended to load all this guest code, and whether it has been 
built to load to the correct addresses.

The following two regions overlap (in the memory address space):
   hello ELF program header segment 0 (addresses 0x0020 - 
0x00242000)
   fdt (addresses 0x0020 - 0x0030)
make[1]: *** [Makefile:177: run-hello] Error 1

Fixes: 021836936ef ("hw/loongarch: Load FDT table into dram memory space")
Reported-by: Richard Henderson 
Signed-off-by: Song Gao 
Reviewed-by: Richard Henderson 
Message-Id: <20221109020449.978064-1-gaos...@loongson.cn>
Signed-off-by: Richard Henderson 


  Commit: 57bc6e40e82c0446a358ab01f9bbf0db0d9465e4
  
https://github.com/qemu/qemu/commit/57bc6e40e82c0446a358ab01f9bbf0db0d9465e4
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-12 (Sat, 12 Nov 2022)

  Changed paths:
M subprojects/libvduse/libvduse.c

  Log Message:
  ---
  libvduse: Avoid warning about dangerous use of strncpy()

GCC 8 added a -Wstringop-truncation warning:

  The -Wstringop-truncation warning added in GCC 8.0 via r254630 for
  bug 81117 is specifically intended to highlight likely unintended
  uses of the strncpy function that truncate the terminating NUL
  character from the source string.

Here the next line indeed unconditionally zeroes the last byte, but
1/ the buffer has been calloc'd, so we don't need to add an extra
byte, and 2/ we called vduse_name_is_invalid() which checked the
string length, so we can simply call strcpy().

This fixes when using gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0:

  [42/666] Compiling C object subprojects/libvduse/libvduse.a.p/libvduse.c.o
  FAILED: subprojects/libvduse/libvduse.a.p/libvduse.c.o
  cc -m64 -mcx16 -Isubprojects/libvduse/libvduse.a.p -Isubprojects/libvduse 
-I../../subprojects/libvduse [...] -o 
subprojects/libvduse/libvduse.a.p/libvduse.c.o -c 
../../subprojects/libvduse/libvduse.c
  In file included from /usr/include/string.h:495,
   from ../../subprojects/libvduse/libvduse.c:24:
  In function ‘strncpy’,
  inlined from ‘vduse_dev_create’ at 
../../subprojects/libvduse/libvduse.c:1312:5:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: 
‘__builtin_strncpy’ specified bound 256 equals destination size 
[-Werror=stringop-truncation]
106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos 
(__dest));
|  
^~
  cc1: all warnings being treated as errors
  ninja: build stopped: cannot make progress due to previous errors.

Fixes: d9cf16c0be ("libvduse: Replace strcpy() with strncpy()")
Suggested-by: Markus Armbruster 
Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Xie Yongji 
Reviewed-by: Stefan Hajnoczi 
Tested-by: Bin Meng 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <2022124550.35753-1-phi...@linaro.org>


  Commit: 305f6f62d9d250a32cdf090ddcb7e3a5b26a342e
  
https://github.com/qemu/qemu/commit/305f6f62d9d250a32cdf090ddcb7e3a5b26a342e
  Author: Stefan Hajnoczi 
  Date:   2022-11-12 (Sat, 12 Nov 2022)

  Changed paths:
M hw/loongarch/virt.c

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

Fix loongarch make check-tcg failure.

# -BEGIN PGP SIGNATURE-
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmNu8aUdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV90jAgAsaB0nU7YGzJRYRmK
# +QXtrQa5AmXf014X7OeOZyxdYCPCwri2rnCxc1eOKAIOeSbdFY54xjXXEV8qpej+
# ZiLbdvXFG519vJpZquEJm1wgk68NnKYy2wfeRuwBMcQD4E7yeE9y11IKtuN6vbcq
# sh/Zxh43KwzyZ1wrVQl8DUxesTcE4RwVDJ+t2q+uYKcgmUVRQJJd9aXLkOKpOb1f
# QU+6lJAGv293IbW5LUD8fIPNKVWqlVwDIsFVWhYYJFxvWfbL211NsJbX70RnKahr
# vJ6olGORlShNJEiV++9QTrgGr1v76KkVECaKNtohkYL/BkfNxoy4yWxcC7I9zds+
# 6oH9vQ==
# =7NI1
# -END PGP SIGNATURE-
# gpg: Signature made Fri 11 Nov 2022 20:06:45 EST
# gpg:using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:issuer "richard.hender...@linaro.org"
# gpg: Good signature from "Richard Henderson " 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-la-20221112' of https://gitlab.com/rth7680/qemu:
  hw/loongarch: Fix loongarch fdt addr confict

Signed-off-by: 

[Qemu-commits] [qemu/qemu] 53a3b8: checkpatch: typo fix

2022-11-11 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 53a3b83259a7880982b3eddda31520ff0d8c9268
  
https://github.com/qemu/qemu/commit/53a3b83259a7880982b3eddda31520ff0d8c9268
  Author: Michael S. Tsirkin 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M scripts/checkpatch.pl

  Log Message:
  ---
  checkpatch: typo fix

remove inline #inline - it's an obvious typo. Should just be remove
inline.

Fixes: 1ef47f40dc ("checkpatch: better pattern for inline comments")
Signed-off-by: Michael S. Tsirkin 
Message-Id: <20221108135155.1121566-1-...@redhat.com>


  Commit: 28cf39609603e4b5b2de8b74d4caa4d840425eff
  
https://github.com/qemu/qemu/commit/28cf39609603e4b5b2de8b74d4caa4d840425eff
  Author: Michael S. Tsirkin 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M hw/display/ati_2d.c
M hw/display/cirrus_vga.c
M hw/display/cirrus_vga_isa.c
M hw/display/vga-isa.c
M hw/display/vga-mmio.c
M hw/display/vga-pci.c
M hw/display/vga.c
M hw/display/vga_int.h
M hw/display/vmware_vga.c
M include/qemu/typedefs.h

  Log Message:
  ---
  display: include dependencies explicitly

acpi-vga-stub.c pulls in vga_int.h
However that currently pulls in ui/console.h which
breaks e.g. on systems without pixman.
It's better to remove ui/console.h from vga_int.h
and directly include it where it's used.

Signed-off-by: Michael S. Tsirkin 
Message-Id: <20221109222112.74519-1-...@redhat.com>
Tested-by: Laurent Vivier 
Reported-by: Miroslav Rezanina 
Reported-by: Frederic Bezies 
Reported-by: Laurent Vivier 
Fixes: cfead31326 ("AcpiDevAmlIf interface to build VGA device descs")
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Philippe Mathieu-Daudé 


  Commit: f47af0af0db5933664c621b8af8067ebbcbe66cd
  
https://github.com/qemu/qemu/commit/f47af0af0db5933664c621b8af8067ebbcbe66cd
  Author: Xuan Zhuo 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

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

  Log Message:
  ---
  virtio-net: fix for heap-buffer-overflow

Run shell script:

cat << EOF | valgrind qemu-system-i386 -display none -machine accel=qtest, 
-m \
512M -M q35 -nodefaults -device virtio-net,netdev=net0 -netdev \
user,id=net0 -qtest stdio
outl 0xcf8 0x8810
outl 0xcfc 0xc000
outl 0xcf8 0x8804
outl 0xcfc 0x01
outl 0xc00d 0x0200
outl 0xcf8 0x8890
outb 0xcfc 0x4
outl 0xcf8 0x8889
outl 0xcfc 0x1c00
outl 0xcf8 0x8893
outw 0xcfc 0x100
EOF

Got:
==68666== Invalid read of size 8
==68666==at 0x688536: virtio_net_queue_enable (virtio-net.c:575)
==68666==by 0x6E31AE: memory_region_write_accessor (memory.c:492)
==68666==by 0x6E098D: access_with_adjusted_size (memory.c:554)
==68666==by 0x6E4DB3: memory_region_dispatch_write (memory.c:1521)
==68666==by 0x6E31AE: memory_region_write_accessor (memory.c:492)
==68666==by 0x6E098D: access_with_adjusted_size (memory.c:554)
==68666==by 0x6E4DB3: memory_region_dispatch_write (memory.c:1521)
==68666==by 0x6EBCD3: flatview_write_continue (physmem.c:2820)
==68666==by 0x6EBFBF: flatview_write (physmem.c:2862)
==68666==by 0x6EF5E7: address_space_write (physmem.c:2958)
==68666==by 0x6DFDEC: cpu_outw (ioport.c:70)
==68666==by 0x6F6DF0: qtest_process_command (qtest.c:480)
==68666==  Address 0x29087fe8 is 24 bytes after a block of size 416 in 
arena "client"

That is reported by Alexander Bulekov. 
https://gitlab.com/qemu-project/qemu/-/issues/1309

Here, the queue_index is the index of the cvq, but in some cases cvq
does not have the corresponding NetClientState, so overflow appears.

I add a check here, ignore illegal queue_index and cvq queue_index.

Note the queue_index is below the VIRTIO_QUEUE_MAX but greater or equal
than cvq index could hit this. Other devices are similar.

Fixes: 7f863302 ("virtio-net: support queue_enable")
Fixes: https://gitlab.com/qemu-project/qemu/-/issues/1309
Reported-by: Alexander Bulekov 
Signed-off-by: Xuan Zhuo 
Message-Id: <20221110095739.130393-1-xuanz...@linux.alibaba.com>
Reviewed-by: Michael S. Tsirkin 
Signed-off-by: Michael S. Tsirkin 


  Commit: ec5651340d445f009db1c2dc507da8cb4df85ad0
  
https://github.com/qemu/qemu/commit/ec5651340d445f009db1c2dc507da8cb4df85ad0
  Author: Thomas Huth 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M hw/pci-host/pnv_phb.c

  Log Message:
  ---
  hw/pci-host/pnv_phb: Avoid quitting QEMU if hotplug of pnv-phb-root-port fails

Currently QEMU terminates if you try to hotplug pnv-phb-root-port in
an environment where it is not supported, e.g. if doing this:

 echo "device_add pnv-phb-root-port" | \
 ./qemu-system-ppc64 -monitor stdio -M powernv9

To avoid this problem, the pnv_phb_root_port_realize() function should
not use error_fatal when trying to set the properties which might not
be 

[Qemu-commits] [qemu/qemu]

2022-11-11 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu] d69a87: block/mirror: Do not wait for active writes

2022-11-11 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: d69a879bdf1aed586478eaa161ee064fe1b92f1a
  
https://github.com/qemu/qemu/commit/d69a879bdf1aed586478eaa161ee064fe1b92f1a
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M block/mirror.c

  Log Message:
  ---
  block/mirror: Do not wait for active writes

Waiting for all active writes to settle before daring to create a
background copying operation means that we will never do background
operations while the guest does anything (in write-blocking mode), and
therefore cannot converge.  Yes, we also will not diverge, but actually
converging would be even nicer.

It is unclear why we did decide to wait for all active writes to settle
before creating a background operation, but it just does not seem
necessary.  Active writes will put themselves into the in_flight bitmap
and thus properly block actually conflicting background requests.

It is important for active requests to wait on overlapping background
requests, which we do in active_write_prepare().  However, so far it was
not documented why it is important.  Add such documentation now, and
also to the other call of mirror_wait_on_conflicts(), so that it becomes
more clear why and when requests need to actively wait for other
requests to settle.

Another thing to note is that of course we need to ensure that there are
no active requests when the job completes, but that is done by virtue of
the BDS being drained anyway, so there cannot be any active requests at
that point.

With this change, we will need to explicitly keep track of how many
bytes are in flight in active requests so that
job_progress_set_remaining() in mirror_run() can set the correct number
of remaining bytes.

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2123297
Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-2-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: eb994912993077f178ccb43b20e422ecf9ae4ac7
  
https://github.com/qemu/qemu/commit/eb994912993077f178ccb43b20e422ecf9ae4ac7
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M block/mirror.c

  Log Message:
  ---
  block/mirror: Drop mirror_wait_for_any_operation()

mirror_wait_for_free_in_flight_slot() is the only remaining user of
mirror_wait_for_any_operation(), so inline the latter into the former.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-3-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: da93d5c84e56e6b4e84aa8e98b6b984c9b6bb528
  
https://github.com/qemu/qemu/commit/da93d5c84e56e6b4e84aa8e98b6b984c9b6bb528
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
M block/mirror.c

  Log Message:
  ---
  block/mirror: Fix NULL s->job in active writes

There is a small gap in mirror_start_job() before putting the mirror
filter node into the block graph (bdrv_append() call) and the actual job
being created.  Before the job is created, MirrorBDSOpaque.job is NULL.

It is possible that requests come in when bdrv_drained_end() is called,
and those requests would see MirrorBDSOpaque.job == NULL.  Have our
filter node handle that case gracefully.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-4-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: 38591290e7d8c9b5fdeb33eb2b438fef7915de22
  
https://github.com/qemu/qemu/commit/38591290e7d8c9b5fdeb33eb2b438fef7915de22
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

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

  Log Message:
  ---
  iotests/151: Test that active mirror progresses

Before this series, a mirror job in write-blocking mode would pause
issuing background requests while active requests are in flight.  Thus,
if the source is constantly in use by active requests, no actual
progress can be made.

This series should have fixed that, making the mirror job issue
background requests even while active requests are in flight.

Have a new test case in 151 verify this.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-5-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin Wolf 


  Commit: 7b5929c73485b31ebc87c4c20328a6cb40519b71
  
https://github.com/qemu/qemu/commit/7b5929c73485b31ebc87c4c20328a6cb40519b71
  Author: Hanna Reitz 
  Date:   2022-11-10 (Thu, 10 Nov 2022)

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

  Log Message:
  ---
  iotests/151: Test active requests on mirror start

Have write requests happen to the source node right when we start a
mirror job.  The mirror filter node may encounter MirrorBDSOpaque.job
being NULL, but this should not cause a segfault.

Signed-off-by: Hanna Reitz 
Message-Id: <20221109165452.67927-6-hre...@redhat.com>
Reviewed-by: Kevin Wolf 
Signed-off-by: Kevin 

[Qemu-commits] [qemu/qemu] 35abb0: tcg: Move TCG_TARGET_HAS_direct_jump init to tb_ge...

2022-11-09 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 35abb009b22e93e89cc627de74fa90339b680882
  
https://github.com/qemu/qemu/commit/35abb009b22e93e89cc627de74fa90339b680882
  Author: Richard Henderson 
  Date:   2022-11-09 (Wed, 09 Nov 2022)

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

  Log Message:
  ---
  tcg: Move TCG_TARGET_HAS_direct_jump init to tb_gen_code

Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Richard Henderson 


  Commit: 344b63b380541a63c02ef7a8a6ae66cb0b6f0273
  
https://github.com/qemu/qemu/commit/344b63b380541a63c02ef7a8a6ae66cb0b6f0273
  Author: Richard Henderson 
  Date:   2022-11-09 (Wed, 09 Nov 2022)

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

  Log Message:
  ---
  accel/tcg: Split out setjmp_gen_code

Isolate the code protected by setjmp.  Fixes:

translate-all.c: In function ‘tb_gen_code’:
translate-all.c:748:51: error: argument ‘cflags’ might be clobbered by 
‘longjmp’ or ‘vfork’ [-Werror=clobbered]

Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Richard Henderson 


  Commit: 2ccad61746ca7de5dd3e25146062264387e43bd4
  
https://github.com/qemu/qemu/commit/2ccad61746ca7de5dd3e25146062264387e43bd4
  Author: Stefan Hajnoczi 
  Date:   2022-11-09 (Wed, 09 Nov 2022)

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

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

Fix -Werror=clobbered issue with tb_gen_code

# -BEGIN PGP SIGNATURE-
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmNrBscdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV9Fpwf/Rfj6jdVXlHX4mlWe
# snuTeLYDMxZkcCEobPlM6MTG3bVetmulQD09bf6rppOSfiG4LjcLwQtIYafXNG98
# EJiIZJNOsQen6MXtFlv9ZeqWi8PBe+4YQbIT3fOn5BC9p0BxS0aiIrTM36PpvKE9
# PV7I+KpwoNUeMSaJHf/jH+Q272Tk1jlW3GYzygbX/XHxsoLz9byRO9A0AMwClAOF
# XuNx+0+3w8xGfapsMU/oBkSMVFj03jsm07PMgvipMfT9s8qcTgzCyK8VeJPp9WHz
# 9gn4mvVnEBQU1W3K2SCx1o3pyFaqmyMwnE0BixWKVEM9zAaJEBN5iYCn4QX0TH3y
# Hmzc8g==
# =YF54
# -END PGP SIGNATURE-
# gpg: Signature made Tue 08 Nov 2022 20:47:51 EST
# gpg:using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:issuer "richard.hender...@linaro.org"
# gpg: Good signature from "Richard Henderson " 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-tcg-20221109' of https://gitlab.com/rth7680/qemu:
  accel/tcg: Split out setjmp_gen_code
  tcg: Move TCG_TARGET_HAS_direct_jump init to tb_gen_code

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/60ab36907ded...2ccad61746ca



[Qemu-commits] [qemu/qemu] 35abb0: tcg: Move TCG_TARGET_HAS_direct_jump init to tb_ge...

2022-11-09 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 35abb009b22e93e89cc627de74fa90339b680882
  
https://github.com/qemu/qemu/commit/35abb009b22e93e89cc627de74fa90339b680882
  Author: Richard Henderson 
  Date:   2022-11-09 (Wed, 09 Nov 2022)

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

  Log Message:
  ---
  tcg: Move TCG_TARGET_HAS_direct_jump init to tb_gen_code

Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Richard Henderson 


  Commit: 344b63b380541a63c02ef7a8a6ae66cb0b6f0273
  
https://github.com/qemu/qemu/commit/344b63b380541a63c02ef7a8a6ae66cb0b6f0273
  Author: Richard Henderson 
  Date:   2022-11-09 (Wed, 09 Nov 2022)

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

  Log Message:
  ---
  accel/tcg: Split out setjmp_gen_code

Isolate the code protected by setjmp.  Fixes:

translate-all.c: In function ‘tb_gen_code’:
translate-all.c:748:51: error: argument ‘cflags’ might be clobbered by 
‘longjmp’ or ‘vfork’ [-Werror=clobbered]

Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Richard Henderson 


  Commit: 2ccad61746ca7de5dd3e25146062264387e43bd4
  
https://github.com/qemu/qemu/commit/2ccad61746ca7de5dd3e25146062264387e43bd4
  Author: Stefan Hajnoczi 
  Date:   2022-11-09 (Wed, 09 Nov 2022)

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

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

Fix -Werror=clobbered issue with tb_gen_code

# -BEGIN PGP SIGNATURE-
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmNrBscdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV9Fpwf/Rfj6jdVXlHX4mlWe
# snuTeLYDMxZkcCEobPlM6MTG3bVetmulQD09bf6rppOSfiG4LjcLwQtIYafXNG98
# EJiIZJNOsQen6MXtFlv9ZeqWi8PBe+4YQbIT3fOn5BC9p0BxS0aiIrTM36PpvKE9
# PV7I+KpwoNUeMSaJHf/jH+Q272Tk1jlW3GYzygbX/XHxsoLz9byRO9A0AMwClAOF
# XuNx+0+3w8xGfapsMU/oBkSMVFj03jsm07PMgvipMfT9s8qcTgzCyK8VeJPp9WHz
# 9gn4mvVnEBQU1W3K2SCx1o3pyFaqmyMwnE0BixWKVEM9zAaJEBN5iYCn4QX0TH3y
# Hmzc8g==
# =YF54
# -END PGP SIGNATURE-
# gpg: Signature made Tue 08 Nov 2022 20:47:51 EST
# gpg:using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:issuer "richard.hender...@linaro.org"
# gpg: Good signature from "Richard Henderson " 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-tcg-20221109' of https://gitlab.com/rth7680/qemu:
  accel/tcg: Split out setjmp_gen_code
  tcg: Move TCG_TARGET_HAS_direct_jump init to tb_gen_code

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/60ab36907ded...2ccad61746ca



[Qemu-commits] [qemu/qemu]

2022-11-08 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/tags/v7.2.0-rc0
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu] bc5add: vhost-vdpa: fix assert !virtio_net_get_subqueue(nc...

2022-11-08 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: bc5add1dadcc140fef9af4fe215167e796cd1a58
  
https://github.com/qemu/qemu/commit/bc5add1dadcc140fef9af4fe215167e796cd1a58
  Author: Si-Wei Liu 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M net/vhost-vdpa.c

  Log Message:
  ---
  vhost-vdpa: fix assert !virtio_net_get_subqueue(nc)->async_tx.elem in 
virtio_net_reset

The citing commit has incorrect code in vhost_vdpa_receive() that returns
zero instead of full packet size to the caller. This renders pending packets
unable to be freed so then get clogged in the tx queue forever. When device
is being reset later on, below assertion failure ensues:

0  0x7f86d53bb387 in raise () from /lib64/libc.so.6
1  0x7f86d53bca78 in abort () from /lib64/libc.so.6
2  0x7f86d53b41a6 in __assert_fail_base () from /lib64/libc.so.6
3  0x7f86d53b4252 in __assert_fail () from /lib64/libc.so.6
4  0x55b8f6ff6fcc in virtio_net_reset (vdev=) at 
/usr/src/debug/qemu/hw/net/virtio-net.c:563
5  0x55b8f7012fcf in virtio_reset (opaque=0x55b8faf881f0) at 
/usr/src/debug/qemu/hw/virtio/virtio.c:1993
6  0x55b8f71f0086 in virtio_bus_reset (bus=bus@entry=0x55b8faf88178) at 
/usr/src/debug/qemu/hw/virtio/virtio-bus.c:102
7  0x55b8f71f1620 in virtio_pci_reset (qdev=) at 
/usr/src/debug/qemu/hw/virtio/virtio-pci.c:1845
8  0x55b8f6fafc6c in memory_region_write_accessor (mr=, 
addr=, value=,
   size=, shift=, mask=, 
attrs=...) at /usr/src/debug/qemu/memory.c:483
9  0x55b8f6fadce9 in access_with_adjusted_size (addr=addr@entry=20, 
value=value@entry=0x7f867e7fb7e8, size=size@entry=1,
   access_size_min=, access_size_max=, 
access_fn=0x55b8f6fafc20 ,
   mr=0x55b8faf80a50, attrs=...) at /usr/src/debug/qemu/memory.c:544
10 0x55b8f6fb1d0b in memory_region_dispatch_write 
(mr=mr@entry=0x55b8faf80a50, addr=addr@entry=20, data=0, op=,
   attrs=attrs@entry=...) at /usr/src/debug/qemu/memory.c:1470
11 0x55b8f6f62ada in flatview_write_continue (fv=fv@entry=0x7f86ac04cd20, 
addr=addr@entry=549755813908, attrs=...,
   attrs@entry=..., buf=buf@entry=0x7f86d0223028 , len=len@entry=1, addr1=20, l=1,
   mr=0x55b8faf80a50) at /usr/src/debug/qemu/exec.c:3266
12 0x55b8f6f62c8f in flatview_write (fv=0x7f86ac04cd20, addr=549755813908, 
attrs=...,
   buf=0x7f86d0223028 , len=1) at 
/usr/src/debug/qemu/exec.c:3306
13 0x55b8f6f674cb in address_space_write (as=, 
addr=, attrs=..., buf=,
   len=) at /usr/src/debug/qemu/exec.c:3396
14 0x55b8f6f67575 in address_space_rw (as=, addr=, attrs=..., attrs@entry=...,
   buf=buf@entry=0x7f86d0223028 , 
len=, is_write=)
   at /usr/src/debug/qemu/exec.c:3406
15 0x55b8f6fc1cc8 in kvm_cpu_exec (cpu=cpu@entry=0x55b8f9aa0e10) at 
/usr/src/debug/qemu/accel/kvm/kvm-all.c:2410
16 0x55b8f6fa5f5e in qemu_kvm_cpu_thread_fn (arg=0x55b8f9aa0e10) at 
/usr/src/debug/qemu/cpus.c:1318
17 0x55b8f7336e16 in qemu_thread_start (args=0x55b8f9ac8480) at 
/usr/src/debug/qemu/util/qemu-thread-posix.c:519
18 0x7f86d575aea5 in start_thread () from /lib64/libpthread.so.0
19 0x7f86d5483b2d in clone () from /lib64/libc.so.6

Make vhost_vdpa_receive() return the size passed in as is, so that the
caller qemu_deliver_packet_iov() would eventually propagate it back to
virtio_net_flush_tx() to release pending packets from the async_tx queue.
Which corresponds to the drop path where qemu_sendv_packet_async() returns
non-zero in virtio_net_flush_tx().

Fixes: 846a1e85da64 ("vdpa: Add dummy receive callback")
Cc: Eugenio Perez Martin 
Signed-off-by: Si-Wei Liu 
Signed-off-by: Jason Wang 
Signed-off-by: Stefan Hajnoczi 
Message-Id: <20221108041929.18417-2-jasow...@redhat.com>


  Commit: f9c307c3f9dfda64355fd2c6d73b002913d6752c
  
https://github.com/qemu/qemu/commit/f9c307c3f9dfda64355fd2c6d73b002913d6752c
  Author: Zhenzhong Duan 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M softmmu/physmem.c

  Log Message:
  ---
  memory: Fix wrong end address dump

The end address of memory region section isn't correctly calculated
which leads to overflowed mtree dump:

  Dispatch
Physical sections
  ..
  #70 @2000..00011fff io [ROOT]
  #71 @5000..5fff (noname)
  #72 @5000..00014fff io [ROOT]
  #73 @5658..5658 vmport
  #74 @5659..00015658 io [ROOT]
  #75 @6000..00015fff io [ROOT]

After fix:
  #70 @2000..4fff io [ROOT]
  #71 @5000..5fff (noname)
  #72 @5000..5657 io [ROOT]
  #73 @5658..5658 vmport
  #74 @5659..5fff io [ROOT]
  #75 @6000.. io [ROOT]

Fixes: 5e8fd947e2670 ("memory: Rework "info mtree" to print flat views and 
dispatch trees")
Signed-off-by: Zhenzhong Duan 
Reviewed-by: David 

[Qemu-commits] [qemu/qemu] f9c307: memory: Fix wrong end address dump

2022-11-08 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: f9c307c3f9dfda64355fd2c6d73b002913d6752c
  
https://github.com/qemu/qemu/commit/f9c307c3f9dfda64355fd2c6d73b002913d6752c
  Author: Zhenzhong Duan 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M softmmu/physmem.c

  Log Message:
  ---
  memory: Fix wrong end address dump

The end address of memory region section isn't correctly calculated
which leads to overflowed mtree dump:

  Dispatch
Physical sections
  ..
  #70 @2000..00011fff io [ROOT]
  #71 @5000..5fff (noname)
  #72 @5000..00014fff io [ROOT]
  #73 @5658..5658 vmport
  #74 @5659..00015658 io [ROOT]
  #75 @6000..00015fff io [ROOT]

After fix:
  #70 @2000..4fff io [ROOT]
  #71 @5000..5fff (noname)
  #72 @5000..5657 io [ROOT]
  #73 @5658..5658 vmport
  #74 @5659..5fff io [ROOT]
  #75 @6000.. io [ROOT]

Fixes: 5e8fd947e2670 ("memory: Rework "info mtree" to print flat views and 
dispatch trees")
Signed-off-by: Zhenzhong Duan 
Reviewed-by: David Hildenbrand 
Reviewed-by: Peter Xu 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20220622095912.3430583-1-zhenzhong.d...@intel.com>
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: ef7716cacc1d727747a6b230dde9f42fb46e939c
  
https://github.com/qemu/qemu/commit/ef7716cacc1d727747a6b230dde9f42fb46e939c
  Author: Daniel Henrique Barboza 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M hw/block/pflash_cfi01.c
M hw/block/pflash_cfi02.c

  Log Message:
  ---
  Revert "hw/block/pflash_cfi: Error out if dev length isn't power of 2"

Commit 334c388f25 ("pflash_cfi: Error out if device length
isn't a power of two") aimed to finish the effort started by
commit 06f1521795 ("pflash: Require backend size to match device,
improve errors"), but unfortunately we are not quite there since
various machines are still ready to accept incomplete / oversized
pflash backend images, and now fail, i.e. on Debian bullseye:

 $ qemu-system-x86_64 \
   -drive \
   if=pflash,format=raw,unit=0,readonly=on,file=/usr/share/OVMF/OVMF_CODE.fd
 qemu-system-x86_64: Device size must be a power of two.

where OVMF_CODE.fd comes from the ovmf package, which doesn't
pad the firmware images to the flash size:

 $ ls -lh /usr/share/OVMF/
 -rw-r--r-- 1 root root 3.5M Aug 19  2021 OVMF_CODE_4M.fd
 -rw-r--r-- 1 root root 1.9M Aug 19  2021 OVMF_CODE.fd
 -rw-r--r-- 1 root root 128K Aug 19  2021 OVMF_VARS.fd

Since we entered the freeze period to prepare the v7.2.0 release,
the safest is to revert commit 334c388f25707a234c4a0dea05b9df08d.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1294
Signed-off-by: Philippe Mathieu-Daudé 
Message-Id: <20221108175755.95141-1-phi...@linaro.org>
Signed-off-by: Daniel Henrique Barboza 
Message-Id: <20221108172633.860700-1-danielhb...@gmail.com>


  Commit: 60ab36907ded2918d33683f2b66f603b7400d8f3
  
https://github.com/qemu/qemu/commit/60ab36907ded2918d33683f2b66f603b7400d8f3
  Author: Stefan Hajnoczi 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M VERSION

  Log Message:
  ---
  Update VERSION for v7.2.0-rc0

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/b96b19d7b4d7...60ab36907ded



[Qemu-commits] [qemu/qemu] 8a13fe: memory: Fix wrong end address dump

2022-11-08 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 8a13fecdfee813d2ee9e8b89a2b2b3313a384ed2
  
https://github.com/qemu/qemu/commit/8a13fecdfee813d2ee9e8b89a2b2b3313a384ed2
  Author: Zhenzhong Duan 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M softmmu/physmem.c

  Log Message:
  ---
  memory: Fix wrong end address dump

The end address of memory region section isn't correctly calculated
which leads to overflowed mtree dump:

  Dispatch
Physical sections
  ..
  #70 @2000..00011fff io [ROOT]
  #71 @5000..5fff (noname)
  #72 @5000..00014fff io [ROOT]
  #73 @5658..5658 vmport
  #74 @5659..00015658 io [ROOT]
  #75 @6000..00015fff io [ROOT]

After fix:
  #70 @2000..4fff io [ROOT]
  #71 @5000..5fff (noname)
  #72 @5000..5657 io [ROOT]
  #73 @5658..5658 vmport
  #74 @5659..5fff io [ROOT]
  #75 @6000.. io [ROOT]

Fixes: 5e8fd947e2670 ("memory: Rework "info mtree" to print flat views and 
dispatch trees")
Signed-off-by: Zhenzhong Duan 
Reviewed-by: David Hildenbrand 
Reviewed-by: Peter Xu 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20220622095912.3430583-1-zhenzhong.d...@intel.com>
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: 06f1ee6b1e27527a2d4ac9b651493d8b16b2a77d
  
https://github.com/qemu/qemu/commit/06f1ee6b1e27527a2d4ac9b651493d8b16b2a77d
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M hw/sd/sdhci.c

  Log Message:
  ---
  hw/sd/sdhci: Do not set Buf Wr Ena before writing block (CVE-2022-3872)

When sdhci_write_block_to_card() is called to transfer data from
the FIFO to the SD bus, the data is already present in the buffer
and we have to consume it directly.

See the description of the 'Buffer Write Enable' bit from the
'Present State' register (prnsts::SDHC_SPACE_AVAILABLE) in Table
2.14 from the SDHCI spec v2:

  Buffer Write Enable

  This status is used for non-DMA write transfers.

  The Host Controller can implement multiple buffers to transfer
  data efficiently. This read only flag indicates if space is
  available for write data. If this bit is 1, data can be written
  to the buffer. A change of this bit from 1 to 0 occurs when all
  the block data is written to the buffer. A change of this bit
  from 0 to 1 occurs when top of block data can be written to the
  buffer and generates the Buffer Write Ready interrupt.

In our case, we do not want to overwrite the buffer, so we want
this bit to be 0, then set it to 1 once the data is written onto
the bus.

This is probably a copy/paste error from commit d7dfca0807
("hw/sdhci: introduce standard SD host controller").

OSS-Fuzz Report: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=45986#c4

Reproducers:

  $ cat << EOF | \
 qemu-system-x86_64 -nodefaults -display none -machine accel=qtest \
   -m 512M  -device sdhci-pci -device sd-card,drive=mydrive \
   -drive if=none,index=0,file=null-co://,format=raw,id=mydrive \
   -nographic -qtest stdio
  outl 0xcf8 0x80001010
  outl 0xcfc 0xe000
  outl 0xcf8 0x80001001
  outl 0xcfc 0x0600
  write 0xe058 0x1 0x6e
  write 0xe059 0x1 0x5a
  write 0xe028 0x1 0x10
  write 0xe02c 0x1 0x05
  write 0x5a6e 0x1 0x21
  write 0x5a75 0x1 0x20
  write 0xe005 0x1 0x02
  write 0xe00c 0x1 0x01
  write 0xe00e 0x1 0x20
  write 0xe00f 0x1 0x00
  write 0xe00c 0x1 0x00
  write 0xe020 0x1 0x00
  EOF

or 
https://lore.kernel.org/qemu-devel/caa8xkjxrms0fkr28akvnnpyatm0y0b+5fichpsrhd+mugnu...@mail.gmail.com/

Fixes: CVE-2022-3872
Reported-by: RivenDell 
Reported-by: Siqi Chen 
Reported-by: ningqiang 
Reported-by: ClusterFuzz
Signed-off-by: Philippe Mathieu-Daudé 
Tested-by: Mauro Matteo Cascella 
Message-Id: <20221107221236.47841-2-phi...@linaro.org>


  Commit: cf9b3efd816518f9f210f50a0fa3e46a00b33c27
  
https://github.com/qemu/qemu/commit/cf9b3efd816518f9f210f50a0fa3e46a00b33c27
  Author: Daniel Henrique Barboza 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M hw/block/pflash_cfi01.c
M hw/block/pflash_cfi02.c

  Log Message:
  ---
  Revert "hw/block/pflash_cfi: Error out if dev length isn't power of 2"

Commit 334c388f25 ("pflash_cfi: Error out if device length
isn't a power of two") aimed to finish the effort started by
commit 06f1521795 ("pflash: Require backend size to match device,
improve errors"), but unfortunately we are not quite there since
various machines are still ready to accept incomplete / oversized
pflash backend images, and now fail, i.e. on Debian bullseye:

 $ qemu-system-x86_64 \
   -drive \
   

[Qemu-commits] [qemu/qemu] 8063db: target/mips: Set CP0St_{KX, SX, UX} for Loongson-2F

2022-11-08 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 8063db0fc8256e3f6b9b33c246bd926f3a2dbb12
  
https://github.com/qemu/qemu/commit/8063db0fc8256e3f6b9b33c246bd926f3a2dbb12
  Author: Jiaxun Yang 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M target/mips/cpu.c

  Log Message:
  ---
  target/mips: Set CP0St_{KX, SX, UX} for Loongson-2F

As per an unpublished document, in later reversion of chips
CP0St_{KX, SX, UX} is not writeable and hardcoded to 1.

Without those bits set, kernel is unable to access XKPHYS address
segment. So just set them up on CPU reset.

Signed-off-by: Jiaxun Yang 
Acked-by: Richard Henderson 
Message-Id: <20221031132531.18122-2-jiaxun.y...@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: 0e8b3010afa7507f42754ebec16bbd4dfdb3a660
  
https://github.com/qemu/qemu/commit/0e8b3010afa7507f42754ebec16bbd4dfdb3a660
  Author: Jiaxun Yang 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M target/mips/tcg/octeon.decode

  Log Message:
  ---
  target/mips: Cast offset field of Octeon BBIT to int16_t

As per "Cavium Networks OCTEON Plus CN50XX Hardware Reference
Manual" offset field is signed 16 bit value. However arg_BBIT.offset
is unsigned. We need to cast it as signed to do address calculation.

Signed-off-by: Jiaxun Yang 
Acked-by: Richard Henderson 
Acked-by: Pavel Dovgalyuk 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221031132531.18122-3-jiaxun.y...@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: 4525ea7e0caa4aa6317204cd977179dea972cf6d
  
https://github.com/qemu/qemu/commit/4525ea7e0caa4aa6317204cd977179dea972cf6d
  Author: Pavel Dovgalyuk 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M target/mips/tcg/translate.c

  Log Message:
  ---
  target/mips: Enable LBX/LWX/* instructions for Octeon

This patch changes condition and function name for enabling
indexed load instructions for Octeon vCPUs. Octeons do not
have DSP extension, but implement LBX-and-others.

Signed-off-by: Pavel Dovgalyuk 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <166728058455.229236.13834649461181619195.stgit@pasha-ThinkPad-X280>
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: 4bfc895383ed65b83d55a8ae5738a166c1cc48f1
  
https://github.com/qemu/qemu/commit/4bfc895383ed65b83d55a8ae5738a166c1cc48f1
  Author: Jiaxun Yang 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M target/mips/cpu-defs.c.inc

  Log Message:
  ---
  target/mips: Disable DSP ASE for Octeon68XX

I don't have access to Octeon68XX hardware but according
to my investigation Octeon never had DSP ASE support.

As per "Cavium Networks OCTEON Plus CN50XX Hardware Reference
Manual" CP0C3_DSPP is reserved bit and read as 0. Also I do have
access to a Ubiquiti Edgerouter 4 which has Octeon CN7130 processor
and I can confirm CP0C3_DSPP is read as 0 on that processor.

Further more, in linux kernel:
arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h
cpu_has_dsp is overridden as 0.

So I believe we shouldn't emulate DSP in QEMU as well.

Signed-off-by: Jiaxun Yang 
Acked-by: Richard Henderson 
Reviewed-by: Pavel Dovgalyuk 
Message-Id: <20221031132531.18122-4-jiaxun.y...@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: 2a2105a26219695c72bfc7cab9b7d37754fc0920
  
https://github.com/qemu/qemu/commit/2a2105a26219695c72bfc7cab9b7d37754fc0920
  Author: Jiaxun Yang 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M target/mips/tcg/translate.c

  Log Message:
  ---
  target/mips: Don't check COP1X for 64 bit FP mode

Some implementations (i.e. Loongson-2F) may decide to implement
a 64 bit FPU without implementing COP1X instructions.

As the eligibility of 64 bit FP instructions is already determined
by CP0St_FR, there is no need to check for COP1X again.

Signed-off-by: Jiaxun Yang 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221102165719.190378-1-jiaxun.y...@flygoat.com>
[PMD: Add missing trailing parenthesis (buildfix)]
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: 04849c94fe50ce6fc621933eda2321dc6a3280a1
  
https://github.com/qemu/qemu/commit/04849c94fe50ce6fc621933eda2321dc6a3280a1
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M disas/nanomips.c

  Log Message:
  ---
  disas/nanomips: Fix invalid PRId64 format calling img_format()

Fix warnings such:

  disas/nanomips.c:3251:64: warning: format specifies type 'char *' but the 
argument has type 'int64' (aka 'long long') [-Wformat]
return img_format("CACHE 0x%" PRIx64 ", %s(%s)", op_value, s_value, rs);
~~ ^~~
%lld

To avoid crashes such (kernel from commit f375ad6a0d):

  $ qemu-system-mipsel -cpu I7200 -d in_asm -kernel generic_nano32r6el_page4k
  ...
  
  IN: __bzero
  0x805c6084:  20c4 

[Qemu-commits] [qemu/qemu] 3ba5fe: Merge tag 'mips-20221108' of https://github.com/ph...

2022-11-08 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 3ba5fe46ea4456a16e2f47ab8e75943b54879c4e
  
https://github.com/qemu/qemu/commit/3ba5fe46ea4456a16e2f47ab8e75943b54879c4e
  Author: Stefan Hajnoczi 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M MAINTAINERS
M disas/nanomips.c
M target/mips/cpu-defs.c.inc
M target/mips/cpu.c
M target/mips/tcg/octeon.decode
M target/mips/tcg/translate.c

  Log Message:
  ---
  Merge tag 'mips-20221108' of https://github.com/philmd/qemu into staging

MIPS patches queue

- Remove -Wclobbered in nanoMIPS disassembler (Richard Henderson)
- Fix invalid string formats in nanoMIPS disassembler (myself)
- Allow Loongson-2F to access XKPHYS in kernel mode (Jiaxun Yang)
- Octeon opcode fixes (Jiaxun Yang, Pavel Dovgalyuk)
- MAINTAINERS nanoMIPS update

# -BEGIN PGP SIGNATURE-
#
# iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmNpnTYACgkQ4+MsLN6t
# wN4t2A//XLIH7uL+u6kqGm45fVyy58R1NDoj2afNv5rRqIcXSrP9zRH00woLmGzs
# pYLbu3yOynY2/OSU3iooAaXjQz8ub3YIpceAQdD26OgnpTrwVzKO9jvQz2UlDrzs
# gETnHfqwZDBzxbqkUXxT7Pe3NRQzRmMgrMYNJm+e7UokCVy3c2PZ6vBdC5zvwS6K
# LwnuEBvG74fV70D42dYay0wTB37z7m5Cf7uMp7TrEA+2HLgIZl+J9AuCmZxZZxdU
# sh0AvNiVaKbHT55lazWAMvmVuUEl5zLTEUa1B0sOv081ZaY3ACBuh6Q8VpNgkgSx
# qxKQbye+LtnDDYckeIRa3jI5Fs5AagC6lPPJJpiiFnMqpQaPYhNDFFjR5LNdwfQ6
# cN1lU4toi2B5LuUmiCEJrAsMgocLaNVnhwas391vtIFZh+onN/wZ1sE1Ur1kZkL7
# and2QDr2C8Y7qnpP3q8QRSz1yz+pyvTRcRIwjrnRGIgOfQUOiYeLB1RO01VOFn8u
# 0Oa5gKrtClnQxMfZqoRIGucrnbZdrP/oHwsVOKUdDDNpAceVEJ0dvBiUv6WhQQ/4
# G6Ih2GJ/gJU3Ld8UliA9MCzISbvNoQ6EHYk0YqrH8B/MCzvOLbbmaZban3+xFTma
# c2YGQ16ZIQsZMm00sB1Du8l9H9ms/N0VJcSx9txD2YbQWOA/bMs=
# =gQ7f
# -END PGP SIGNATURE-
# gpg: Signature made Mon 07 Nov 2022 19:05:10 EST
# gpg:using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) " 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* tag 'mips-20221108' of https://github.com/philmd/qemu:
  MAINTAINERS: Inherit from nanoMIPS
  disas/nanomips: Tidy read for 48-bit opcodes
  disas/nanomips: Split out read_u16
  disas/nanomips: Merge insn{1,2,3} into words[3]
  disas/nanomips: Move setjmp into nanomips_dis
  disas/nanomips: Remove headers already included by "qemu/osdep.h"
  disas/nanomips: Use G_GNUC_PRINTF to avoid invalid string formats
  disas/nanomips: Fix invalid PRIx64 format calling img_format()
  disas/nanomips: Fix invalid PRId64 format calling img_format()
  target/mips: Don't check COP1X for 64 bit FP mode
  target/mips: Disable DSP ASE for Octeon68XX
  target/mips: Enable LBX/LWX/* instructions for Octeon
  target/mips: Cast offset field of Octeon BBIT to int16_t
  target/mips: Set CP0St_{KX, SX, UX} for Loongson-2F

Signed-off-by: Stefan Hajnoczi 


  Commit: ade760a2f63804b7ab1839fbc3e5ddbf30538718
  
https://github.com/qemu/qemu/commit/ade760a2f63804b7ab1839fbc3e5ddbf30538718
  Author: Stefan Hajnoczi 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M hw/display/blizzard.c
M hw/display/cirrus_vga.c
M hw/display/omap_dss.c
M hw/display/pxa2xx_lcd.c
M hw/display/vga_regs.h
M hw/display/xenfb.c
M hw/s390x/s390-pci-kvm.c
M hw/s390x/s390-virtio-ccw.c
M hw/usb/dev-hub.c
M hw/usb/dev-network.c
M hw/usb/dev-wacom.c
M hw/usb/hcd-musb.c
M hw/usb/quirks-pl2303-ids.h
M include/hw/s390x/s390-virtio-ccw.h
M include/hw/usb.h
M include/hw/usb/dwc2-regs.h
M qemu-options.hx
M ui/vgafont.h
M ui/vnc-enc-zywrle-template.c
M ui/vnc-enc-zywrle.h
M ui/vnc_keysym.h
M util/qemu-config.c

  Log Message:
  ---
  Merge tag 'pull-request-2022-11-08' of https://gitlab.com/thuth/qemu into 
staging

* Last minute s390x fixes before the hard freeze
* Whiste space clean-up in ui/, display/ and hw/usb/

# -BEGIN PGP SIGNATURE-
#
# iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmNqPZ0RHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbVbwxAArAxJewpow+QBj7dMd6qLrpC7mjxgiiQD
# F8XNYh6bPpPo3+4exmMKMS+DGSLC5TJnp61F4IHyH+yOx8DVWmrjo97q+nWYYD4y
# jOdC5a2kzkMzVjrxy26uvPhoUGkiM5w8H5bF9hcWukuEwqpoJPU7u5RXd1yn48Ju
# O1RrASw+rHZSnCGFFXldG2HoS+bUOaZRHQs5kV9EwpqEn42eQtq38CQ7YEMloOkD
# FpPl75KEQ9/doqSbGLdFP1HzaG/emtFnioIXlGM3Y7RzDxCgvKTdAvPCOBO7LxHA
# oOY/nFcRYIEUslvyZLUXahKE2qBv2nenmWAQ9lwGd/iU78nWzR19BZdpItSP3Sjj
# HFLOKztqI8qLbx966uOU8O5FaYqfGPV6QZVOSzAl7u8GZbqpN5lp+uArEoGtawMo
# 9fRDAgSoser9AAIWr1TOoFGRff3VT4hlZeale3VOmfxAOBc2r70pzvk3ou5mo8NU
# VXb6Uz5nNIm8RV9fr6/jgllfQDMiCHSwaAnC1hABqAwatcU/SJ4dKfXbdwjsPN8V
# jgC5GqAHaC9mwQu0rfZSzuGZkosh0MZVik/xcWO3hspT/CyIafpi42POyQEjOMYf
# 5SgJ8ydV32xEGQw66cl9yLAuhN4F8eTavLwQBV7pmCeySm8HCFGuZrmQkeOTBTD2
# HEbJJjz9zgI=
# =P8Mt
# -END PGP SIGNATURE-
# gpg: Signature made Tue 08 Nov 2022 06:29:33 EST
# gpg:using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:issuer "th...@redhat.com"
# gpg: Good signature from "Thomas 

[Qemu-commits] [qemu/qemu] 8063db: target/mips: Set CP0St_{KX, SX, UX} for Loongson-2F

2022-11-08 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 8063db0fc8256e3f6b9b33c246bd926f3a2dbb12
  
https://github.com/qemu/qemu/commit/8063db0fc8256e3f6b9b33c246bd926f3a2dbb12
  Author: Jiaxun Yang 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M target/mips/cpu.c

  Log Message:
  ---
  target/mips: Set CP0St_{KX, SX, UX} for Loongson-2F

As per an unpublished document, in later reversion of chips
CP0St_{KX, SX, UX} is not writeable and hardcoded to 1.

Without those bits set, kernel is unable to access XKPHYS address
segment. So just set them up on CPU reset.

Signed-off-by: Jiaxun Yang 
Acked-by: Richard Henderson 
Message-Id: <20221031132531.18122-2-jiaxun.y...@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: 0e8b3010afa7507f42754ebec16bbd4dfdb3a660
  
https://github.com/qemu/qemu/commit/0e8b3010afa7507f42754ebec16bbd4dfdb3a660
  Author: Jiaxun Yang 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M target/mips/tcg/octeon.decode

  Log Message:
  ---
  target/mips: Cast offset field of Octeon BBIT to int16_t

As per "Cavium Networks OCTEON Plus CN50XX Hardware Reference
Manual" offset field is signed 16 bit value. However arg_BBIT.offset
is unsigned. We need to cast it as signed to do address calculation.

Signed-off-by: Jiaxun Yang 
Acked-by: Richard Henderson 
Acked-by: Pavel Dovgalyuk 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221031132531.18122-3-jiaxun.y...@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: 4525ea7e0caa4aa6317204cd977179dea972cf6d
  
https://github.com/qemu/qemu/commit/4525ea7e0caa4aa6317204cd977179dea972cf6d
  Author: Pavel Dovgalyuk 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M target/mips/tcg/translate.c

  Log Message:
  ---
  target/mips: Enable LBX/LWX/* instructions for Octeon

This patch changes condition and function name for enabling
indexed load instructions for Octeon vCPUs. Octeons do not
have DSP extension, but implement LBX-and-others.

Signed-off-by: Pavel Dovgalyuk 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <166728058455.229236.13834649461181619195.stgit@pasha-ThinkPad-X280>
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: 4bfc895383ed65b83d55a8ae5738a166c1cc48f1
  
https://github.com/qemu/qemu/commit/4bfc895383ed65b83d55a8ae5738a166c1cc48f1
  Author: Jiaxun Yang 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M target/mips/cpu-defs.c.inc

  Log Message:
  ---
  target/mips: Disable DSP ASE for Octeon68XX

I don't have access to Octeon68XX hardware but according
to my investigation Octeon never had DSP ASE support.

As per "Cavium Networks OCTEON Plus CN50XX Hardware Reference
Manual" CP0C3_DSPP is reserved bit and read as 0. Also I do have
access to a Ubiquiti Edgerouter 4 which has Octeon CN7130 processor
and I can confirm CP0C3_DSPP is read as 0 on that processor.

Further more, in linux kernel:
arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h
cpu_has_dsp is overridden as 0.

So I believe we shouldn't emulate DSP in QEMU as well.

Signed-off-by: Jiaxun Yang 
Acked-by: Richard Henderson 
Reviewed-by: Pavel Dovgalyuk 
Message-Id: <20221031132531.18122-4-jiaxun.y...@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: 2a2105a26219695c72bfc7cab9b7d37754fc0920
  
https://github.com/qemu/qemu/commit/2a2105a26219695c72bfc7cab9b7d37754fc0920
  Author: Jiaxun Yang 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M target/mips/tcg/translate.c

  Log Message:
  ---
  target/mips: Don't check COP1X for 64 bit FP mode

Some implementations (i.e. Loongson-2F) may decide to implement
a 64 bit FPU without implementing COP1X instructions.

As the eligibility of 64 bit FP instructions is already determined
by CP0St_FR, there is no need to check for COP1X again.

Signed-off-by: Jiaxun Yang 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: <20221102165719.190378-1-jiaxun.y...@flygoat.com>
[PMD: Add missing trailing parenthesis (buildfix)]
Signed-off-by: Philippe Mathieu-Daudé 


  Commit: 04849c94fe50ce6fc621933eda2321dc6a3280a1
  
https://github.com/qemu/qemu/commit/04849c94fe50ce6fc621933eda2321dc6a3280a1
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
M disas/nanomips.c

  Log Message:
  ---
  disas/nanomips: Fix invalid PRId64 format calling img_format()

Fix warnings such:

  disas/nanomips.c:3251:64: warning: format specifies type 'char *' but the 
argument has type 'int64' (aka 'long long') [-Wformat]
return img_format("CACHE 0x%" PRIx64 ", %s(%s)", op_value, s_value, rs);
~~ ^~~
%lld

To avoid crashes such (kernel from commit f375ad6a0d):

  $ qemu-system-mipsel -cpu I7200 -d in_asm -kernel generic_nano32r6el_page4k
  ...
  
  IN: __bzero
  0x805c6084:  

[Qemu-commits] [qemu/qemu] 58379a: qapi: virtio: Fix the introduced version

2022-11-07 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 58379af7102616531bf8ca499121e33b034fe9e4
  
https://github.com/qemu/qemu/commit/58379af7102616531bf8ca499121e33b034fe9e4
  Author: Han Han 
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
M qapi/virtio.json

  Log Message:
  ---
  qapi: virtio: Fix the introduced version

The items of qapi/virtio.json are introduced at a5ebce38576. They will be
in the version 7.2 not 7.1.

Signed-off-by: Han Han 
Reviewed-by: Laurent Vivier 
Message-Id: <20221101014647.3000801-1-h...@redhat.com>
Signed-off-by: Laurent Vivier 


  Commit: 1e458f11273c315ee2045f6e632b8dfb5f2b1544
  
https://github.com/qemu/qemu/commit/1e458f11273c315ee2045f6e632b8dfb5f2b1544
  Author: Stefan Weil 
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
M docs/devel/testing.rst
M docs/system/arm/cpu-features.rst
M docs/system/loongarch/loongson3.rst
M docs/tools/virtiofsd.rst
M include/exec/memory.h
M qapi/qom.json
M qemu-options.hx
M qga/qapi-schema.json
M tests/qtest/libqtest.h

  Log Message:
  ---
  Fix some typos in documentation and comments

Most of them were found and fixed using codespell.

Signed-off-by: Stefan Weil 
Reviewed-by: Peter Maydell 
Reviewed-by: Thomas Huth 
Reviewed-by: Stefan Hajnoczi 
Message-Id: <20221030105944.311940-1...@weilnetz.de>
Signed-off-by: Laurent Vivier 


  Commit: ba24456b93a205b728475d5f0880f3ec495e383a
  
https://github.com/qemu/qemu/commit/ba24456b93a205b728475d5f0880f3ec495e383a
  Author: Chuck Zmudzinski 
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
M hw/xen/meson.build

  Log Message:
  ---
  xen/pt: fix syntax error that causes FTBFS in some configurations

When Qemu is built with --enable-xen and --disable-xen-pci-passthrough
and the target os is linux, the build fails with:

meson.build:3477:2: ERROR: File xen_pt_stub.c does not exist.

Fixes: 582ea95f5f93 ("meson: convert hw/xen")

Signed-off-by: Chuck Zmudzinski 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: 
<5f1342a13c09af77b1a7b0aeaba5955bcea89731.1667242033.git.brchu...@aol.com>
Signed-off-by: Laurent Vivier 


  Commit: 0f208a9747a700a4b63afc87d58da0c87f37e214
  
https://github.com/qemu/qemu/commit/0f208a9747a700a4b63afc87d58da0c87f37e214
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
R target/m68k/qregs.def
A target/m68k/qregs.h.inc
M target/m68k/translate.c

  Log Message:
  ---
  target/m68k: Rename qregs.def -> qregs.h.inc

We use the .h.inc extension to include C headers. To be consistent
with the rest of the codebase, rename the C headers using the .def
extension.

IDE/tools using our .editorconfig / .gitattributes will leverage
this consistency.

Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Laurent Vivier 
Reviewed-by: Alex Bennée 
Message-Id: <20221025235006.7215-2-phi...@linaro.org>
Signed-off-by: Laurent Vivier 


  Commit: 9cef8d99266cca7189237287dcd18b0a91c9aae7
  
https://github.com/qemu/qemu/commit/9cef8d99266cca7189237287dcd18b0a91c9aae7
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
R target/s390x/tcg/insn-data.def
A target/s390x/tcg/insn-data.h.inc
R target/s390x/tcg/insn-format.def
A target/s390x/tcg/insn-format.h.inc
M target/s390x/tcg/translate.c

  Log Message:
  ---
  target/s390x: Rename insn-data/format.def -> insn-data/format.h.inc

We use the .h.inc extension to include C headers. To be consistent
with the rest of the codebase, rename the C headers using the .def
extension.

IDE/tools using our .editorconfig / .gitattributes will leverage
this consistency.

Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Thomas Huth 
Reviewed-by: Alex Bennée 
Message-Id: <20221025235006.7215-3-phi...@linaro.org>
Signed-off-by: Laurent Vivier 


  Commit: 5d756c82c9eb288f9e19bbc711c99e6b6bda9f0c
  
https://github.com/qemu/qemu/commit/5d756c82c9eb288f9e19bbc711c99e6b6bda9f0c
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
R target/tricore/csfr.def
A target/tricore/csfr.h.inc
M target/tricore/translate.c

  Log Message:
  ---
  target/tricore: Rename csfr.def -> csfr.h.inc

We use the .h.inc extension to include C headers. To be consistent
with the rest of the codebase, rename the C headers using the .def
extension.

IDE/tools using our .editorconfig / .gitattributes will leverage
this consistency.

Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Bastian Koppelmann 
Reviewed-by: Alex Bennée 
Message-Id: <20221025235006.7215-4-phi...@linaro.org>
Signed-off-by: Laurent Vivier 


  Commit: 5a820d5d07cb101752c731799a326648a5aa185a
  
https://github.com/qemu/qemu/commit/5a820d5d07cb101752c731799a326648a5aa185a
  Author: Alex Bennée 
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
M 

[Qemu-commits] [qemu/qemu] 64be79: Merge tag 'trivial-branch-for-7.2-pull-request' of...

2022-11-07 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 64be791d3c251a09eb2dbbf556478f976211b30c
  
https://github.com/qemu/qemu/commit/64be791d3c251a09eb2dbbf556478f976211b30c
  Author: Stefan Hajnoczi 
  Date:   2022-11-07 (Mon, 07 Nov 2022)

  Changed paths:
M docs/devel/testing.rst
M docs/system/arm/cpu-features.rst
M docs/system/loongarch/loongson3.rst
M docs/tools/virtiofsd.rst
M hw/xen/meson.build
M include/exec/memory.h
M qapi/qom.json
M qapi/virtio.json
M qemu-options.hx
M qga/qapi-schema.json
R target/m68k/qregs.def
A target/m68k/qregs.h.inc
M target/m68k/translate.c
R target/s390x/tcg/insn-data.def
A target/s390x/tcg/insn-data.h.inc
R target/s390x/tcg/insn-format.def
A target/s390x/tcg/insn-format.h.inc
M target/s390x/tcg/translate.c
R target/tricore/csfr.def
A target/tricore/csfr.h.inc
M target/tricore/translate.c
M tests/qtest/libqtest.h
M tests/unit/test-io-channel-command.c

  Log Message:
  ---
  Merge tag 'trivial-branch-for-7.2-pull-request' of 
https://gitlab.com/laurent_vivier/qemu into staging

Pull request trivial branch 20221103-v2

# -BEGIN PGP SIGNATURE-
#
# iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAmNmvt8SHGxhdXJlbnRA
# dml2aWVyLmV1AAoJEPMMOL0/L748HOMP/35HpUyXmjtpHegSgIQ43KLFNG+lBbj8
# 83W6HmOnd1ogSxiTmAx15a0jbcdfOPlloelG91GqptJsDBuwVBJ3wt2rDN4AseZe
# GTt4pXJPBITp+UGlz6BkGB1WrDTAB8xieijx6sXhyAfLYt1EwNx6qkWnTQh0sQjT
# jqjCTpF6V2odaxHJ7zmhhtlOea84q017ookhguDpOHbzzVEG5ma9YJwW2B5SPMUy
# IWrBEgV48S9epYX1o7HWqRbWN0gP0tuPaTIf+QSEwopqFkaArfBgwgGbPmU2njg6
# NY8TnEwmgEbcK8nxWUSpSWlFJ2YPhKTV1BqpcNSmZkVtG0bLxvLaMJu8TC+p4B90
# vepn7rysQqENCbcSaWUuVDtlhvi8LtRyaGtmeEzu6CrvMhsjzEIsRriVbFmHhDVh
# cmoePVPu4Ypn2QSoT2a8ZXT2KzgB92/9jKCoHpC8K5eR69NH1QAb+YrlmTjum+DE
# XZ5OhuI/nSY6xTR1nU4oRjq0MRHoS4OFR8c82wbA/XhMFju7Ej2Fj2tCeOdKK/IH
# /jFXwkx3GJbwuq1RetCmJdYStJ3K7F9gNDkgCYYSZoW6FsVUheWRakH8Ujyhk7Xb
# xnuOxrEGOw9A2cDjmRiDHqd3ErRJskzFGPtd2XIDr1loOwyWbYKRLd8A6W7HcQiU
# y3W6uHedI1ZL
# =PYU9
# -END PGP SIGNATURE-
# gpg: Signature made Sat 05 Nov 2022 15:51:59 EDT
# gpg:using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:issuer "laur...@vivier.eu"
# gpg: Good signature from "Laurent Vivier " [full]
# gpg: aka "Laurent Vivier " [full]
# gpg: aka "Laurent Vivier (Red Hat) " 
[full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* tag 'trivial-branch-for-7.2-pull-request' of 
https://gitlab.com/laurent_vivier/qemu:
  tests/unit: simpler variable sequence for test-io-channel
  target/tricore: Rename csfr.def -> csfr.h.inc
  target/s390x: Rename insn-data/format.def -> insn-data/format.h.inc
  target/m68k: Rename qregs.def -> qregs.h.inc
  xen/pt: fix syntax error that causes FTBFS in some configurations
  Fix some typos in documentation and comments
  qapi: virtio: Fix the introduced version

Signed-off-by: Stefan Hajnoczi 


  Commit: 20a885a87d13fe3456b21716fdeca29519bdd9b8
  
https://github.com/qemu/qemu/commit/20a885a87d13fe3456b21716fdeca29519bdd9b8
  Author: Stefan Hajnoczi 
  Date:   2022-11-07 (Mon, 07 Nov 2022)

  Changed paths:
M accel/accel-softmmu.c
M audio/audio.c
M block.c
M block/dmg.c
M configure
M gdb-xml/i386-32bit.xml
M hw/core/qdev.c
M include/qemu/main-loop.h
M include/qemu/module.h
M meson.build
M qom/object.c
M scripts/feature_to_c.sh
M softmmu/qtest.c
M ui/console.c
M util/aio-win32.c
M util/main-loop.c
M util/module.c

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

* bug fixes for Win32 event loop
* bug fixes for -Wextra
* fix gdb XML for 32-bit x86
* improve error handling for module load

# -BEGIN PGP SIGNATURE-
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmNndPcUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroOVVwf+Nfvx9aoDTo6vU4kHmCbh7+BTtcUA
# qEkaccL4pfujwNfRl5gHHKtRhgT6py9OjfIX8pAck3jtc5r+5/niFn7CLcOP2G/C
# xuyVKPx3ONCMKCLjWwg63I8/t4JZDEnYEzyddAfV7Xb5600aUJlrxScW751K5eYQ
# CzHFAASdc00eSiWE2eFL4rV7dcj0NadHnJxfjUcguHX4Qlr1TmK/ihEGv6MMRo5S
# 9Ak/vLmRs+LsQJm2cXUu5QVQiDwp31xbv3AP9knB+irYxrsp4LSDxV8eKZwLehpW
# I4A3gz2xKAprfzVJKZI3Dc/hJSRpoKoCjz+QoI1NeVbWjsnYZAwD+VMSew==
# =Nroy
# -END PGP SIGNATURE-
# gpg: Signature made Sun 06 Nov 2022 03:48:55 EST
# gpg:using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:issuer "pbonz...@redhat.com"
# gpg: Good signature from "Paolo Bonzini " [full]
# gpg: aka "Paolo Bonzini " [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:
  accel: abort if we fail to load the accelerator plugin
  dmg: warn when opening dmg images containing blocks of 

[Qemu-commits] [qemu/qemu] 2461e7: vfio/migration: Fix wrong enum usage

2022-11-06 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 2461e752199ca457bf0973b6c8a77dc30585809c
  
https://github.com/qemu/qemu/commit/2461e752199ca457bf0973b6c8a77dc30585809c
  Author: Avihai Horon 
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
M hw/vfio/migration.c

  Log Message:
  ---
  vfio/migration: Fix wrong enum usage

vfio_migration_init() initializes VFIOMigration->device_state using enum
of VFIO migration protocol v2. Current implemented protocol is v1 so v1
enum should be used. Fix it.

Fixes: 429c72800654 ("vfio/migration: Fix incorrect initialization value for 
parameters in VFIOMigration")
Signed-off-by: Avihai Horon 
Reviewed-by: Zhang Chen 
Link: https://lore.kernel.org/r/20221016085752.32740-1-avih...@nvidia.com
Signed-off-by: Alex Williamson 


  Commit: 466e81ff12013d026e2d0154266fce82bce2ee9b
  
https://github.com/qemu/qemu/commit/466e81ff12013d026e2d0154266fce82bce2ee9b
  Author: Stefan Hajnoczi 
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
M hw/vfio/migration.c

  Log Message:
  ---
  Merge tag 'vfio-fixes-v7.2-rc0.0' of https://gitlab.com/alex.williamson/qemu 
into staging

VFIO fixes for v7.2-rc0

 * Correct initial migration device state using correct v1
   protocol enum (Avihai Horon)

# -BEGIN PGP SIGNATURE-
#
# iQJPBAABCAA5FiEEQvbATlQL0amee4qQI5ubbjuwiyIFAmNkOh4bHGFsZXgud2ls
# bGlhbXNvbkByZWRoYXQuY29tAAoJECObm247sIsiIG8P/2W+Fqz4DrkWUk2MO14G
# djx6S/He7yZURlBLxfdQuGFcGzVQt1gFy7CD3JzMhDPzThIqyMHzMARODCHo
# NQEss2c2oYAodap/I5NPXxFA9EHqgrHZ8kfJ8ioZbqU0L3eLmMApBZMXz3tK5f6u
# XtKCpF9U2MfJCb+Rzxwa4bKidJJEtzAhX/v0gfWKYfp7hT1iRaNr9bS/IqBny+wV
# Mdf5NVZibjlv8e1e1FAf5X9dMaT9NItBqBMl42X0Pfyy0dDpq9KVpyhewIeeqMGM
# iuMeYadgRGWLuAhdkXSZrj06rLoHWxagIyPhCW57i9b7IXpaV4kkh2pHEx56MrV7
# bruM3znY7Xj3axS0HCM3DGP4OL2bc1MGjHcgNwjB6aMqxUN2rKan9wbvj+c1U0ms
# OjnG9ZTIVnROncL0jaEkulFwi+0MEIWYJiVAh81Miv8iHmpj1Krmn15N0R0XI7bx
# sEQaFrE3gyufgzAuwOht2oz6Qg84bWpwpJT0kQXXaANGfvq1nS1dHk5+4jmExQ+P
# TSE+V3q1q29EEcy/U8nMb1HmRUUdrWdZnV2RWunDbqEvW6KOnLdSX2xq5HKSuS9Y
# H1oqv15gjNBDpJDlelkjlVTQ7MPCcV9MQDBgFMkZRS9TIAHQ/3lRLhCNNCN76GMK
# d1YNd9iZn+Fewb/Knm3+aTxS
# =Nw9N
# -END PGP SIGNATURE-
# gpg: Signature made Thu 03 Nov 2022 18:01:02 EDT
# gpg:using RSA key 42F6C04E540BD1A99E7B8A90239B9B6E3BB08B22
# gpg:issuer "alex.william...@redhat.com"
# gpg: Good signature from "Alex Williamson " [full]
# gpg: aka "Alex Williamson " [full]
# gpg: aka "Alex Williamson " [full]
# gpg: aka "Alex Williamson " 
[full]
# Primary key fingerprint: 42F6 C04E 540B D1A9 9E7B  8A90 239B 9B6E 3BB0 8B22

* tag 'vfio-fixes-v7.2-rc0.0' of https://gitlab.com/alex.williamson/qemu:
  vfio/migration: Fix wrong enum usage

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/6295a58ad1b7...466e81ff1201



[Qemu-commits] [qemu/qemu] 2461e7: vfio/migration: Fix wrong enum usage

2022-11-05 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 2461e752199ca457bf0973b6c8a77dc30585809c
  
https://github.com/qemu/qemu/commit/2461e752199ca457bf0973b6c8a77dc30585809c
  Author: Avihai Horon 
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
M hw/vfio/migration.c

  Log Message:
  ---
  vfio/migration: Fix wrong enum usage

vfio_migration_init() initializes VFIOMigration->device_state using enum
of VFIO migration protocol v2. Current implemented protocol is v1 so v1
enum should be used. Fix it.

Fixes: 429c72800654 ("vfio/migration: Fix incorrect initialization value for 
parameters in VFIOMigration")
Signed-off-by: Avihai Horon 
Reviewed-by: Zhang Chen 
Link: https://lore.kernel.org/r/20221016085752.32740-1-avih...@nvidia.com
Signed-off-by: Alex Williamson 


  Commit: 466e81ff12013d026e2d0154266fce82bce2ee9b
  
https://github.com/qemu/qemu/commit/466e81ff12013d026e2d0154266fce82bce2ee9b
  Author: Stefan Hajnoczi 
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
M hw/vfio/migration.c

  Log Message:
  ---
  Merge tag 'vfio-fixes-v7.2-rc0.0' of https://gitlab.com/alex.williamson/qemu 
into staging

VFIO fixes for v7.2-rc0

 * Correct initial migration device state using correct v1
   protocol enum (Avihai Horon)

# -BEGIN PGP SIGNATURE-
#
# iQJPBAABCAA5FiEEQvbATlQL0amee4qQI5ubbjuwiyIFAmNkOh4bHGFsZXgud2ls
# bGlhbXNvbkByZWRoYXQuY29tAAoJECObm247sIsiIG8P/2W+Fqz4DrkWUk2MO14G
# djx6S/He7yZURlBLxfdQuGFcGzVQt1gFy7CD3JzMhDPzThIqyMHzMARODCHo
# NQEss2c2oYAodap/I5NPXxFA9EHqgrHZ8kfJ8ioZbqU0L3eLmMApBZMXz3tK5f6u
# XtKCpF9U2MfJCb+Rzxwa4bKidJJEtzAhX/v0gfWKYfp7hT1iRaNr9bS/IqBny+wV
# Mdf5NVZibjlv8e1e1FAf5X9dMaT9NItBqBMl42X0Pfyy0dDpq9KVpyhewIeeqMGM
# iuMeYadgRGWLuAhdkXSZrj06rLoHWxagIyPhCW57i9b7IXpaV4kkh2pHEx56MrV7
# bruM3znY7Xj3axS0HCM3DGP4OL2bc1MGjHcgNwjB6aMqxUN2rKan9wbvj+c1U0ms
# OjnG9ZTIVnROncL0jaEkulFwi+0MEIWYJiVAh81Miv8iHmpj1Krmn15N0R0XI7bx
# sEQaFrE3gyufgzAuwOht2oz6Qg84bWpwpJT0kQXXaANGfvq1nS1dHk5+4jmExQ+P
# TSE+V3q1q29EEcy/U8nMb1HmRUUdrWdZnV2RWunDbqEvW6KOnLdSX2xq5HKSuS9Y
# H1oqv15gjNBDpJDlelkjlVTQ7MPCcV9MQDBgFMkZRS9TIAHQ/3lRLhCNNCN76GMK
# d1YNd9iZn+Fewb/Knm3+aTxS
# =Nw9N
# -END PGP SIGNATURE-
# gpg: Signature made Thu 03 Nov 2022 18:01:02 EDT
# gpg:using RSA key 42F6C04E540BD1A99E7B8A90239B9B6E3BB08B22
# gpg:issuer "alex.william...@redhat.com"
# gpg: Good signature from "Alex Williamson " [full]
# gpg: aka "Alex Williamson " [full]
# gpg: aka "Alex Williamson " [full]
# gpg: aka "Alex Williamson " 
[full]
# Primary key fingerprint: 42F6 C04E 540B D1A9 9E7B  8A90 239B 9B6E 3BB0 8B22

* tag 'vfio-fixes-v7.2-rc0.0' of https://gitlab.com/alex.williamson/qemu:
  vfio/migration: Fix wrong enum usage

Signed-off-by: Stefan Hajnoczi 


Compare: https://github.com/qemu/qemu/compare/6295a58ad1b7...466e81ff1201



[Qemu-commits] [qemu/qemu] 3fc8f7: hw/intc: Convert the memops to with_attrs in Loong...

2022-11-05 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 3fc8f74b51858353356968b3d04a5cccdc547caa
  
https://github.com/qemu/qemu/commit/3fc8f74b51858353356968b3d04a5cccdc547caa
  Author: Xiaojuan Yang 
  Date:   2022-11-04 (Fri, 04 Nov 2022)

  Changed paths:
M hw/intc/loongarch_extioi.c
M hw/intc/trace-events

  Log Message:
  ---
  hw/intc: Convert the memops to with_attrs in LoongArch extioi

Converting the MemoryRegionOps read/write handlers to
with_attrs in LoongArch extioi emulation.

Signed-off-by: Xiaojuan Yang 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Richard Henderson 
Message-Id: <20221021015307.2570844-2-yangxiaoj...@loongson.cn>
Signed-off-by: Song Gao 


  Commit: a649fffcc9589a88464474e9105798eb62023352
  
https://github.com/qemu/qemu/commit/a649fffcc9589a88464474e9105798eb62023352
  Author: Xiaojuan Yang 
  Date:   2022-11-04 (Fri, 04 Nov 2022)

  Changed paths:
M hw/intc/loongarch_extioi.c
M target/loongarch/iocsr_helper.c

  Log Message:
  ---
  hw/intc: Fix LoongArch extioi coreisr accessing

1. When cpu read or write extioi COREISR reg, it should access
the reg belonged to itself, so the cpu index of 's->coreisr'
is current cpu number. Using MemTxAttrs' requester_id to get
the cpu index.
2. it need not to mask 0x1f when calculate the coreisr array index.

Signed-off-by: Xiaojuan Yang 
Reviewed-by: Richard Henderson 
Message-Id: <20221021015307.2570844-3-yangxiaoj...@loongson.cn>
Signed-off-by: Song Gao 


  Commit: 021836936ef90fe1e52fe7ab7b7f2bcb9a66368a
  
https://github.com/qemu/qemu/commit/021836936ef90fe1e52fe7ab7b7f2bcb9a66368a
  Author: Xiaojuan Yang 
  Date:   2022-11-04 (Fri, 04 Nov 2022)

  Changed paths:
M hw/loongarch/virt.c
M include/hw/loongarch/virt.h

  Log Message:
  ---
  hw/loongarch: Load FDT table into dram memory space

Load FDT table into dram memory space, and the addr is 2 MiB.
Since lowmem region starts from 0, FDT base address is located
at 2 MiB to avoid NULL pointer access.

Signed-off-by: Xiaojuan Yang 
Acked-by: Song Gao 
Message-Id: <20221028014007.2718352-2-yangxiaoj...@loongson.cn>
Signed-off-by: Song Gao 


  Commit: ca5bf7ad0222ad4a884c90a821a22000d918c54e
  
https://github.com/qemu/qemu/commit/ca5bf7ad0222ad4a884c90a821a22000d918c54e
  Author: Xiaojuan Yang 
  Date:   2022-11-04 (Fri, 04 Nov 2022)

  Changed paths:
M hw/loongarch/virt.c
M include/hw/pci-host/ls7a.h

  Log Message:
  ---
  hw/loongarch: Improve fdt for LoongArch virt machine

Add new items into LoongArch FDT, including rtc and uart info.

Signed-off-by: Xiaojuan Yang 
Reviewed-by: Song Gao 
Message-Id: <20221028014007.2718352-3-yangxiaoj...@loongson.cn>
Signed-off-by: Song Gao 


  Commit: 3dfbb6dee57f48abdc5b51edfd4dd57869d838df
  
https://github.com/qemu/qemu/commit/3dfbb6dee57f48abdc5b51edfd4dd57869d838df
  Author: Xiaojuan Yang 
  Date:   2022-11-04 (Fri, 04 Nov 2022)

  Changed paths:
M hw/loongarch/acpi-build.c
M hw/loongarch/virt.c

  Log Message:
  ---
  hw/loongarch: Add TPM device for LoongArch virt machine

Add TPM device for LoongArch virt machine, including
establish TPM acpi info and add TYPE_TPM_TIS_SYSBUS
to dynamic_sysbus_devices list.

Signed-off-by: Xiaojuan Yang 
Reviewed-by: Song Gao 
Message-Id: <20221028014007.2718352-4-yangxiaoj...@loongson.cn>
Signed-off-by: Song Gao 


  Commit: a6b129c8102668717370ec27490523fb1290ae5d
  
https://github.com/qemu/qemu/commit/a6b129c8102668717370ec27490523fb1290ae5d
  Author: Song Gao 
  Date:   2022-11-04 (Fri, 04 Nov 2022)

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

  Log Message:
  ---
  target/loongarch: Add exception subcode

We need subcodes to distinguish the same excode cs->exception_indexs,
such as EXCCODE_ADEF/EXCCODE_ADEM.

Signed-off-by: Song Gao 
Reviewed-by: Richard Henderson 
Message-ID: <20221101073210.3934280-1-gaos...@loongson.cn>


  Commit: 8752b1306002237c39b3f849ca564c9db55c8b1f
  
https://github.com/qemu/qemu/commit/8752b1306002237c39b3f849ca564c9db55c8b1f
  Author: Song Gao 
  Date:   2022-11-04 (Fri, 04 Nov 2022)

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

  Log Message:
  ---
  target/loongarch: Fix raise_mmu_exception() set wrong exception_index

When the address is invalid address, We should set exception_index
according to MMUAccessType, and EXCCODE_ADEF need't update badinstr.
Otherwise, The system enters an infinite loop. e.g:
run test.c on system mode
test.c:
#include

void (*func)(int *);

int main()
{
int i = 8;
void *ptr = (void *)0x4000;
func = ptr;
func();
return 0;
}

Signed-off-by: Song Gao 
Reviewed-by: Richard Henderson 
Message-ID: <20221101073210.3934280-2-gaos...@loongson.cn>


  Commit: b4bda2006f482f778d9dbf86038ff115fe89db92
  

[Qemu-commits] [qemu/qemu] 7a0330: Merge tag 'pull-loongarch-20221104' of https://git...

2022-11-04 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 7a033008cc1865bfda3f2d6b92885439ae202009
  
https://github.com/qemu/qemu/commit/7a033008cc1865bfda3f2d6b92885439ae202009
  Author: Stefan Hajnoczi 
  Date:   2022-11-04 (Fri, 04 Nov 2022)

  Changed paths:
M hw/intc/loongarch_extioi.c
M hw/intc/trace-events
M hw/loongarch/acpi-build.c
M hw/loongarch/virt.c
M include/hw/loongarch/virt.h
M include/hw/pci-host/ls7a.h
M target/loongarch/cpu.c
M target/loongarch/cpu.h
M target/loongarch/insn_trans/trans_farith.c.inc
M target/loongarch/insn_trans/trans_fcmp.c.inc
M target/loongarch/insn_trans/trans_fmemory.c.inc
M target/loongarch/insn_trans/trans_fmov.c.inc
M target/loongarch/insn_trans/trans_privileged.c.inc
M target/loongarch/iocsr_helper.c
M target/loongarch/tlb_helper.c
M target/loongarch/translate.c

  Log Message:
  ---
  Merge tag 'pull-loongarch-20221104' of https://gitlab.com/gaosong/qemu into 
staging

pull-loongarch-20221104

v2:
 - fix win32 build error;
 - Add Rui Wang' patches.

# -BEGIN PGP SIGNATURE-
#
# iLMEAAEIAB0WIQS4/x2g0v3LLaCcbCxAov/yOSY+3wUCY2TZsAAKCRBAov/yOSY+
# 30kyA/9VEYvFQaXM9RP78OoiK0bANiByTCQMXCAuos1wXui/FwAcqE9YWXZStzH0
# MHdT2PyH680w9aKjhHuPbGs5xU911cQ94SPWzcTtM4HfEH+3N7RBfF0gS7MA+DLa
# 92vLqEIDC6SbAlY4/CRJVJmOl58d4uhEUUpq6eVzmJHcA3W5qw==
# =wblG
# -END PGP SIGNATURE-
# gpg: Signature made Fri 04 Nov 2022 05:21:52 EDT
# gpg:using RSA key B8FF1DA0D2FDCB2DA09C6C2C40A2FFF239263EDF
# gpg: Good signature from "Song Gao " [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: B8FF 1DA0 D2FD CB2D A09C  6C2C 40A2 FFF2 3926 3EDF

* tag 'pull-loongarch-20221104' of https://gitlab.com/gaosong/qemu:
  target/loongarch: Fix emulation of float-point disable exception
  target/loongarch: Adjust the layout of hardware flags bit fields
  target/loongarch: Fix raise_mmu_exception() set wrong exception_index
  target/loongarch: Add exception subcode
  hw/loongarch: Add TPM device for LoongArch virt machine
  hw/loongarch: Improve fdt for LoongArch virt machine
  hw/loongarch: Load FDT table into dram memory space
  hw/intc: Fix LoongArch extioi coreisr accessing
  hw/intc: Convert the memops to with_attrs in LoongArch extioi

Signed-off-by: Stefan Hajnoczi 


  Commit: 6295a58ad1b73985b9c32d184de7d2ed1fbe1774
  
https://github.com/qemu/qemu/commit/6295a58ad1b73985b9c32d184de7d2ed1fbe1774
  Author: Stefan Hajnoczi 
  Date:   2022-11-04 (Fri, 04 Nov 2022)

  Changed paths:
M hw/arm/boot.c
M target/arm/helper.c
M target/arm/ptw.c
M target/arm/sve_helper.c

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

target-arm queue:
 * Fix regression booting Trusted Firmware
 * Honor HCR_E2H and HCR_TGE in ats_write64()
 * Copy the entire vector in DO_ZIP
 * Fix Privileged Access Never (PAN) for aarch32
 * Make TLBIOS and TLBIRANGE ops trap on HCR_EL2.TTLB
 * Set SCR_EL3.HXEn when direct booting kernel
 * Set SME and SVE EL3 vector lengths when direct booting kernel

# -BEGIN PGP SIGNATURE-
#
# iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmNk+KkZHHBldGVyLm1h
# eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3vUsD/9SYZP3ne2OZxBe8he98jJ5
# 6apODiBksBLUM+1bKEoYW8Kw4XpS10I1Tbnxe7n0bNAfIiZlsZ7HJAJaYWy4MX4k
# Bq0v1EIFo+Obumocc14ZzWcw9yPpHOGavKHXfPxTtIw0amtOmh3aMBPuOZKiMSaq
# TdI/8654DbAOY3Hp/r6WnXwEgAc23kx/PtGhQFdU4iWhzTdeQeFkgCCsVMO02zFQ
# ZM4wiAATpfNfgf5+Wxoin6RQ8nI9PF+Xf7HhN3d1CiXju3vOl+geYNkubJzIopv1
# itLcnvduYE6+5oJsnXZ4FDNO6/nnqWRNqtyDf0/NjLROfj84BPJpZqMX+FR6Q0I0
# d+4/oEw4A46qfaS5b4/YelbJOiUgiViWU1Xs3g2dkeTMT8CyGfDrJ2HRDKN7AaHo
# llL7s1calkX2oSs+gU0BAw8xRETGwMBSOpF6JmPVh277LjvWfN1vsJzVUG3wrSXL
# G7qa2h+fHV5Xu876sc/i0+d4qHuqcE/EU86VQ6X40f+dRzN02rkSCPAxzGFwLXOr
# 8fl5MsX6z5pqcubnzxkhi66ZHc6fXsvtUjKBxyrVpMyjMlV9PTJ2Q1RCgVctErXk
# lDzsLuplzPSjZBy3Peib/rLnmYUxJHyPe0RFYIumzZv/UHwL4GjZgkI842UVBpAL
# FvIGblcCXHhdP4UFvqgZhw==
# =Fcb4
# -END PGP SIGNATURE-
# gpg: Signature made Fri 04 Nov 2022 07:34:01 EDT
# gpg:using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:issuer "peter.mayd...@linaro.org"
# gpg: Good signature from "Peter Maydell " [full]
# gpg: aka "Peter Maydell " [full]
# gpg: aka "Peter Maydell " 
[full]
# gpg: aka "Peter Maydell " [unknown]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* tag 'pull-target-arm-20221104' of 
https://git.linaro.org/people/pmaydell/qemu-arm:
  target/arm: Two fixes for secure ptw
  target/arm: Honor HCR_E2H and HCR_TGE in ats_write64()
  target/arm: Copy the entire vector in DO_ZIP
  target/arm: Fix Privileged Access Never (PAN) for aarch32
  target/arm: Make TLBIOS and TLBIRANGE ops trap on 

[Qemu-commits] [qemu/qemu] e87afa: qapi: virtio: Fix the introduced version

2022-11-04 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: e87afa70ca27769da18def5512a98a8492cbdd71
  
https://github.com/qemu/qemu/commit/e87afa70ca27769da18def5512a98a8492cbdd71
  Author: Han Han 
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
M qapi/virtio.json

  Log Message:
  ---
  qapi: virtio: Fix the introduced version

The items of qapi/virtio.json are introduced at a5ebce38576. They will be
in the version 7.2 not 7.1.

Signed-off-by: Han Han 
Reviewed-by: Laurent Vivier 
Message-Id: <20221101014647.3000801-1-h...@redhat.com>
Signed-off-by: Laurent Vivier 


  Commit: 91b10034ed2aeb5db35248de92da06d141820adf
  
https://github.com/qemu/qemu/commit/91b10034ed2aeb5db35248de92da06d141820adf
  Author: Stefan Weil 
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
M docs/devel/testing.rst
M docs/system/arm/cpu-features.rst
M docs/system/loongarch/loongson3.rst
M docs/tools/virtiofsd.rst
M include/exec/memory.h
M qapi/qom.json
M qemu-options.hx
M qga/qapi-schema.json
M tests/qtest/libqtest.h

  Log Message:
  ---
  Fix some typos in documentation and comments

Most of them were found and fixed using codespell.

Signed-off-by: Stefan Weil 
Reviewed-by: Peter Maydell 
Reviewed-by: Thomas Huth 
Reviewed-by: Stefan Hajnoczi 
Message-Id: <20221030105944.311940-1...@weilnetz.de>
Signed-off-by: Laurent Vivier 


  Commit: 82e93f4bbe945f44419ccc2d316c7b54965614c9
  
https://github.com/qemu/qemu/commit/82e93f4bbe945f44419ccc2d316c7b54965614c9
  Author: Chuck Zmudzinski 
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
M hw/xen/meson.build

  Log Message:
  ---
  xen/pt: fix syntax error that causes FTBFS in some configurations

When Qemu is built with --enable-xen and --disable-xen-pci-passthrough
and the target os is linux, the build fails with:

meson.build:3477:2: ERROR: File xen_pt_stub.c does not exist.

Fixes: 582ea95f5f93 ("meson: convert hw/xen")

Signed-off-by: Chuck Zmudzinski 
Reviewed-by: Philippe Mathieu-Daudé 
Message-Id: 
<5f1342a13c09af77b1a7b0aeaba5955bcea89731.1667242033.git.brchu...@aol.com>
Signed-off-by: Laurent Vivier 


  Commit: e02eaa32c2893a2b3369653503e7960c875ac24d
  
https://github.com/qemu/qemu/commit/e02eaa32c2893a2b3369653503e7960c875ac24d
  Author: Stefan Weil 
  Date:   2022-11-03 (Thu, 03 Nov 2022)

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

  Log Message:
  ---
  libvhost-user: Fix wrong type of argument to formatting function (reported by 
LGTM)

Reviewed-by: Philippe Mathieu-Daudé 
Signed-off-by: Stefan Weil 
Message-Id: <20220422070144.1043697-2...@weilnetz.de>
Signed-off-by: Laurent Vivier 


  Commit: f378a56016918080b42e64658b4508824e592111
  
https://github.com/qemu/qemu/commit/f378a56016918080b42e64658b4508824e592111
  Author: Stefan Weil 
  Date:   2022-11-03 (Thu, 03 Nov 2022)

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

  Log Message:
  ---
  libvhost-user: Fix format strings

Signed-off-by: Stefan Weil 
Reviewed-by: Marc-André Lureau 
Message-Id: <20220422070144.1043697-3...@weilnetz.de>
Signed-off-by: Laurent Vivier 


  Commit: 2072ae23d97599bf279626ae7c30e461231aae98
  
https://github.com/qemu/qemu/commit/2072ae23d97599bf279626ae7c30e461231aae98
  Author: Stefan Weil 
  Date:   2022-11-03 (Thu, 03 Nov 2022)

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

  Log Message:
  ---
  libvhost-user: Add format attribute to local function vu_panic

Signed-off-by: Stefan Weil 
Reviewed-by: Marc-André Lureau 
Message-Id: <20220422070144.1043697-4...@weilnetz.de>
Signed-off-by: Laurent Vivier 


  Commit: 87491eaf907663b98dcaf5bca3b0011310f44e3e
  
https://github.com/qemu/qemu/commit/87491eaf907663b98dcaf5bca3b0011310f44e3e
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
R target/m68k/qregs.def
A target/m68k/qregs.h.inc
M target/m68k/translate.c

  Log Message:
  ---
  target/m68k: Rename qregs.def -> qregs.h.inc

We use the .h.inc extension to include C headers. To be consistent
with the rest of the codebase, rename the C headers using the .def
extension.

IDE/tools using our .editorconfig / .gitattributes will leverage
this consistency.

Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Laurent Vivier 
Reviewed-by: Alex Bennée 
Message-Id: <20221025235006.7215-2-phi...@linaro.org>
Signed-off-by: Laurent Vivier 


  Commit: 1cd5bf9209c4996dfb0b4da5981e37d49426daa9
  
https://github.com/qemu/qemu/commit/1cd5bf9209c4996dfb0b4da5981e37d49426daa9
  Author: Philippe Mathieu-Daudé 
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
R target/s390x/tcg/insn-data.def
A target/s390x/tcg/insn-data.h.inc
R target/s390x/tcg/insn-format.def
A target/s390x/tcg/insn-format.h.inc
M target/s390x/tcg/translate.c

  Log Message:
  ---
  target/s390x: Rename 

[Qemu-commits] [qemu/qemu] 121531: target/i386: Fix calculation of LOCK NEG eflags

2022-11-03 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 121531751087ad3f8d87ad17068835bbcd14fb02
  
https://github.com/qemu/qemu/commit/121531751087ad3f8d87ad17068835bbcd14fb02
  Author: Qi Hu 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

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

  Log Message:
  ---
  target/i386: Fix calculation of LOCK NEG eflags

After:

lock negl -0x14(%rbp)
pushf
pop%rax

%rax will contain the wrong value because the "lock neg" calculates the
wrong eflags.  Simple test:

#include 

int main()
{
  __volatile__ unsigned test = 0x2363a;
  __volatile__ char cond = 0;
  asm(
  "lock negl %0 \n\t"
  "sets %1"
  : "=m"(test), "=r"(cond));
  assert(cond & 1);
  return 0;
}

Reported-by: Jinyang Shen 
Co-Developed-by: Xuehai Chen 
Signed-off-by: Xuehai Chen 
Signed-off-by: Qi Hu 
Signed-off-by: Paolo Bonzini 


  Commit: c891c24b1a4f5496cdb5f6afff9dae146334c7d3
  
https://github.com/qemu/qemu/commit/c891c24b1a4f5496cdb5f6afff9dae146334c7d3
  Author: Claudio Imbrenda 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
A include/qemu/async-teardown.h
M meson.build
M os-posix.c
M qemu-options.hx
A util/async-teardown.c
M util/meson.build

  Log Message:
  ---
  os-posix: asynchronous teardown for shutdown on Linux

This patch adds support for asynchronously tearing down a VM on Linux.

When qemu terminates, either naturally or because of a fatal signal,
the VM is torn down. If the VM is huge, it can take a considerable
amount of time for it to be cleaned up. In case of a protected VM, it
might take even longer than a non-protected VM (this is the case on
s390x, for example).

Some users might want to shut down a VM and restart it immediately,
without having to wait. This is especially true if management
infrastructure like libvirt is used.

This patch implements a simple trick on Linux to allow qemu to return
immediately, with the teardown of the VM being performed
asynchronously.

If the new commandline option -async-teardown is used, a new process is
spawned from qemu at startup, using the clone syscall, in such way that
it will share its address space with qemu.The new process will have the
name "cleanup/". It will wait until qemu terminates
completely, and then it will exit itself.

This allows qemu to terminate quickly, without having to wait for the
whole address space to be torn down. The cleanup process will exit
after qemu, so it will be the last user of the address space, and
therefore it will take care of the actual teardown. The cleanup
process will share the same cgroups as qemu, so both memory usage and
cpu time will be accounted properly.

If possible, close_range will be used in the cleanup process to close
all open file descriptors. If it is not available or if it fails, /proc
will be used to determine which file descriptors to close.

If the cleanup process is forcefully killed with SIGKILL before the
main qemu process has terminated completely, the mechanism is defeated
and the teardown will not be asynchronous.

This feature can already be used with libvirt by adding the following
to the XML domain definition to pass the parameter to qemu directly:

  http://libvirt.org/schemas/domain/qemu/1.0;>
  
  

Signed-off-by: Claudio Imbrenda 
Reviewed-by: Murilo Opsfelder Araujo 
Tested-by: Murilo Opsfelder Araujo 
Message-Id: <20220812133453.82671-1-imbre...@linux.ibm.com>
Signed-off-by: Paolo Bonzini 


  Commit: 19e2a9fb9da067acba95b3be83588bda5a3f6a99
  
https://github.com/qemu/qemu/commit/19e2a9fb9da067acba95b3be83588bda5a3f6a99
  Author: Zeng Guang 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

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

  Log Message:
  ---
  target/i386: Set maximum APIC ID to KVM prior to vCPU creation

Specify maximum possible APIC ID assigned for current VM session to KVM
prior to the creation of vCPUs. By this setting, KVM can set up VM-scoped
data structure indexed by the APIC ID, e.g. Posted-Interrupt Descriptor
pointer table to support Intel IPI virtualization, with the most optimal
memory footprint.

It can be achieved by calling KVM_ENABLE_CAP for KVM_CAP_MAX_VCPU_ID
capability once KVM has enabled it. Ignoring the return error if KVM
doesn't support this capability yet.

Signed-off-by: Zeng Guang 
Acked-by: Peter Xu 
Acked-by: Michael S. Tsirkin 
Message-Id: <20220825025246.26618-1-guang.z...@intel.com>
Signed-off-by: Paolo Bonzini 


  Commit: eff3de52f265df39c6fc668415ad317ec1f24051
  
https://github.com/qemu/qemu/commit/eff3de52f265df39c6fc668415ad317ec1f24051
  Author: Greg Kurz 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M util/log.c

  Log Message:
  ---
  util/log: Close per-thread log file on thread 

[Qemu-commits] [qemu/qemu]

2022-11-03 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu] 121531: target/i386: Fix calculation of LOCK NEG eflags

2022-11-03 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 121531751087ad3f8d87ad17068835bbcd14fb02
  
https://github.com/qemu/qemu/commit/121531751087ad3f8d87ad17068835bbcd14fb02
  Author: Qi Hu 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

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

  Log Message:
  ---
  target/i386: Fix calculation of LOCK NEG eflags

After:

lock negl -0x14(%rbp)
pushf
pop%rax

%rax will contain the wrong value because the "lock neg" calculates the
wrong eflags.  Simple test:

#include 

int main()
{
  __volatile__ unsigned test = 0x2363a;
  __volatile__ char cond = 0;
  asm(
  "lock negl %0 \n\t"
  "sets %1"
  : "=m"(test), "=r"(cond));
  assert(cond & 1);
  return 0;
}

Reported-by: Jinyang Shen 
Co-Developed-by: Xuehai Chen 
Signed-off-by: Xuehai Chen 
Signed-off-by: Qi Hu 
Signed-off-by: Paolo Bonzini 


  Commit: c891c24b1a4f5496cdb5f6afff9dae146334c7d3
  
https://github.com/qemu/qemu/commit/c891c24b1a4f5496cdb5f6afff9dae146334c7d3
  Author: Claudio Imbrenda 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
A include/qemu/async-teardown.h
M meson.build
M os-posix.c
M qemu-options.hx
A util/async-teardown.c
M util/meson.build

  Log Message:
  ---
  os-posix: asynchronous teardown for shutdown on Linux

This patch adds support for asynchronously tearing down a VM on Linux.

When qemu terminates, either naturally or because of a fatal signal,
the VM is torn down. If the VM is huge, it can take a considerable
amount of time for it to be cleaned up. In case of a protected VM, it
might take even longer than a non-protected VM (this is the case on
s390x, for example).

Some users might want to shut down a VM and restart it immediately,
without having to wait. This is especially true if management
infrastructure like libvirt is used.

This patch implements a simple trick on Linux to allow qemu to return
immediately, with the teardown of the VM being performed
asynchronously.

If the new commandline option -async-teardown is used, a new process is
spawned from qemu at startup, using the clone syscall, in such way that
it will share its address space with qemu.The new process will have the
name "cleanup/". It will wait until qemu terminates
completely, and then it will exit itself.

This allows qemu to terminate quickly, without having to wait for the
whole address space to be torn down. The cleanup process will exit
after qemu, so it will be the last user of the address space, and
therefore it will take care of the actual teardown. The cleanup
process will share the same cgroups as qemu, so both memory usage and
cpu time will be accounted properly.

If possible, close_range will be used in the cleanup process to close
all open file descriptors. If it is not available or if it fails, /proc
will be used to determine which file descriptors to close.

If the cleanup process is forcefully killed with SIGKILL before the
main qemu process has terminated completely, the mechanism is defeated
and the teardown will not be asynchronous.

This feature can already be used with libvirt by adding the following
to the XML domain definition to pass the parameter to qemu directly:

  http://libvirt.org/schemas/domain/qemu/1.0;>
  
  

Signed-off-by: Claudio Imbrenda 
Reviewed-by: Murilo Opsfelder Araujo 
Tested-by: Murilo Opsfelder Araujo 
Message-Id: <20220812133453.82671-1-imbre...@linux.ibm.com>
Signed-off-by: Paolo Bonzini 


  Commit: 19e2a9fb9da067acba95b3be83588bda5a3f6a99
  
https://github.com/qemu/qemu/commit/19e2a9fb9da067acba95b3be83588bda5a3f6a99
  Author: Zeng Guang 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

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

  Log Message:
  ---
  target/i386: Set maximum APIC ID to KVM prior to vCPU creation

Specify maximum possible APIC ID assigned for current VM session to KVM
prior to the creation of vCPUs. By this setting, KVM can set up VM-scoped
data structure indexed by the APIC ID, e.g. Posted-Interrupt Descriptor
pointer table to support Intel IPI virtualization, with the most optimal
memory footprint.

It can be achieved by calling KVM_ENABLE_CAP for KVM_CAP_MAX_VCPU_ID
capability once KVM has enabled it. Ignoring the return error if KVM
doesn't support this capability yet.

Signed-off-by: Zeng Guang 
Acked-by: Peter Xu 
Acked-by: Michael S. Tsirkin 
Message-Id: <20220825025246.26618-1-guang.z...@intel.com>
Signed-off-by: Paolo Bonzini 


  Commit: eff3de52f265df39c6fc668415ad317ec1f24051
  
https://github.com/qemu/qemu/commit/eff3de52f265df39c6fc668415ad317ec1f24051
  Author: Greg Kurz 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M util/log.c

  Log Message:
  ---
  util/log: Close per-thread log file on thread 

[Qemu-commits] [qemu/qemu] 03d9e4: block/blkio: Add virtio-blk-vfio-pci BlockDriver

2022-11-01 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 03d9e4c0dba9d1b5d0c532ac3518415466ebdf8f
  
https://github.com/qemu/qemu/commit/03d9e4c0dba9d1b5d0c532ac3518415466ebdf8f
  Author: Alberto Faria 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M block/blkio.c
M qapi/block-core.json

  Log Message:
  ---
  block/blkio: Add virtio-blk-vfio-pci BlockDriver

libblkio 1.1.0 [1] introduces a virtio-blk-vfio-pci driver, which
accesses a virtio-blk PCI device using VFIO. Add a corresponding
BlockDriver.

[1] https://gitlab.com/libblkio/libblkio/-/tree/v1.1.0

Signed-off-by: Alberto Faria 
Message-id: 20221028131635.710267-1-afa...@redhat.com
Signed-off-by: Stefan Hajnoczi 


  Commit: 4c8f4fda0504564580f5c0a37e2d4b32ff17d2a1
  
https://github.com/qemu/qemu/commit/4c8f4fda0504564580f5c0a37e2d4b32ff17d2a1
  Author: Alberto Faria 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M block/blkio.c

  Log Message:
  ---
  block/blkio: Tolerate device size changes

Some libblkio drivers may be able to work with regular files (e.g.,
io_uring) or otherwise resizable devices. Conservatively set
BlockDriver::has_variable_length to true to ensure bdrv_nb_sectors()
always gives up-to-date results.

Also implement BlockDriver::bdrv_co_truncate for the case where no
preallocation is needed and the device already has a size compatible
with what was requested.

Signed-off-by: Alberto Faria 
Message-id: 20221029122031.975273-1-afa...@redhat.com
Signed-off-by: Stefan Hajnoczi 


  Commit: 6c32fc0df9cd901add75618c831fb26a9eb742cb
  
https://github.com/qemu/qemu/commit/6c32fc0df9cd901add75618c831fb26a9eb742cb
  Author: Alberto Faria 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M block/blkio.c
M qapi/block-core.json

  Log Message:
  ---
  block/blkio: Make driver nvme-io_uring take a "path" instead of a "filename"

The nvme-io_uring driver expects a character special file such as
/dev/ng0n1. Follow the convention of having a "filename" option when a
regular file is expected, and a "path" option otherwise.

This makes io_uring the only libblkio-based driver with a "filename"
option, as it accepts a regular file (even though it can also take a
block special file).

Signed-off-by: Alberto Faria 
Message-id: 20221028233854.839933-1-afa...@redhat.com
Signed-off-by: Stefan Hajnoczi 


  Commit: 6532426aa056673b1a20e4c1efa3fc26f0567077
  
https://github.com/qemu/qemu/commit/6532426aa056673b1a20e4c1efa3fc26f0567077
  Author: Alex Bennée 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M tests/lcitool/refresh

  Log Message:
  ---
  tests/lcitool: Rename non-Debian specific helper

This helper is not Debian specific, rename it to cross_build().

Signed-off-by: Alex Bennée 
Acked-by: Richard Henderson 
Message-Id: <20220929114231.583801-10-alex.ben...@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Philippe Mathieu-Daudé 
Message-Id: <20221028095659.48734-2-phi...@linaro.org>


  Commit: 9e243b7669054574e5cfbc2a7282dbb62827627b
  
https://github.com/qemu/qemu/commit/9e243b7669054574e5cfbc2a7282dbb62827627b
  Author: Alex Bennée 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M tests/docker/dockerfiles/fedora-win32-cross.docker
M tests/docker/dockerfiles/fedora-win64-cross.docker
M tests/lcitool/refresh

  Log Message:
  ---
  tests/docker: update fedora-win[32|64]-cross with lcitool

Convert another two dockerfiles to lcitool and update.

Signed-off-by: Alex Bennée 
Acked-by: Richard Henderson 
Message-Id: <20220929114231.583801-10-alex.ben...@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Philippe Mathieu-Daudé 
Message-Id: <20221028095659.48734-4-phi...@linaro.org>


  Commit: 5b1229fa2dfde161ee322faaaeb35a99765c8712
  
https://github.com/qemu/qemu/commit/5b1229fa2dfde161ee322faaaeb35a99765c8712
  Author: Alex Bennée 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M tests/lcitool/libvirt-ci

  Log Message:
  ---
  tests/lcitool: Refresh to latest libvirt-ci module

We need an updated lcitool for this to deal with the weirdness
of a 32bit nsis tool for both 32 and 64 bit builds.

Acked-by: Richard Henderson 
Message-Id: <20220929114231.583801-10-alex.ben...@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Philippe Mathieu-Daudé 
Message-Id: <20221028095659.48734-3-phi...@linaro.org>
[AJB: no longer triggers whitespace changes due to rebase]
Signed-off-by: Alex Bennée 


  Commit: b1314192524a8a43f3d4fb1cae8c447a2b255308
  
https://github.com/qemu/qemu/commit/b1314192524a8a43f3d4fb1cae8c447a2b255308
  Author: Alex Bennée 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M tests/docker/test-mingw

  Log Message:
  ---
  tests/docker: update test-mingw to run single build

[Qemu-commits] [qemu/qemu] 03d9e4: block/blkio: Add virtio-blk-vfio-pci BlockDriver

2022-11-01 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 03d9e4c0dba9d1b5d0c532ac3518415466ebdf8f
  
https://github.com/qemu/qemu/commit/03d9e4c0dba9d1b5d0c532ac3518415466ebdf8f
  Author: Alberto Faria 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M block/blkio.c
M qapi/block-core.json

  Log Message:
  ---
  block/blkio: Add virtio-blk-vfio-pci BlockDriver

libblkio 1.1.0 [1] introduces a virtio-blk-vfio-pci driver, which
accesses a virtio-blk PCI device using VFIO. Add a corresponding
BlockDriver.

[1] https://gitlab.com/libblkio/libblkio/-/tree/v1.1.0

Signed-off-by: Alberto Faria 
Message-id: 20221028131635.710267-1-afa...@redhat.com
Signed-off-by: Stefan Hajnoczi 


  Commit: 4c8f4fda0504564580f5c0a37e2d4b32ff17d2a1
  
https://github.com/qemu/qemu/commit/4c8f4fda0504564580f5c0a37e2d4b32ff17d2a1
  Author: Alberto Faria 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M block/blkio.c

  Log Message:
  ---
  block/blkio: Tolerate device size changes

Some libblkio drivers may be able to work with regular files (e.g.,
io_uring) or otherwise resizable devices. Conservatively set
BlockDriver::has_variable_length to true to ensure bdrv_nb_sectors()
always gives up-to-date results.

Also implement BlockDriver::bdrv_co_truncate for the case where no
preallocation is needed and the device already has a size compatible
with what was requested.

Signed-off-by: Alberto Faria 
Message-id: 20221029122031.975273-1-afa...@redhat.com
Signed-off-by: Stefan Hajnoczi 


  Commit: 6c32fc0df9cd901add75618c831fb26a9eb742cb
  
https://github.com/qemu/qemu/commit/6c32fc0df9cd901add75618c831fb26a9eb742cb
  Author: Alberto Faria 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M block/blkio.c
M qapi/block-core.json

  Log Message:
  ---
  block/blkio: Make driver nvme-io_uring take a "path" instead of a "filename"

The nvme-io_uring driver expects a character special file such as
/dev/ng0n1. Follow the convention of having a "filename" option when a
regular file is expected, and a "path" option otherwise.

This makes io_uring the only libblkio-based driver with a "filename"
option, as it accepts a regular file (even though it can also take a
block special file).

Signed-off-by: Alberto Faria 
Message-id: 20221028233854.839933-1-afa...@redhat.com
Signed-off-by: Stefan Hajnoczi 


  Commit: 6532426aa056673b1a20e4c1efa3fc26f0567077
  
https://github.com/qemu/qemu/commit/6532426aa056673b1a20e4c1efa3fc26f0567077
  Author: Alex Bennée 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M tests/lcitool/refresh

  Log Message:
  ---
  tests/lcitool: Rename non-Debian specific helper

This helper is not Debian specific, rename it to cross_build().

Signed-off-by: Alex Bennée 
Acked-by: Richard Henderson 
Message-Id: <20220929114231.583801-10-alex.ben...@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Philippe Mathieu-Daudé 
Message-Id: <20221028095659.48734-2-phi...@linaro.org>


  Commit: 9e243b7669054574e5cfbc2a7282dbb62827627b
  
https://github.com/qemu/qemu/commit/9e243b7669054574e5cfbc2a7282dbb62827627b
  Author: Alex Bennée 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M tests/docker/dockerfiles/fedora-win32-cross.docker
M tests/docker/dockerfiles/fedora-win64-cross.docker
M tests/lcitool/refresh

  Log Message:
  ---
  tests/docker: update fedora-win[32|64]-cross with lcitool

Convert another two dockerfiles to lcitool and update.

Signed-off-by: Alex Bennée 
Acked-by: Richard Henderson 
Message-Id: <20220929114231.583801-10-alex.ben...@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Philippe Mathieu-Daudé 
Message-Id: <20221028095659.48734-4-phi...@linaro.org>


  Commit: 5b1229fa2dfde161ee322faaaeb35a99765c8712
  
https://github.com/qemu/qemu/commit/5b1229fa2dfde161ee322faaaeb35a99765c8712
  Author: Alex Bennée 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M tests/lcitool/libvirt-ci

  Log Message:
  ---
  tests/lcitool: Refresh to latest libvirt-ci module

We need an updated lcitool for this to deal with the weirdness
of a 32bit nsis tool for both 32 and 64 bit builds.

Acked-by: Richard Henderson 
Message-Id: <20220929114231.583801-10-alex.ben...@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Philippe Mathieu-Daudé 
Message-Id: <20221028095659.48734-3-phi...@linaro.org>
[AJB: no longer triggers whitespace changes due to rebase]
Signed-off-by: Alex Bennée 


  Commit: b1314192524a8a43f3d4fb1cae8c447a2b255308
  
https://github.com/qemu/qemu/commit/b1314192524a8a43f3d4fb1cae8c447a2b255308
  Author: Alex Bennée 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M tests/docker/test-mingw

  Log Message:
  ---
  tests/docker: update test-mingw to run single 

[Qemu-commits] [qemu/qemu] cc4a14: mac_newworld: Drop some variables

2022-11-01 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: cc4a140a755e775f15fbc6339487b55b86b0ed1e
  
https://github.com/qemu/qemu/commit/cc4a140a755e775f15fbc6339487b55b86b0ed1e
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_newworld.c

  Log Message:
  ---
  mac_newworld: Drop some variables

Values not used frequently enough may not worth putting in a local
variable, especially with names almost as long as the original value
because that does not improve readability, to the contrary it makes it
harder to see what value is used. Drop a few such variables. This is
the same clean up that was done for mac_oldworld in commit b8df32555ce5.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 

Signed-off-by: Mark Cave-Ayland 


  Commit: 94c92e1a863b704df5b6c5160e88fd682efc4fe4
  
https://github.com/qemu/qemu/commit/94c92e1a863b704df5b6c5160e88fd682efc4fe4
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_oldworld.c

  Log Message:
  ---
  mac_oldworld: Drop some more variables

Drop some more local variables additionally to commit b8df32555ce5 to
match clean ups done to mac_newwold in previous patch.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 
<1b9a448431d9b1198432151af0511316cfc20d21.1666957578.git.bala...@eik.bme.hu>
Signed-off-by: Mark Cave-Ayland 


  Commit: 6b924abe99902ef4fa5b74a24c251fb38fd1e528
  
https://github.com/qemu/qemu/commit/6b924abe99902ef4fa5b74a24c251fb38fd1e528
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c

  Log Message:
  ---
  mac_{old|new}world: Set tbfreq at declaration

The tbfreq variable is only set once in an if-else which can be done
at the variable declaration saving some lines of code and making it
simpler.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 
<15668da8eb8bad4561428a5f25b02f91e16d9c1b.1666957578.git.bala...@eik.bme.hu>
Signed-off-by: Mark Cave-Ayland 


  Commit: 6120dc8d9d7be4285c93f20f8978e820934b6d6f
  
https://github.com/qemu/qemu/commit/6120dc8d9d7be4285c93f20f8978e820934b6d6f
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c

  Log Message:
  ---
  mac_{old|new}world: Avoid else branch by setting default value

Several variables are set in if-else branches where the else branch
can be removed by setting a default value at the variable declaration
which leads to simlpler code that is easier to follow.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 
<8dac3515b29976a61dacda07752175d7531dca3c.1666957578.git.bala...@eik.bme.hu>
Signed-off-by: Mark Cave-Ayland 


  Commit: 50c496d2728b26fa93a99dbdb4c93e619c6afe9d
  
https://github.com/qemu/qemu/commit/50c496d2728b26fa93a99dbdb4c93e619c6afe9d
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_newworld.c

  Log Message:
  ---
  mac_newworld: Clean up creation of Uninorth devices

Map regions in ascending order and reorganise code a bit to avoid some
casts and move Uninorth parts together.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 

Signed-off-by: Mark Cave-Ayland 


  Commit: 18e0383b5c21df348f9d3a1e4bd12747561535f2
  
https://github.com/qemu/qemu/commit/18e0383b5c21df348f9d3a1e4bd12747561535f2
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c

  Log Message:
  ---
  mac_{old|new}world: Reduce number of QOM casts

By storing the device pointers in a variable with the right type the
number of QOM casts can be reduced which also makes the code more
readable.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 

Signed-off-by: Mark Cave-Ayland 


  Commit: cfb47bfaa107c3bf8d084d7a027741825fac4fbc
  
https://github.com/qemu/qemu/commit/cfb47bfaa107c3bf8d084d7a027741825fac4fbc
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac.h
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c

  Log Message:
  ---
  hw/ppc/mac.h: Move newworld specific parts out from shared header

Move the parts specific to and only used by mac99 out from the shared
mac.h into mac_newworld.c where they better belong.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 

Signed-off-by: Mark Cave-Ayland 


  Commit: 55078ea7775f207db5d8bca252151fc85741a8ca
  
https://github.com/qemu/qemu/commit/55078ea7775f207db5d8bca252151fc85741a8ca
  Author: BALATON Zoltan 
  Date:   

[Qemu-commits] [qemu/qemu] cc4a14: mac_newworld: Drop some variables

2022-11-01 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: cc4a140a755e775f15fbc6339487b55b86b0ed1e
  
https://github.com/qemu/qemu/commit/cc4a140a755e775f15fbc6339487b55b86b0ed1e
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_newworld.c

  Log Message:
  ---
  mac_newworld: Drop some variables

Values not used frequently enough may not worth putting in a local
variable, especially with names almost as long as the original value
because that does not improve readability, to the contrary it makes it
harder to see what value is used. Drop a few such variables. This is
the same clean up that was done for mac_oldworld in commit b8df32555ce5.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 

Signed-off-by: Mark Cave-Ayland 


  Commit: 94c92e1a863b704df5b6c5160e88fd682efc4fe4
  
https://github.com/qemu/qemu/commit/94c92e1a863b704df5b6c5160e88fd682efc4fe4
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_oldworld.c

  Log Message:
  ---
  mac_oldworld: Drop some more variables

Drop some more local variables additionally to commit b8df32555ce5 to
match clean ups done to mac_newwold in previous patch.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 
<1b9a448431d9b1198432151af0511316cfc20d21.1666957578.git.bala...@eik.bme.hu>
Signed-off-by: Mark Cave-Ayland 


  Commit: 6b924abe99902ef4fa5b74a24c251fb38fd1e528
  
https://github.com/qemu/qemu/commit/6b924abe99902ef4fa5b74a24c251fb38fd1e528
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c

  Log Message:
  ---
  mac_{old|new}world: Set tbfreq at declaration

The tbfreq variable is only set once in an if-else which can be done
at the variable declaration saving some lines of code and making it
simpler.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 
<15668da8eb8bad4561428a5f25b02f91e16d9c1b.1666957578.git.bala...@eik.bme.hu>
Signed-off-by: Mark Cave-Ayland 


  Commit: 6120dc8d9d7be4285c93f20f8978e820934b6d6f
  
https://github.com/qemu/qemu/commit/6120dc8d9d7be4285c93f20f8978e820934b6d6f
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c

  Log Message:
  ---
  mac_{old|new}world: Avoid else branch by setting default value

Several variables are set in if-else branches where the else branch
can be removed by setting a default value at the variable declaration
which leads to simlpler code that is easier to follow.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 
<8dac3515b29976a61dacda07752175d7531dca3c.1666957578.git.bala...@eik.bme.hu>
Signed-off-by: Mark Cave-Ayland 


  Commit: 50c496d2728b26fa93a99dbdb4c93e619c6afe9d
  
https://github.com/qemu/qemu/commit/50c496d2728b26fa93a99dbdb4c93e619c6afe9d
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_newworld.c

  Log Message:
  ---
  mac_newworld: Clean up creation of Uninorth devices

Map regions in ascending order and reorganise code a bit to avoid some
casts and move Uninorth parts together.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 

Signed-off-by: Mark Cave-Ayland 


  Commit: 18e0383b5c21df348f9d3a1e4bd12747561535f2
  
https://github.com/qemu/qemu/commit/18e0383b5c21df348f9d3a1e4bd12747561535f2
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c

  Log Message:
  ---
  mac_{old|new}world: Reduce number of QOM casts

By storing the device pointers in a variable with the right type the
number of QOM casts can be reduced which also makes the code more
readable.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 

Signed-off-by: Mark Cave-Ayland 


  Commit: cfb47bfaa107c3bf8d084d7a027741825fac4fbc
  
https://github.com/qemu/qemu/commit/cfb47bfaa107c3bf8d084d7a027741825fac4fbc
  Author: BALATON Zoltan 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M hw/ppc/mac.h
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c

  Log Message:
  ---
  hw/ppc/mac.h: Move newworld specific parts out from shared header

Move the parts specific to and only used by mac99 out from the shared
mac.h into mac_newworld.c where they better belong.

Signed-off-by: BALATON Zoltan 
Reviewed-by: Mark Cave-Ayland 
Message-Id: 

Signed-off-by: Mark Cave-Ayland 


  Commit: 55078ea7775f207db5d8bca252151fc85741a8ca
  
https://github.com/qemu/qemu/commit/55078ea7775f207db5d8bca252151fc85741a8ca
  Author: BALATON Zoltan 
  Date:   

[Qemu-commits] [qemu/qemu] 220591: Merge tag 'for_upstream' of https://git.kernel.org...

2022-10-31 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 2205917707f4afbfea358792fe1777907f5307ff
  
https://github.com/qemu/qemu/commit/2205917707f4afbfea358792fe1777907f5307ff
  Author: Stefan Hajnoczi 
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
M MAINTAINERS
M backends/cryptodev-builtin.c
A backends/cryptodev-lkcf.c
M backends/cryptodev-vhost-user.c
M backends/cryptodev.c
M backends/meson.build
M crypto/akcipher.c
M crypto/der.c
M crypto/der.h
M crypto/rsakey.c
M crypto/rsakey.h
A docs/devel/acpi-bits.rst
M docs/devel/index-build.rst
M hw/acpi/aml-build.c
M hw/acpi/erst.c
M hw/acpi/nvdimm.c
M hw/arm/Kconfig
M hw/arm/virt-acpi-build.c
M hw/block/vhost-user-blk.c
M hw/core/machine.c
A hw/cxl/cxl-cdat.c
M hw/cxl/meson.build
A hw/display/acpi-vga-stub.c
A hw/display/acpi-vga.c
M hw/display/meson.build
M hw/display/vga-pci.c
M hw/display/vga_int.h
M hw/i386/acpi-build.c
M hw/i386/e820_memory_layout.c
M hw/i386/e820_memory_layout.h
M hw/i386/fw_cfg.c
M hw/i386/fw_cfg.h
M hw/i386/intel_iommu.c
M hw/i386/intel_iommu_internal.h
M hw/i386/microvm.c
M hw/i386/pc.c
M hw/i386/trace-events
M hw/ide/piix.c
M hw/isa/lpc_ich9.c
M hw/isa/piix3.c
M hw/mem/cxl_type3.c
M hw/net/e1000e.c
M hw/net/rocker/rocker.c
M hw/net/vhost_net-stub.c
M hw/net/vhost_net.c
M hw/net/virtio-net.c
M hw/net/vmxnet3.c
M hw/nvme/ctrl.c
M hw/pci-bridge/cxl_upstream.c
M hw/pci/meson.build
M hw/pci/msix.c
A hw/pci/pcie_doe.c
M hw/rdma/vmw/pvrdma_main.c
M hw/remote/vfio-user-obj.c
M hw/smbios/smbios.c
M hw/smbios/smbios_build.h
M hw/vfio/common.c
M hw/virtio/vhost-user.c
M hw/virtio/vhost.c
M hw/virtio/virtio-crypto.c
M hw/virtio/virtio-iommu-pci.c
M hw/virtio/virtio-pci.c
M hw/virtio/virtio-rng-pci.c
M hw/virtio/virtio.c
M include/crypto/akcipher.h
M include/exec/memory.h
M include/hw/acpi/acpi_aml_interface.h
A include/hw/cxl/cxl_cdat.h
M include/hw/cxl/cxl_component.h
M include/hw/cxl/cxl_device.h
M include/hw/cxl/cxl_pci.h
M include/hw/firmware/smbios.h
M include/hw/i386/intel_iommu.h
M include/hw/ide/pci.h
M include/hw/pci/msix.h
M include/hw/pci/pci_bus.h
M include/hw/pci/pci_ids.h
M include/hw/pci/pcie.h
A include/hw/pci/pcie_doe.h
M include/hw/pci/pcie_regs.h
M include/hw/virtio/vhost.h
M include/hw/virtio/virtio-pci.h
M include/hw/virtio/virtio.h
M include/net/vhost_net.h
M include/sysemu/cryptodev.h
M qapi/qom.json
M softmmu/memory.c
A tests/avocado/acpi-bits.py
A tests/avocado/acpi-bits/bits-config/bits-cfg.txt
A tests/avocado/acpi-bits/bits-tests/smbios.py2
A tests/avocado/acpi-bits/bits-tests/testacpi.py2
A tests/avocado/acpi-bits/bits-tests/testcpuid.py2
M tests/data/acpi/pc/DSDT
M tests/data/acpi/pc/DSDT.acpierst
M tests/data/acpi/pc/DSDT.acpihmat
M tests/data/acpi/pc/DSDT.bridge
M tests/data/acpi/pc/DSDT.cphp
M tests/data/acpi/pc/DSDT.dimmpxm
M tests/data/acpi/pc/DSDT.hpbridge
M tests/data/acpi/pc/DSDT.hpbrroot
M tests/data/acpi/pc/DSDT.ipmikcs
M tests/data/acpi/pc/DSDT.memhp
M tests/data/acpi/pc/DSDT.nohpet
M tests/data/acpi/pc/DSDT.numamem
M tests/data/acpi/pc/DSDT.roothp
M tests/data/acpi/pc/SSDT.dimmpxm
A tests/data/acpi/q35/APIC.acpihmat-noinitiator
A tests/data/acpi/q35/APIC.core-count2
M tests/data/acpi/q35/DSDT
M tests/data/acpi/q35/DSDT.acpierst
M tests/data/acpi/q35/DSDT.acpihmat
A tests/data/acpi/q35/DSDT.acpihmat-noinitiator
M tests/data/acpi/q35/DSDT.applesmc
M tests/data/acpi/q35/DSDT.bridge
A tests/data/acpi/q35/DSDT.core-count2
M tests/data/acpi/q35/DSDT.cphp
M tests/data/acpi/q35/DSDT.cxl
M tests/data/acpi/q35/DSDT.dimmpxm
M tests/data/acpi/q35/DSDT.ipmibt
M tests/data/acpi/q35/DSDT.ipmismbus
M tests/data/acpi/q35/DSDT.ivrs
M tests/data/acpi/q35/DSDT.memhp
M tests/data/acpi/q35/DSDT.mmio64
M tests/data/acpi/q35/DSDT.multi-bridge
M tests/data/acpi/q35/DSDT.nohpet
M tests/data/acpi/q35/DSDT.numamem
M tests/data/acpi/q35/DSDT.pvpanic-isa
M tests/data/acpi/q35/DSDT.tis.tpm12
M tests/data/acpi/q35/DSDT.tis.tpm2
M tests/data/acpi/q35/DSDT.viot
M tests/data/acpi/q35/DSDT.xapic
A tests/data/acpi/q35/FACP.core-count2
A tests/data/acpi/q35/HMAT.acpihmat-noinitiator
A tests/data/acpi/q35/SRAT.acpihmat-noinitiator
M tests/data/acpi/q35/SSDT.dimmpxm
M tests/data/acpi/virt/APIC
A tests/data/acpi/virt/APIC.acpihmatvirt
M tests/data/acpi/virt/APIC.memhp
M tests/data/acpi/virt/APIC.numamem
A tests/data/acpi/virt/DSDT.acpihmatvirt
M tests/data/acpi/virt/FACP
M tests/data/acpi/virt/FACP.memhp
M tests/data/acpi/virt/FACP.numamem
A 

[Qemu-commits] [qemu/qemu] d0180f: hw/mem/nvdimm: fix error message for 'unarmed' flag

2022-10-31 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: d0180f0acb142ca78e30857b8d8511ee9f3bd764
  
https://github.com/qemu/qemu/commit/d0180f0acb142ca78e30857b8d8511ee9f3bd764
  Author: Julia Suvorova 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M hw/mem/nvdimm.c

  Log Message:
  ---
  hw/mem/nvdimm: fix error message for 'unarmed' flag

In the ACPI specification [1], the 'unarmed' bit is set when a device
cannot accept a persistent write. This means that when a memdev is
read-only, the 'unarmed' flag must be turned on. The logic is correct,
just changing the error message.

[1] ACPI NFIT NVDIMM Region Mapping Structure "NVDIMM State Flags" Bit 3

Fixes: dbd730e859 ("nvdimm: check -object memory-backend-file, readonly=on 
option")
Signed-off-by: Julia Suvorova 
Reviewed-by: Stefan Hajnoczi 
Reviewed-by: Pankaj Gupta 
Reviewed-by: Philippe Mathieu-Daudé 
Acked-by: David Hildenbrand 
Message-Id: <20221023195812.15523-1-jus...@redhat.com>
Signed-off-by: David Hildenbrand 


  Commit: bf98afc75efedf10965a3f2d98aa43c234cf69ed
  
https://github.com/qemu/qemu/commit/bf98afc75efedf10965a3f2d98aa43c234cf69ed
  Author: Jungmin Park 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M crypto/pbkdf.c

  Log Message:
  ---
  crypto/luks: Support creating LUKS image on Darwin

When the user creates a LUKS-encrypted qcow2 image using the qemu-img
program, the passphrase is hashed using PBKDF2 with a dynamic
number of iterations. The number of iterations is determined by
measuring thread cpu time usage, such that it takes approximately
2 seconds to compute the hash.

Because Darwin doesn't implement getrusage(RUSAGE_THREAD), we get an
error message:
> qemu-img: test.qcow2: Unable to calculate thread CPU usage on this platform
for this command:
> qemu-img create --object secret,id=key,data=1234 -f qcow2 -o 
> 'encrypt.format=luks,encrypt.key-secret=key' test.qcow2 100M

This patch implements qcrypto_pbkdf2_get_thread_cpu() for Darwin so that
the above command works.

Signed-off-by: Jungmin Park 
Signed-off-by: Daniel P. Berrangé 


  Commit: 926a895c2cfcd621373eb86288dd83d08cb53f15
  
https://github.com/qemu/qemu/commit/926a895c2cfcd621373eb86288dd83d08cb53f15
  Author: Bin Meng 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M util/qemu-sockets.c

  Log Message:
  ---
  util/qemu-sockets: Use g_get_tmp_dir() to get the directory for temporary 
files

Replace the existing logic to get the directory for temporary files
with g_get_tmp_dir(), which works for win32 too.

Signed-off-by: Bin Meng 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Daniel P. Berrangé 


  Commit: 985be62d4481e11830485a25a47a932e5829d223
  
https://github.com/qemu/qemu/commit/985be62d4481e11830485a25a47a932e5829d223
  Author: Bin Meng 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M io/channel-watch.c

  Log Message:
  ---
  io/channel-watch: Drop a superfluous '#ifdef WIN32'

In the win32 version qio_channel_create_socket_watch() body there is
no need to do a '#ifdef WIN32'.

Signed-off-by: Bin Meng 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Daniel P. Berrangé 


  Commit: 6c822a031b9e87fea8303373d6501f6d6a3c1e31
  
https://github.com/qemu/qemu/commit/6c822a031b9e87fea8303373d6501f6d6a3c1e31
  Author: Bin Meng 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M io/channel-watch.c

  Log Message:
  ---
  io/channel-watch: Drop the unnecessary cast

There is no need to do a type cast on ssource->socket as it is
already declared as a SOCKET.

Suggested-by: Marc-André Lureau 
Signed-off-by: Bin Meng 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Daniel P. Berrangé 


  Commit: 23f77f05f2faa8ff3028fef388322f7b4f09533e
  
https://github.com/qemu/qemu/commit/23f77f05f2faa8ff3028fef388322f7b4f09533e
  Author: Bin Meng 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M io/channel-watch.c

  Log Message:
  ---
  io/channel-watch: Fix socket watch on Windows

Random failure was observed when running qtests on Windows due to
"Broken pipe" detected by qmp_fd_receive(). What happened is that
the qtest executable sends testing data over a socket to the QEMU
under test but no response is received. The errno of the recv()
call from the qtest executable indicates ETIMEOUT, due to the qmp
chardev's tcp_chr_read() is never called to receive testing data
hence no response is sent to the other side.

tcp_chr_read() is registered as the callback of the socket watch
GSource. The reason of the callback not being called by glib, is
that the source check fails to indicate the source is ready. There
are two socket watch sources created to monitor the same socket
event object from the char-socket backend in update_ioc_handlers().
During the source check phase, qio_channel_socket_source_check()
calls WSAEnumNetworkEvents() to discover occurrences of network
events for the indicated socket, 

[Qemu-commits] [qemu/qemu] d0180f: hw/mem/nvdimm: fix error message for 'unarmed' flag

2022-10-30 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: d0180f0acb142ca78e30857b8d8511ee9f3bd764
  
https://github.com/qemu/qemu/commit/d0180f0acb142ca78e30857b8d8511ee9f3bd764
  Author: Julia Suvorova 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M hw/mem/nvdimm.c

  Log Message:
  ---
  hw/mem/nvdimm: fix error message for 'unarmed' flag

In the ACPI specification [1], the 'unarmed' bit is set when a device
cannot accept a persistent write. This means that when a memdev is
read-only, the 'unarmed' flag must be turned on. The logic is correct,
just changing the error message.

[1] ACPI NFIT NVDIMM Region Mapping Structure "NVDIMM State Flags" Bit 3

Fixes: dbd730e859 ("nvdimm: check -object memory-backend-file, readonly=on 
option")
Signed-off-by: Julia Suvorova 
Reviewed-by: Stefan Hajnoczi 
Reviewed-by: Pankaj Gupta 
Reviewed-by: Philippe Mathieu-Daudé 
Acked-by: David Hildenbrand 
Message-Id: <20221023195812.15523-1-jus...@redhat.com>
Signed-off-by: David Hildenbrand 


  Commit: bf98afc75efedf10965a3f2d98aa43c234cf69ed
  
https://github.com/qemu/qemu/commit/bf98afc75efedf10965a3f2d98aa43c234cf69ed
  Author: Jungmin Park 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M crypto/pbkdf.c

  Log Message:
  ---
  crypto/luks: Support creating LUKS image on Darwin

When the user creates a LUKS-encrypted qcow2 image using the qemu-img
program, the passphrase is hashed using PBKDF2 with a dynamic
number of iterations. The number of iterations is determined by
measuring thread cpu time usage, such that it takes approximately
2 seconds to compute the hash.

Because Darwin doesn't implement getrusage(RUSAGE_THREAD), we get an
error message:
> qemu-img: test.qcow2: Unable to calculate thread CPU usage on this platform
for this command:
> qemu-img create --object secret,id=key,data=1234 -f qcow2 -o 
> 'encrypt.format=luks,encrypt.key-secret=key' test.qcow2 100M

This patch implements qcrypto_pbkdf2_get_thread_cpu() for Darwin so that
the above command works.

Signed-off-by: Jungmin Park 
Signed-off-by: Daniel P. Berrangé 


  Commit: 926a895c2cfcd621373eb86288dd83d08cb53f15
  
https://github.com/qemu/qemu/commit/926a895c2cfcd621373eb86288dd83d08cb53f15
  Author: Bin Meng 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M util/qemu-sockets.c

  Log Message:
  ---
  util/qemu-sockets: Use g_get_tmp_dir() to get the directory for temporary 
files

Replace the existing logic to get the directory for temporary files
with g_get_tmp_dir(), which works for win32 too.

Signed-off-by: Bin Meng 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Daniel P. Berrangé 


  Commit: 985be62d4481e11830485a25a47a932e5829d223
  
https://github.com/qemu/qemu/commit/985be62d4481e11830485a25a47a932e5829d223
  Author: Bin Meng 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M io/channel-watch.c

  Log Message:
  ---
  io/channel-watch: Drop a superfluous '#ifdef WIN32'

In the win32 version qio_channel_create_socket_watch() body there is
no need to do a '#ifdef WIN32'.

Signed-off-by: Bin Meng 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Daniel P. Berrangé 


  Commit: 6c822a031b9e87fea8303373d6501f6d6a3c1e31
  
https://github.com/qemu/qemu/commit/6c822a031b9e87fea8303373d6501f6d6a3c1e31
  Author: Bin Meng 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M io/channel-watch.c

  Log Message:
  ---
  io/channel-watch: Drop the unnecessary cast

There is no need to do a type cast on ssource->socket as it is
already declared as a SOCKET.

Suggested-by: Marc-André Lureau 
Signed-off-by: Bin Meng 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Daniel P. Berrangé 


  Commit: 23f77f05f2faa8ff3028fef388322f7b4f09533e
  
https://github.com/qemu/qemu/commit/23f77f05f2faa8ff3028fef388322f7b4f09533e
  Author: Bin Meng 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M io/channel-watch.c

  Log Message:
  ---
  io/channel-watch: Fix socket watch on Windows

Random failure was observed when running qtests on Windows due to
"Broken pipe" detected by qmp_fd_receive(). What happened is that
the qtest executable sends testing data over a socket to the QEMU
under test but no response is received. The errno of the recv()
call from the qtest executable indicates ETIMEOUT, due to the qmp
chardev's tcp_chr_read() is never called to receive testing data
hence no response is sent to the other side.

tcp_chr_read() is registered as the callback of the socket watch
GSource. The reason of the callback not being called by glib, is
that the source check fails to indicate the source is ready. There
are two socket watch sources created to monitor the same socket
event object from the char-socket backend in update_ioc_handlers().
During the source check phase, qio_channel_socket_source_check()
calls WSAEnumNetworkEvents() to discover occurrences of network
events for the indicated socket, 

[Qemu-commits] [qemu/qemu] c6cd58: qga: Add initial FreeBSD support

2022-10-30 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: c6cd588bb3a29a831c862780631a7d2145ade5de
  
https://github.com/qemu/qemu/commit/c6cd588bb3a29a831c862780631a7d2145ade5de
  Author: Alexander Ivanov 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M meson.build
M qga/channel-posix.c
M qga/commands-posix.c
M qga/main.c

  Log Message:
  ---
  qga: Add initial FreeBSD support

- Fix device path.
- Fix virtio-serial channel initialization.
- Make the code buildable in FreeBSD.

Reviewed-by: Konstantin Kostiuk 
Acked-by: Marc-André Lureau 
Signed-off-by: Alexander Ivanov 
Signed-off-by: Konstantin Kostiuk 


  Commit: 518b0d800b5ab046b72fac423ace7549ab187329
  
https://github.com/qemu/qemu/commit/518b0d800b5ab046b72fac423ace7549ab187329
  Author: Alexander Ivanov 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M qga/commands-common.h
A qga/commands-linux.c
M qga/commands-posix.c
M qga/meson.build

  Log Message:
  ---
  qga: Move Linux-specific FS freeze/thaw code to a separate file

In the next patches we are going to add FreeBSD support for QEMU Guest
Agent. In the result, code in commands-posix.c will be too cumbersome.

Move Linux-specific FS freeze/thaw code to a separate file commands-linux.c
keeping common POSIX code in commands-posix.c.

Reviewed-by: Konstantin Kostiuk 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Alexander Ivanov 
Signed-off-by: Konstantin Kostiuk 


  Commit: bad0001eeb34484c4595c3862e14a4ee22a3abee
  
https://github.com/qemu/qemu/commit/bad0001eeb34484c4595c3862e14a4ee22a3abee
  Author: Alexander Ivanov 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
A qga/commands-bsd.c
M qga/commands-common.h
M qga/commands-posix.c
M qga/main.c
M qga/meson.build

  Log Message:
  ---
  qga: Add UFS freeze/thaw support for FreeBSD

UFS supports FS freezing through ioctl UFSSUSPEND on /dev/ufssuspend.
Frozen FS can be thawed by closing /dev/ufssuspend file descriptior.

Use getmntinfo to get a list of mounted FS.

Reviewed-by: Konstantin Kostiuk 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Alexander Ivanov 
Signed-off-by: Konstantin Kostiuk 


  Commit: e40762fcd6266450778f615e73d218e4100147b7
  
https://github.com/qemu/qemu/commit/e40762fcd6266450778f615e73d218e4100147b7
  Author: Alexander Ivanov 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M qga/commands-posix.c

  Log Message:
  ---
  qga: Add shutdown/halt/reboot support for FreeBSD

Add appropriate shutdown command arguments to qmp_guest_shutdown()
for FreeBSD.

Reviewed-by: Konstantin Kostiuk 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Alexander Ivanov 
Signed-off-by: Konstantin Kostiuk 


  Commit: 4fd0642e84e2dc25033090cad73f1ef1904e1600
  
https://github.com/qemu/qemu/commit/4fd0642e84e2dc25033090cad73f1ef1904e1600
  Author: Alexander Ivanov 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M qga/commands-posix.c

  Log Message:
  ---
  qga: Add support for user password setting in FreeBSD

Move qmp_guest_set_user_password() from __linux__ condition to
(__linux__ || __FreeBSD__) condition. Add command and arguments
for password setting in FreeBSD.

Reviewed-by: Konstantin Kostiuk 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Alexander Ivanov 
Signed-off-by: Konstantin Kostiuk 


  Commit: a1241094223d69d72bebc5ed7a5f6f57cbc7986c
  
https://github.com/qemu/qemu/commit/a1241094223d69d72bebc5ed7a5f6f57cbc7986c
  Author: Alexander Ivanov 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M qga/commands-bsd.c
M qga/commands-common.h
M qga/commands-posix.c

  Log Message:
  ---
  qga: Move HW address getting to a separate function

In the next patch FreeBSD support for guest-network-get-interfaces will be
added. Previously move Linux-specific code of HW address getting to a
separate functions and add a dumb function to commands-bsd.c.

Reviewed-by: Konstantin Kostiuk 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Alexander Ivanov 
Signed-off-by: Konstantin Kostiuk 


  Commit: ffb01cc5d6698855103d57281ddfe94b1f3fa3d4
  
https://github.com/qemu/qemu/commit/ffb01cc5d6698855103d57281ddfe94b1f3fa3d4
  Author: Alexander Ivanov 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M qga/commands-bsd.c

  Log Message:
  ---
  qga: Add HW address getting for FreeBSD

Replace a dumb function in commands-bsd.c by the code of HW address
getting.

Reviewed-by: Konstantin Kostiuk 
Reviewed-by: Marc-André Lureau 
Signed-off-by: Alexander Ivanov 
Signed-off-by: Konstantin Kostiuk 


  Commit: 38458b783680d12a005b493c0959a995f800
  
https://github.com/qemu/qemu/commit/38458b783680d12a005b493c0959a995f800
  Author: Bjørn Forsman 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M qga/channel-posix.c

  Log Message:
  ---
  qga: add channel path to error messages

It's 

[Qemu-commits] [qemu/qemu] 9306d7: Merge tag 'qga-pull-2022-10-26' of https://github....

2022-10-30 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging-new
  Home:   https://github.com/qemu/qemu
  Commit: 9306d7c057ecc85adcf05c564820d3e806a83b9a
  
https://github.com/qemu/qemu/commit/9306d7c057ecc85adcf05c564820d3e806a83b9a
  Author: Stefan Hajnoczi 
  Date:   2022-10-30 (Sun, 30 Oct 2022)

  Changed paths:
M meson.build
M qga/channel-posix.c
A qga/commands-bsd.c
M qga/commands-common.h
A qga/commands-linux.c
M qga/commands-posix.c
M qga/main.c
M qga/meson.build

  Log Message:
  ---
  Merge tag 'qga-pull-2022-10-26' of https://github.com/kostyanf14/qemu into 
staging

qga-pull-2022-10-26

# -BEGIN PGP SIGNATURE-
#
# iQIzBAABCgAdFiEEwsLBCepDxjwUI+uE711egWG6hOcFAmNZcDMACgkQ711egWG6
# hOdRPQ/8D5T9GpkC+Ar9GLlx/DZFZx0+FxdolV06TcuSXTz3SXYtVKJUSaLjW3SF
# ZRMbBYxqO1NKXWfe8kPKzSR7lJY9fBdn75AUbN88iYW7xu2x+A8LNskVOanu8vbo
# eqcjO1x3sStzdZHfA4uFUsF7J9A2zqflmZxTMWm1UDt1HTklAJLPkb/E6DnVc3Rp
# WhI89JWvAZBOZoVBq7MyfBPEyf3KibHHMWENVY7vGmmXaw9EJQYpXNEMTeBP1VI3
# tTLxrr8WoGr5w2K4a3Kku2ixD+IOPPWXbZXmSjAGgOwiVSkORwMbUVHnN/A11O3O
# b8XOGZ5LkFjgORTsm9ePxXJvcHlsxWZIb80ZnZA9oGF/33S7RbW1Kcl6OAVGdm0S
# ZzysqPLPJStxuUvesqmFfGkvZ29EHNlWjrIfXQz5mnlDsnOi/0Bus0vNjc/kBNPF
# KfHW6MNw4A2gmVcrNg2f2rlYveHa6e+4XsS5xJJ74WDMHWxMZRaFXyO+qU6p7lEJ
# I5pLD9oEM856y2CpQJpoJnZ6ddLEag652x08WpCFMI76x5XLN8D0lszlgJghR7M7
# 84TKSF6HBvrMS+jQc3xZZlK7ELSluKtUFnSTkNZg9WiuQC/FS+7XRcC6lek1qBAL
# WVsKL5UwM/Eyq+O/B8R7w6TEWFxnEFmjddq1rD6kH8LYx1Lmt4M=
# =h41f
# -END PGP SIGNATURE-
# gpg: Signature made Wed 26 Oct 2022 13:36:51 EDT
# gpg:using RSA key C2C2C109EA43C63C1423EB84EF5D5E8161BA84E7
# gpg: Good signature from "Kostiantyn Kostiuk (Upstream PR sign) 
" [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: C2C2 C109 EA43 C63C 1423  EB84 EF5D 5E81 61BA 84E7

* tag 'qga-pull-2022-10-26' of https://github.com/kostyanf14/qemu:
  qga: add channel path to error messages
  qga: Add HW address getting for FreeBSD
  qga: Move HW address getting to a separate function
  qga: Add support for user password setting in FreeBSD
  qga: Add shutdown/halt/reboot support for FreeBSD
  qga: Add UFS freeze/thaw support for FreeBSD
  qga: Move Linux-specific FS freeze/thaw code to a separate file
  qga: Add initial FreeBSD support

Signed-off-by: Stefan Hajnoczi 


  Commit: 75d30fde55485b965a1168a21d016dd07b50ed32
  
https://github.com/qemu/qemu/commit/75d30fde55485b965a1168a21d016dd07b50ed32
  Author: Stefan Hajnoczi 
  Date:   2022-10-30 (Sun, 30 Oct 2022)

  Changed paths:
M MAINTAINERS
M block.c
A block/blkio.c
M block/blkverify.c
M block/block-backend.c
A block/block-ram-registrar.c
M block/crypto.c
M block/file-posix.c
M block/gluster.c
M block/io.c
M block/meson.build
M block/mirror.c
M block/nbd.c
M block/nvme.c
M block/parallels.c
M block/qcow.c
M block/qed.c
M block/raw-format.c
M block/replication.c
M block/ssh.c
M block/vhdx.c
M hw/block/virtio-blk.c
M hw/core/numa.c
M include/block/block-common.h
M include/block/block-global-state.h
M include/block/block_int-common.h
M include/exec/cpu-common.h
M include/hw/virtio/virtio-blk.h
M include/qemu/coroutine.h
M include/sysemu/block-backend-global-state.h
A include/sysemu/block-ram-registrar.h
M meson.build
M meson_options.txt
M qapi/block-core.json
M qemu-img.c
M scripts/meson-buildoptions.sh
M softmmu/physmem.c
M stubs/meson.build
A stubs/physmem.c
M tests/qtest/modules-test.c
M util/qemu-coroutine-lock.c
M util/vfio-helpers.c

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

Pull request

# -BEGIN PGP SIGNATURE-
#
# iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmNZg14ACgkQnKSrs4Gr
# c8hwwwf/Udbnt6n4SShezEIYRe0udLvuyo1HwcMNLWjllHLfp/yNDcPsGk+r13Ue
# TxrvbVaucxB5RPdN67KmzPyu+wPM/o0nij7c4CkBvwNPXmfUCF97Lj0prEL+ZeHp
# HmNg08FRfHM2vKMFyJXqDAidBecUDizLrP9C3nc/LAF6fr9ds+vfFuB/12eSXvZ+
# RLnaAj7KLt2MzkgWbDiC6066TPZWCcwFJmc0zkCAthCepokDrKfSHc+0u9U/NXA9
# Qv7qKcEBYq3vP3SCvDtbKU3Ig4CoiwO3A3O9wZTypamU2816H9HtEJ5NPtjNUFPF
# dm3siyKODbDx4mzba/Xv/26lHGSsJA==
# =bmGV
# -END PGP SIGNATURE-
# gpg: Signature made Wed 26 Oct 2022 14:58:38 EDT
# gpg:using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi " [ultimate]
# gpg: aka "Stefan Hajnoczi " [ultimate]
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* tag 'block-pull-request' of https://gitlab.com/stefanha/qemu:
  virtio-blk: use BDRV_REQ_REGISTERED_BUF optimization hint
  blkio: implement BDRV_REQ_REGISTERED_BUF optimization
  stubs: add qemu_ram_block_from_host() and qemu_ram_get_fd()
  exec/cpu-common: add qemu_ram_get_fd()
  block: add 

[Qemu-commits] [qemu/qemu] 0421b5: coroutine: add flag to re-queue at front of CoQueue

2022-10-27 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 0421b563ab4d947a388078331c057daa9b979f41
  
https://github.com/qemu/qemu/commit/0421b563ab4d947a388078331c057daa9b979f41
  Author: Stefan Hajnoczi 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M include/qemu/coroutine.h
M util/qemu-coroutine-lock.c

  Log Message:
  ---
  coroutine: add flag to re-queue at front of CoQueue

When a coroutine wakes up it may determine that it must re-queue.
Normally coroutines are pushed onto the back of the CoQueue, but for
fairness it may be necessary to push it onto the front of the CoQueue.

Add a flag to specify that the coroutine should be pushed onto the front
of the CoQueue. A later patch will use this to ensure fairness in the
bounce buffer CoQueue used by the blkio BlockDriver.

Signed-off-by: Stefan Hajnoczi 
Message-id: 20221013185908.1297568-2-stefa...@redhat.com
Signed-off-by: Stefan Hajnoczi 


  Commit: fd66dbd424f5c90fcff3d27afed2c6c59d8be3ac
  
https://github.com/qemu/qemu/commit/fd66dbd424f5c90fcff3d27afed2c6c59d8be3ac
  Author: Stefan Hajnoczi 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M MAINTAINERS
A block/blkio.c
M block/meson.build
M meson.build
M meson_options.txt
M qapi/block-core.json
M scripts/meson-buildoptions.sh
M tests/qtest/modules-test.c

  Log Message:
  ---
  blkio: add libblkio block driver

libblkio (https://gitlab.com/libblkio/libblkio/) is a library for
high-performance disk I/O. It currently supports io_uring,
virtio-blk-vhost-user, and virtio-blk-vhost-vdpa with additional drivers
under development.

One of the reasons for developing libblkio is that other applications
besides QEMU can use it. This will be particularly useful for
virtio-blk-vhost-user which applications may wish to use for connecting
to qemu-storage-daemon.

libblkio also gives us an opportunity to develop in Rust behind a C API
that is easy to consume from QEMU.

This commit adds io_uring, nvme-io_uring, virtio-blk-vhost-user, and
virtio-blk-vhost-vdpa BlockDrivers to QEMU using libblkio. It will be
easy to add other libblkio drivers since they will share the majority of
code.

For now I/O buffers are copied through bounce buffers if the libblkio
driver requires it. Later commits add an optimization for
pre-registering guest RAM to avoid bounce buffers.

The syntax is:

  --blockdev 
io_uring,node-name=drive0,filename=test.img,readonly=on|off,cache.direct=on|off

  --blockdev 
nvme-io_uring,node-name=drive0,filename=/dev/ng0n1,readonly=on|off,cache.direct=on

  --blockdev 
virtio-blk-vhost-vdpa,node-name=drive0,path=/dev/vdpa...,readonly=on|off,cache.direct=on

  --blockdev 
virtio-blk-vhost-user,node-name=drive0,path=vhost-user-blk.sock,readonly=on|off,cache.direct=on

Signed-off-by: Stefan Hajnoczi 
Acked-by: Markus Armbruster 
Reviewed-by: Stefano Garzarella 
Message-id: 20221013185908.1297568-3-stefa...@redhat.com
Signed-off-by: Stefan Hajnoczi 


  Commit: 1f0fea38f46a786dd87407997e8bfbccca5e458f
  
https://github.com/qemu/qemu/commit/1f0fea38f46a786dd87407997e8bfbccca5e458f
  Author: Stefan Hajnoczi 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M hw/core/numa.c
M util/vfio-helpers.c

  Log Message:
  ---
  numa: call ->ram_block_removed() in ram_block_notifer_remove()

When a RAMBlockNotifier is added, ->ram_block_added() is called with all
existing RAMBlocks. There is no equivalent ->ram_block_removed() call
when a RAMBlockNotifier is removed.

The util/vfio-helpers.c code (the sole user of RAMBlockNotifier) is fine
with this asymmetry because it does not rely on RAMBlockNotifier for
cleanup. It walks its internal list of DMA mappings and unmaps them by
itself.

Future users of RAMBlockNotifier may not have an internal data structure
that records added RAMBlocks so they will need ->ram_block_removed()
callbacks.

This patch makes ram_block_notifier_remove() symmetric with respect to
callbacks. Now util/vfio-helpers.c needs to unmap remaining DMA mappings
after ram_block_notifier_remove() has been called. This is necessary
since users like block/nvme.c may create additional DMA mappings that do
not originate from the RAMBlockNotifier.

Reviewed-by: David Hildenbrand 
Signed-off-by: Stefan Hajnoczi 
Message-id: 20221013185908.1297568-4-stefa...@redhat.com
Signed-off-by: Stefan Hajnoczi 


  Commit: 4f384011c5a37f80dc6cadefffac61ffb1c3aa1e
  
https://github.com/qemu/qemu/commit/4f384011c5a37f80dc6cadefffac61ffb1c3aa1e
  Author: Stefan Hajnoczi 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M block/block-backend.c
M block/io.c
M block/nvme.c
M include/block/block-global-state.h
M include/block/block_int-common.h
M include/sysemu/block-backend-global-state.h
M qemu-img.c

  Log Message:
  ---
  block: pass size to bdrv_unregister_buf()

The only implementor of bdrv_register_buf() is block/nvme.c, where the
size 

[Qemu-commits] [qemu/qemu] 66a1ca: Merge tag 'qga-pull-2022-10-26' of https://github....

2022-10-27 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 66a1ca5d77f326829afc4d780edb327acea55a32
  
https://github.com/qemu/qemu/commit/66a1ca5d77f326829afc4d780edb327acea55a32
  Author: Stefan Hajnoczi 
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
M meson.build
M qga/channel-posix.c
A qga/commands-bsd.c
M qga/commands-common.h
A qga/commands-linux.c
M qga/commands-posix.c
M qga/main.c
M qga/meson.build

  Log Message:
  ---
  Merge tag 'qga-pull-2022-10-26' of https://github.com/kostyanf14/qemu into 
staging

Conflicts:
- "qga: Move HW address getting to a separate function" still uses
  has_hardware_address but it was just removed by "qapi qga: Elide
  redundant has_FOO in generated C". Drop has_hardware_address.

* tag 'qga-pull-2022-10-26' of https://github.com/kostyanf14/qemu:
  qga: add channel path to error messages
  qga: Add HW address getting for FreeBSD
  qga: Move HW address getting to a separate function
  qga: Add support for user password setting in FreeBSD
  qga: Add shutdown/halt/reboot support for FreeBSD
  qga: Add UFS freeze/thaw support for FreeBSD
  qga: Move Linux-specific FS freeze/thaw code to a separate file
  qga: Add initial FreeBSD support

Signed-off-by: Stefan Hajnoczi 





[Qemu-commits] [qemu/qemu] fad992: docs/devel/qapi-code-gen: Update example to match ...

2022-10-27 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: fad992334d4a88f62a6f9d20c9b8f05446bdd904
  
https://github.com/qemu/qemu/commit/fad992334d4a88f62a6f9d20c9b8f05446bdd904
  Author: Markus Armbruster 
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
M docs/devel/qapi-code-gen.rst

  Log Message:
  ---
  docs/devel/qapi-code-gen: Update example to match current code

Signed-off-by: Markus Armbruster 
Reviewed-by: Daniel P. Berrangé 
Message-Id: <20221018062849.3420573-2-arm...@redhat.com>


  Commit: 8a4e771d26490aaae8dadfea00ce2513aed5acfe
  
https://github.com/qemu/qemu/commit/8a4e771d26490aaae8dadfea00ce2513aed5acfe
  Author: Markus Armbruster 
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
M docs/devel/qapi-code-gen.rst
M scripts/qapi/commands.py
M scripts/qapi/events.py

  Log Message:
  ---
  qapi: Tidy up whitespace in generated code

Signed-off-by: Markus Armbruster 
Reviewed-by: Daniel P. Berrangé 
Message-Id: <20221018062849.3420573-3-arm...@redhat.com>


  Commit: e8dce69d7d54990f63e311a8f0b8855f86d52d00
  
https://github.com/qemu/qemu/commit/e8dce69d7d54990f63e311a8f0b8855f86d52d00
  Author: Markus Armbruster 
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
M docs/devel/qapi-code-gen.rst

  Log Message:
  ---
  docs/devel/qapi-code-gen: Extend example for next commit's change

The next commit will change the code generated for some optional
members.  The example schema contains an optional member affected by
the change.  Add one that is not affected.

Signed-off-by: Markus Armbruster 
Reviewed-by: Daniel P. Berrangé 
Message-Id: <20221018062849.3420573-4-arm...@redhat.com>


  Commit: 987d542069acc73e7d7843f19ea145aafeefbbb6
  
https://github.com/qemu/qemu/commit/987d542069acc73e7d7843f19ea145aafeefbbb6
  Author: Markus Armbruster 
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
M docs/devel/qapi-code-gen.rst
M docs/devel/writing-monitor-commands.rst
M scripts/qapi/commands.py
M scripts/qapi/events.py
M scripts/qapi/gen.py
M scripts/qapi/schema.py
M scripts/qapi/types.py
M scripts/qapi/visit.py

  Log Message:
  ---
  qapi: Start to elide redundant has_FOO in generated C

In QAPI, absent optional members are distinct from any present value.
We thus represent an optional schema member FOO as two C members: a
FOO with the member's type, and a bool has_FOO.  Likewise for function
arguments.

However, has_FOO is actually redundant for a pointer-valued FOO, which
can be null only when has_FOO is false, i.e. has_FOO == !!FOO.  Except
for arrays, where we a null FOO can also be a present empty array.

The redundant has_FOO are a nuisance to work with.  Improve the
generator to elide them.  Uses of has_FOO need to be replaced as
follows.

Tests of has_FOO become the equivalent comparison of FOO with null.
For brevity, this is commonly done by implicit conversion to bool.

Assignments to has_FOO get dropped.

Likewise for arguments to has_FOO parameters.

Beware: code may violate the invariant has_FOO == !!FOO before the
transformation, and get away with it.  The above transformation can
then break things.  Two cases:

* Absent: if code ignores FOO entirely when !has_FOO (except for
  freeing it if necessary), even non-null / uninitialized FOO works.
  Such code is known to exist.

* Present: if code ignores FOO entirely when has_FOO, even null FOO
  works.  Such code should not exist.

In both cases, replacing tests of has_FOO by FOO reverts their sense.
We have to fix the value of FOO then.

To facilitate review of the necessary updates to handwritten code, add
means to opt out of this change, and opt out for all QAPI schema
modules where the change requires updates to handwritten code.  The
next few commits will remove these opt-outs in reviewable chunks, then
drop the means to opt out.

Signed-off-by: Markus Armbruster 
Reviewed-by: Daniel P. Berrangé 
Message-Id: <20221018062849.3420573-5-arm...@redhat.com>


  Commit: 0673a9bb702d3fe7c4145b1ec2ee9aca9d9f2965
  
https://github.com/qemu/qemu/commit/0673a9bb702d3fe7c4145b1ec2ee9aca9d9f2965
  Author: Markus Armbruster 
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
M scripts/qapi/schema.py
M tests/qtest/qmp-cmd-test.c
M tests/unit/test-qmp-cmds.c
M tests/unit/test-qmp-event.c
M tests/unit/test-qobject-input-visitor.c
M tests/unit/test-qobject-output-visitor.c
M tests/unit/test-visitor-serialization.c

  Log Message:
  ---
  qapi tests: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for
tests/qapi-schema/qapi-schema-test.json.

Said commit explains the transformation in more detail.  The invariant

[Qemu-commits] [qemu/qemu] 3648d3: hw/i2c/aspeed: Fix old reg slave receive

2022-10-26 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 3648d31fa81c4a391b8cd74e9fcd410a74f72383
  
https://github.com/qemu/qemu/commit/3648d31fa81c4a391b8cd74e9fcd410a74f72383
  Author: Peter Delevoryas 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M hw/i2c/aspeed_i2c.c
M include/hw/i2c/aspeed_i2c.h

  Log Message:
  ---
  hw/i2c/aspeed: Fix old reg slave receive

I think when Klaus ported his slave mode changes from the original patch
series to the rewritten I2C module, he changed the behavior of the first
byte that is received by the slave device.

What's supposed to happen is that the AspeedI2CBus's slave device's
i2c_event callback should run, and if the event is "send_async", then it
should populate the byte buffer with the 8-bit I2C address that is being
sent to. Since we only support "send_async", the lowest bit should
always be 0 (indicating that the master is requesting to send data).

This is the code Klaus had previously, for reference. [1]

switch (event) {
case I2C_START_SEND:
bus->buf = bus->dev_addr << 1;

bus->buf &= I2CD_BYTE_BUF_RX_MASK;
bus->buf <<= I2CD_BYTE_BUF_RX_SHIFT;

bus->intr_status |= (I2CD_INTR_SLAVE_ADDR_RX_MATCH | I2CD_INTR_RX_DONE);
aspeed_i2c_set_state(bus, I2CD_STXD);

break;

[1]: 
https://lore.kernel.org/qemu-devel/20220331165737.1073520-4-...@irrelevant.dk/

Fixes: a8d48f59cd021b25 ("hw/i2c/aspeed: add slave device in old register mode")
Signed-off-by: Peter Delevoryas 
Reviewed-by: Klaus Jensen 
Message-Id: <20220820225712.713209-2-pe...@pjd.dev>
Signed-off-by: Cédric Le Goater 


  Commit: 7b5093b85b74158efda307986da973a353c4
  
https://github.com/qemu/qemu/commit/7b5093b85b74158efda307986da973a353c4
  Author: Cédric Le Goater 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M tests/avocado/machine_aspeed.py

  Log Message:
  ---
  tests/avocado/machine_aspeed.py: Fix typos on buildroot

Replace 'buidroot' and 'builroot' by 'buildroot'.

Fixes: f7bc7da0724f ("test/avocado/machine_aspeed.py: Add tests using buildroot 
images")
Reviewed-by: Thomas Huth 
Reviewed-by: Richard Henderson 
Reviewed-by: Joel Stanley 
Message-Id: <20220923084803.498337-2-...@kaod.org>
Signed-off-by: Cédric Le Goater 


  Commit: db96605a49b334eeb2a5d1cc12981778f7d792aa
  
https://github.com/qemu/qemu/commit/db96605a49b334eeb2a5d1cc12981778f7d792aa
  Author: Alex Bennée 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M hw/ssi/ssi.c
M include/hw/ssi/ssi.h

  Log Message:
  ---
  ssi: cache SSIPeripheralClass to avoid GET_CLASS()

Investigating why some BMC models are so slow compared to a plain ARM
virt machines I did some profiling of:

  ./qemu-system-arm -M romulus-bmc -nic user \
-drive
file=obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd \
-nographic -serial mon:stdio

And saw that object_class_dynamic_cast_assert was dominating the
profile times. We have a number of cases in this model of the SSI bus.
As the class is static once the object is created we just cache it and
use it instead of the dynamic case macros.

Profiling against:

  ./tests/venv/bin/avocado run \
tests/avocado/machine_aspeed.py:test_arm_ast2500_romulus_openbmc_v2_9_0

Before: 35.565 s ±  0.087 s
After: 15.713 s ±  0.287 s

Signed-off-by: Alex Bennée 
Cc: Cédric Le Goater 
Tested-by: Cédric Le Goater 
Reviewed-by: Cédric Le Goater 
Message-Id: <20220811151413.3350684-6-alex.ben...@linaro.org>
Message-Id: <20220923084803.498337-6-...@kaod.org>
Signed-off-by: Cédric Le Goater 


  Commit: b84a9482a3c9e3b6fbdf1fd4b0477e4a7a51683e
  
https://github.com/qemu/qemu/commit/b84a9482a3c9e3b6fbdf1fd4b0477e4a7a51683e
  Author: Cédric Le Goater 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M hw/ssi/aspeed_smc.c
M include/hw/ssi/aspeed_smc.h

  Log Message:
  ---
  aspeed/smc: Cache AspeedSMCClass

Store a reference on the AspeedSMC class under the flash object and
use it when accessing the flash contents. Avoiding the class cast
checkers in these hot paths improves performance by 10% when running
the aspeed avocado tests.

Message-Id: <20220923084803.498337-7-...@kaod.org>
Signed-off-by: Cédric Le Goater 


  Commit: e5c1b489acac6e2d264c67d5c0665ef940f85e86
  
https://github.com/qemu/qemu/commit/e5c1b489acac6e2d264c67d5c0665ef940f85e86
  Author: Cédric Le Goater 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M hw/arm/aspeed_ast2600.c

  Log Message:
  ---
  ast2600: Drop NEON from the CPU features

Currently, the CPU features exposed to the AST2600 QEMU machines are :

  half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
  vfpd32 lpae evtstrm

But, the features of the Cortex A7 CPU on the Aspeed AST2600 A3 SoC
are :

  half thumb fastmult vfp edsp vfpv3 vfpv3d16 tls vfpv4 idiva idivt
  lpae evtstrm

Drop NEON support in the Aspeed AST2600 SoC.

Reviewed-by: Joel 

[Qemu-commits] [qemu/qemu] 08a5d0: Merge tag 'pull-tcg-20221026' of https://gitlab.co...

2022-10-26 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 08a5d04606292b3cf6f5756bf2a095654a290626
  
https://github.com/qemu/qemu/commit/08a5d04606292b3cf6f5756bf2a095654a290626
  Author: Stefan Hajnoczi 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M accel/tcg/cpu-exec.c
M accel/tcg/internal.h
M accel/tcg/meson.build
A accel/tcg/tb-maint.c
M accel/tcg/tcg-accel-ops-mttcg.c
M accel/tcg/tcg-accel-ops-rr.c
M accel/tcg/translate-all.c
M accel/tcg/translator.c
M accel/tcg/user-exec.c
M bsd-user/mmap.c
M cpu.c
M include/exec/cpu-all.h
M include/exec/exec-all.h
M include/exec/ram_addr.h
M include/exec/translate-all.h
M include/hw/core/tcg-cpu-ops.h
M include/qemu/atomic.h
M include/qemu/osdep.h
M include/qemu/thread.h
M linux-user/mmap.c
M target/alpha/cpu.c
M target/alpha/translate.c
M target/arm/cpu.c
M target/arm/cpu.h
M target/arm/internals.h
M target/arm/mte_helper.c
M target/arm/translate.c
M target/avr/cpu.c
M target/avr/translate.c
M target/cris/cpu.c
M target/cris/translate.c
M target/hexagon/cpu.c
M target/hppa/cpu.c
M target/hppa/translate.c
M target/i386/tcg/tcg-cpu.c
M target/i386/tcg/translate.c
M target/loongarch/cpu.c
M target/loongarch/translate.c
M target/m68k/cpu.c
M target/m68k/translate.c
M target/microblaze/cpu.c
M target/microblaze/translate.c
M target/mips/cpu.c
M target/mips/tcg/tcg-internal.h
M target/mips/tcg/translate.c
M target/nios2/cpu.c
M target/nios2/translate.c
M target/openrisc/cpu.c
M target/openrisc/translate.c
M target/ppc/cpu_init.c
M target/ppc/translate.c
M target/riscv/cpu.c
M target/rx/cpu.c
M target/rx/translate.c
M target/s390x/cpu.c
M target/s390x/s390x-internal.h
M target/s390x/tcg/translate.c
M target/sh4/cpu.c
M target/sh4/translate.c
M target/sparc/cpu.c
M target/sparc/cpu.h
M target/sparc/translate.c
M target/tricore/cpu.c
M target/tricore/translate.c
M target/xtensa/cpu.c
M target/xtensa/translate.c
M tcg/aarch64/tcg-target.c.inc
M tcg/loongarch64/tcg-target.c.inc
M tcg/loongarch64/tcg-target.h

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

Revert incorrect cflags initialization.
Add direct jumps for tcg/loongarch64.
Speed up breakpoint check.
Improve assertions for atomic.h.
Move restore_state_to_opc to TCGCPUOps.
Cleanups to TranslationBlock maintenance.

# -BEGIN PGP SIGNATURE-
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmNYlo4dHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV9y2wf9EKsCA6VtYI2Qtftf
# q/ujYFmUf8AKTb9eVcA0XX71CT1dEnFR7GQyT8B8X13x0pSbOX7tbEWHPreegTFV
# tESiejvymi6Q9devAB58GVwNoU/zPIQQGhCPxkVUKDmRztJz22MbGUzd7UKPPgU8
# 2nVMkIpLTMBsKeFLxE/D3ZntmdKsgyI/1Dtkl9TxvlDGsCbMjbNcr8lM+TLaG2oX
# GZhFyJHKEVy0cobukvhhb/9rU7AWdG/BnFmZM16JxvHV/YCwJBx3Udhcy9xPePUU
# yIjkGsUAq4aB6H9RFuTWh7GmaY5u6gMbTTi2J7hDos0mzauYJtpgEB/H42LpycGE
# sOhkLQ==
# =DUb8
# -END PGP SIGNATURE-
# gpg: Signature made Tue 25 Oct 2022 22:08:14 EDT
# gpg:using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:issuer "richard.hender...@linaro.org"
# gpg: Good signature from "Richard Henderson " 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-tcg-20221026' of https://gitlab.com/rth7680/qemu: (47 commits)
  accel/tcg: Remove restore_state_to_opc function
  target/xtensa: Convert to tcg_ops restore_state_to_opc
  target/tricore: Convert to tcg_ops restore_state_to_opc
  target/sparc: Convert to tcg_ops restore_state_to_opc
  target/sh4: Convert to tcg_ops restore_state_to_opc
  target/s390x: Convert to tcg_ops restore_state_to_opc
  target/rx: Convert to tcg_ops restore_state_to_opc
  target/riscv: Convert to tcg_ops restore_state_to_opc
  target/ppc: Convert to tcg_ops restore_state_to_opc
  target/openrisc: Convert to tcg_ops restore_state_to_opc
  target/nios2: Convert to tcg_ops restore_state_to_opc
  target/mips: Convert to tcg_ops restore_state_to_opc
  target/microblaze: Convert to tcg_ops restore_state_to_opc
  target/m68k: Convert to tcg_ops restore_state_to_opc
  target/loongarch: Convert to tcg_ops restore_state_to_opc
  target/i386: Convert to tcg_ops restore_state_to_opc
  target/hppa: Convert to tcg_ops restore_state_to_opc
  target/hexagon: Convert to tcg_ops restore_state_to_opc
  target/cris: Convert to tcg_ops restore_state_to_opc
  target/avr: Convert to tcg_ops restore_state_to_opc
  ...

Signed-off-by: Stefan Hajnoczi 


  Commit: 344744e148e6e865f5a57e745b02a87e5ea534ad
  
https://github.com/qemu/qemu/commit/344744e148e6e865f5a57e745b02a87e5ea534ad
  Author: Stefan Hajnoczi 
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
M dump/dump.c
M dump/win_dump.c
M 

[Qemu-commits] [qemu/qemu] 3648d3: hw/i2c/aspeed: Fix old reg slave receive

2022-10-26 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 3648d31fa81c4a391b8cd74e9fcd410a74f72383
  
https://github.com/qemu/qemu/commit/3648d31fa81c4a391b8cd74e9fcd410a74f72383
  Author: Peter Delevoryas 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M hw/i2c/aspeed_i2c.c
M include/hw/i2c/aspeed_i2c.h

  Log Message:
  ---
  hw/i2c/aspeed: Fix old reg slave receive

I think when Klaus ported his slave mode changes from the original patch
series to the rewritten I2C module, he changed the behavior of the first
byte that is received by the slave device.

What's supposed to happen is that the AspeedI2CBus's slave device's
i2c_event callback should run, and if the event is "send_async", then it
should populate the byte buffer with the 8-bit I2C address that is being
sent to. Since we only support "send_async", the lowest bit should
always be 0 (indicating that the master is requesting to send data).

This is the code Klaus had previously, for reference. [1]

switch (event) {
case I2C_START_SEND:
bus->buf = bus->dev_addr << 1;

bus->buf &= I2CD_BYTE_BUF_RX_MASK;
bus->buf <<= I2CD_BYTE_BUF_RX_SHIFT;

bus->intr_status |= (I2CD_INTR_SLAVE_ADDR_RX_MATCH | I2CD_INTR_RX_DONE);
aspeed_i2c_set_state(bus, I2CD_STXD);

break;

[1]: 
https://lore.kernel.org/qemu-devel/20220331165737.1073520-4-...@irrelevant.dk/

Fixes: a8d48f59cd021b25 ("hw/i2c/aspeed: add slave device in old register mode")
Signed-off-by: Peter Delevoryas 
Reviewed-by: Klaus Jensen 
Message-Id: <20220820225712.713209-2-pe...@pjd.dev>
Signed-off-by: Cédric Le Goater 


  Commit: 7b5093b85b74158efda307986da973a353c4
  
https://github.com/qemu/qemu/commit/7b5093b85b74158efda307986da973a353c4
  Author: Cédric Le Goater 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M tests/avocado/machine_aspeed.py

  Log Message:
  ---
  tests/avocado/machine_aspeed.py: Fix typos on buildroot

Replace 'buidroot' and 'builroot' by 'buildroot'.

Fixes: f7bc7da0724f ("test/avocado/machine_aspeed.py: Add tests using buildroot 
images")
Reviewed-by: Thomas Huth 
Reviewed-by: Richard Henderson 
Reviewed-by: Joel Stanley 
Message-Id: <20220923084803.498337-2-...@kaod.org>
Signed-off-by: Cédric Le Goater 


  Commit: db96605a49b334eeb2a5d1cc12981778f7d792aa
  
https://github.com/qemu/qemu/commit/db96605a49b334eeb2a5d1cc12981778f7d792aa
  Author: Alex Bennée 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M hw/ssi/ssi.c
M include/hw/ssi/ssi.h

  Log Message:
  ---
  ssi: cache SSIPeripheralClass to avoid GET_CLASS()

Investigating why some BMC models are so slow compared to a plain ARM
virt machines I did some profiling of:

  ./qemu-system-arm -M romulus-bmc -nic user \
-drive
file=obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd \
-nographic -serial mon:stdio

And saw that object_class_dynamic_cast_assert was dominating the
profile times. We have a number of cases in this model of the SSI bus.
As the class is static once the object is created we just cache it and
use it instead of the dynamic case macros.

Profiling against:

  ./tests/venv/bin/avocado run \
tests/avocado/machine_aspeed.py:test_arm_ast2500_romulus_openbmc_v2_9_0

Before: 35.565 s ±  0.087 s
After: 15.713 s ±  0.287 s

Signed-off-by: Alex Bennée 
Cc: Cédric Le Goater 
Tested-by: Cédric Le Goater 
Reviewed-by: Cédric Le Goater 
Message-Id: <20220811151413.3350684-6-alex.ben...@linaro.org>
Message-Id: <20220923084803.498337-6-...@kaod.org>
Signed-off-by: Cédric Le Goater 


  Commit: b84a9482a3c9e3b6fbdf1fd4b0477e4a7a51683e
  
https://github.com/qemu/qemu/commit/b84a9482a3c9e3b6fbdf1fd4b0477e4a7a51683e
  Author: Cédric Le Goater 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M hw/ssi/aspeed_smc.c
M include/hw/ssi/aspeed_smc.h

  Log Message:
  ---
  aspeed/smc: Cache AspeedSMCClass

Store a reference on the AspeedSMC class under the flash object and
use it when accessing the flash contents. Avoiding the class cast
checkers in these hot paths improves performance by 10% when running
the aspeed avocado tests.

Message-Id: <20220923084803.498337-7-...@kaod.org>
Signed-off-by: Cédric Le Goater 


  Commit: e5c1b489acac6e2d264c67d5c0665ef940f85e86
  
https://github.com/qemu/qemu/commit/e5c1b489acac6e2d264c67d5c0665ef940f85e86
  Author: Cédric Le Goater 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M hw/arm/aspeed_ast2600.c

  Log Message:
  ---
  ast2600: Drop NEON from the CPU features

Currently, the CPU features exposed to the AST2600 QEMU machines are :

  half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
  vfpd32 lpae evtstrm

But, the features of the Cortex A7 CPU on the Aspeed AST2600 A3 SoC
are :

  half thumb fastmult vfp edsp vfpv3 vfpv3d16 tls vfpv4 idiva idivt
  lpae evtstrm

Drop NEON support in the Aspeed AST2600 SoC.

Reviewed-by: Joel 

[Qemu-commits] [qemu/qemu] eeed22: linux-user: Fix more MIPS n32 syscall ABI issues

2022-10-26 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: eeed22916b8292b12d21e46ba9d3a383d669d9ff
  
https://github.com/qemu/qemu/commit/eeed22916b8292b12d21e46ba9d3a383d669d9ff
  Author: WANG Xuerui 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: Fix more MIPS n32 syscall ABI issues

In commit 80f0fe3a85 ("linux-user: Fix syscall parameter handling for
MIPS n32") the ABI problem regarding offset64 on MIPS n32 was fixed,
but still some cases remain where the n32 is incorrectly treated as any
other 32-bit ABI that passes 64-bit arguments in pairs of GPRs. Fix by
excluding TARGET_ABI_MIPSN32 from various TARGET_ABI_BITS == 32 checks.

Closes: https://gitlab.com/qemu-project/qemu/-/issues/1238
Signed-off-by: WANG Xuerui 
Cc: Philippe Mathieu-Daudé 
Cc: Jiaxun Yang 
Cc: Andreas K. Hüttel 
Cc: Joshua Kinard 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Jiaxun Yang 
Tested-by: Jiaxun Yang 
Tested-by: Andreas K. Huettel 
Message-Id: <20221006085500.290341-1-xe...@gentoo.org>
Signed-off-by: Laurent Vivier 


  Commit: 46187d707e7639b743a3b9f72da03ad4b9abc255
  
https://github.com/qemu/qemu/commit/46187d707e7639b743a3b9f72da03ad4b9abc255
  Author: Laurent Vivier 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/strace.c
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: fix pidfd_send_signal()

According to pidfd_send_signal(2), info argument can be a NULL pointer.
Fix strace to correctly manage ending comma in parameters.

Fixes: cc054c6f13 ("linux-user: Add pidfd_open(), pidfd_send_signal() and 
pidfd_getfd() syscalls")
cc: Helge Deller 
Signed-off-by: Laurent Vivier 
Reviewed-by: Helge Deller 
Message-Id: <20221005163826.1455313-1-laur...@vivier.eu>
Signed-off-by: Laurent Vivier 


  Commit: f07eb1c4f805c0dcc14dd69fee49b601ce0b2d2c
  
https://github.com/qemu/qemu/commit/f07eb1c4f805c0dcc14dd69fee49b601ce0b2d2c
  Author: Laurent Vivier 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: handle /proc/self/exe with execve() syscall

If path is /proc/self/exe, use the executable path
provided by exec_path.

Don't use execfd as it is closed by loader_exec() and otherwise
will survive to the exec() syscall and be usable child process.

Signed-off-by: Laurent Vivier 
Message-Id: <20220927124357.688536-2-laur...@vivier.eu>
Signed-off-by: Laurent Vivier 


  Commit: 00ed8a3459869f46dbb4e18d4dcc81882dfe8776
  
https://github.com/qemu/qemu/commit/00ed8a3459869f46dbb4e18d4dcc81882dfe8776
  Author: Laurent Vivier 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: don't use AT_EXECFD in do_openat()

AT_EXECFD gives access to the binary file even if
it is not readable (only executable).

Moreover it can be opened with flags and mode that are not the ones
provided by do_openat() caller.

And it is not available because loader_exec() has closed it.

To avoid that, use only safe_openat() with the exec_path.

Signed-off-by: Laurent Vivier 
Message-Id: <20220927124357.688536-3-laur...@vivier.eu>
Signed-off-by: Laurent Vivier 


  Commit: c5495f4ecb0cdaaf2e9dddeb48f1689cdb520ca0
  
https://github.com/qemu/qemu/commit/c5495f4ecb0cdaaf2e9dddeb48f1689cdb520ca0
  Author: Daniel P. Berrangé 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: add more compat ioctl definitions

GLibc changes prevent us from including linux/fs.h anymore,
and we previously adjusted to this in

  commit 3cd3df2a9584e6f753bb62a0028bd67124ab5532
  Author: Daniel P. Berrangé 
  Date:   Tue Aug 2 12:41:34 2022 -0400

linux-user: fix compat with glibc >= 2.36 sys/mount.h

That change required adding compat ioctl definitions on the
QEMU side for any ioctls that we would otherwise obtain
from linux/fs.h.  This commit adds more that were initially
missed, due to their usage being conditionalized in QEMU.

Signed-off-by: Daniel P. Berrangé 
Reviewed-by: Laurent Vivier 
Message-Id: <20221004093206.652431-2-berra...@redhat.com>
Signed-off-by: Laurent Vivier 


  Commit: ed98cdecf8dabce137f693641777503112d884b3
  
https://github.com/qemu/qemu/commit/ed98cdecf8dabce137f693641777503112d884b3
  Author: Daniel P. Berrangé 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/ioctls.h

  Log Message:
  ---
  linux-user: remove conditionals for many fs.h ioctls

These ioctls have been defined in linux/fs.h for a long time

  * BLKGETSIZE64 - <2.6.12 (linux.git epoch)
  * BLKDISCARD - 2.6.28 (d30a2605be9d5132d95944916e8f578fcfe4f976)
  * BLKIOMIN - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7)
  * BLKIOOPT - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7)
  * BLKALIGNOFF - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7)
  * 

[Qemu-commits] [qemu/qemu]

2022-10-25 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu]

2022-10-25 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu



[Qemu-commits] [qemu/qemu] eeed22: linux-user: Fix more MIPS n32 syscall ABI issues

2022-10-25 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: eeed22916b8292b12d21e46ba9d3a383d669d9ff
  
https://github.com/qemu/qemu/commit/eeed22916b8292b12d21e46ba9d3a383d669d9ff
  Author: WANG Xuerui 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: Fix more MIPS n32 syscall ABI issues

In commit 80f0fe3a85 ("linux-user: Fix syscall parameter handling for
MIPS n32") the ABI problem regarding offset64 on MIPS n32 was fixed,
but still some cases remain where the n32 is incorrectly treated as any
other 32-bit ABI that passes 64-bit arguments in pairs of GPRs. Fix by
excluding TARGET_ABI_MIPSN32 from various TARGET_ABI_BITS == 32 checks.

Closes: https://gitlab.com/qemu-project/qemu/-/issues/1238
Signed-off-by: WANG Xuerui 
Cc: Philippe Mathieu-Daudé 
Cc: Jiaxun Yang 
Cc: Andreas K. Hüttel 
Cc: Joshua Kinard 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Jiaxun Yang 
Tested-by: Jiaxun Yang 
Tested-by: Andreas K. Huettel 
Message-Id: <20221006085500.290341-1-xe...@gentoo.org>
Signed-off-by: Laurent Vivier 


  Commit: 46187d707e7639b743a3b9f72da03ad4b9abc255
  
https://github.com/qemu/qemu/commit/46187d707e7639b743a3b9f72da03ad4b9abc255
  Author: Laurent Vivier 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/strace.c
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: fix pidfd_send_signal()

According to pidfd_send_signal(2), info argument can be a NULL pointer.
Fix strace to correctly manage ending comma in parameters.

Fixes: cc054c6f13 ("linux-user: Add pidfd_open(), pidfd_send_signal() and 
pidfd_getfd() syscalls")
cc: Helge Deller 
Signed-off-by: Laurent Vivier 
Reviewed-by: Helge Deller 
Message-Id: <20221005163826.1455313-1-laur...@vivier.eu>
Signed-off-by: Laurent Vivier 


  Commit: f07eb1c4f805c0dcc14dd69fee49b601ce0b2d2c
  
https://github.com/qemu/qemu/commit/f07eb1c4f805c0dcc14dd69fee49b601ce0b2d2c
  Author: Laurent Vivier 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: handle /proc/self/exe with execve() syscall

If path is /proc/self/exe, use the executable path
provided by exec_path.

Don't use execfd as it is closed by loader_exec() and otherwise
will survive to the exec() syscall and be usable child process.

Signed-off-by: Laurent Vivier 
Message-Id: <20220927124357.688536-2-laur...@vivier.eu>
Signed-off-by: Laurent Vivier 


  Commit: 00ed8a3459869f46dbb4e18d4dcc81882dfe8776
  
https://github.com/qemu/qemu/commit/00ed8a3459869f46dbb4e18d4dcc81882dfe8776
  Author: Laurent Vivier 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: don't use AT_EXECFD in do_openat()

AT_EXECFD gives access to the binary file even if
it is not readable (only executable).

Moreover it can be opened with flags and mode that are not the ones
provided by do_openat() caller.

And it is not available because loader_exec() has closed it.

To avoid that, use only safe_openat() with the exec_path.

Signed-off-by: Laurent Vivier 
Message-Id: <20220927124357.688536-3-laur...@vivier.eu>
Signed-off-by: Laurent Vivier 


  Commit: c5495f4ecb0cdaaf2e9dddeb48f1689cdb520ca0
  
https://github.com/qemu/qemu/commit/c5495f4ecb0cdaaf2e9dddeb48f1689cdb520ca0
  Author: Daniel P. Berrangé 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/syscall.c

  Log Message:
  ---
  linux-user: add more compat ioctl definitions

GLibc changes prevent us from including linux/fs.h anymore,
and we previously adjusted to this in

  commit 3cd3df2a9584e6f753bb62a0028bd67124ab5532
  Author: Daniel P. Berrangé 
  Date:   Tue Aug 2 12:41:34 2022 -0400

linux-user: fix compat with glibc >= 2.36 sys/mount.h

That change required adding compat ioctl definitions on the
QEMU side for any ioctls that we would otherwise obtain
from linux/fs.h.  This commit adds more that were initially
missed, due to their usage being conditionalized in QEMU.

Signed-off-by: Daniel P. Berrangé 
Reviewed-by: Laurent Vivier 
Message-Id: <20221004093206.652431-2-berra...@redhat.com>
Signed-off-by: Laurent Vivier 


  Commit: ed98cdecf8dabce137f693641777503112d884b3
  
https://github.com/qemu/qemu/commit/ed98cdecf8dabce137f693641777503112d884b3
  Author: Daniel P. Berrangé 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M linux-user/ioctls.h

  Log Message:
  ---
  linux-user: remove conditionals for many fs.h ioctls

These ioctls have been defined in linux/fs.h for a long time

  * BLKGETSIZE64 - <2.6.12 (linux.git epoch)
  * BLKDISCARD - 2.6.28 (d30a2605be9d5132d95944916e8f578fcfe4f976)
  * BLKIOMIN - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7)
  * BLKIOOPT - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7)
  * BLKALIGNOFF - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7)
  * 

[Qemu-commits] [qemu/qemu] 0d4bca: target/i386: decode-new: avoid out-of-bounds acces...

2022-10-24 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 0d4bcac3cac461798d810e6df54768d9613ea794
  
https://github.com/qemu/qemu/commit/0d4bcac3cac461798d810e6df54768d9613ea794
  Author: Paolo Bonzini 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

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

  Log Message:
  ---
  target/i386: decode-new: avoid out-of-bounds access to xmm_regs[-1]

If the destination is a memory register, op->n is -1.  Going through
tcg_gen_gvec_dup_imm path is both useless (the value has been stored
by the gen_* function already) and wrong because of the out-of-bounds
access.

Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Richard Henderson 
Signed-off-by: Paolo Bonzini 


  Commit: 314d3eff66f41f39191aaca2e5f6e3dc81480c1b
  
https://github.com/qemu/qemu/commit/314d3eff66f41f39191aaca2e5f6e3dc81480c1b
  Author: Paolo Bonzini 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/i386/ops_sse.h
M target/i386/tcg/fpu_helper.c

  Log Message:
  ---
  target/i386: introduce function to set rounding mode from FPCW or MXCSR bits

VROUND, FSTCW and STMXCSR all have to perform the same conversion from
x86 rounding modes to softfloat constants.  Since the ISA is consistent
on the meaning of the two-bit rounding modes, extract the common code
into a wrapper for set_float_rounding_mode.

Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Richard Henderson 
Signed-off-by: Paolo Bonzini 


  Commit: cf5ec6641ed456e2748b211b7bbf5103bfc93098
  
https://github.com/qemu/qemu/commit/cf5ec6641ed456e2748b211b7bbf5103bfc93098
  Author: Paolo Bonzini 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/i386/cpu.c
M target/i386/cpu.h
M target/i386/ops_sse.h
M target/i386/ops_sse_header.h
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/decode-new.h
M target/i386/tcg/emit.c.inc
M tests/tcg/i386/test-avx.c
M tests/tcg/i386/test-avx.py

  Log Message:
  ---
  target/i386: implement F16C instructions

F16C only consists of two instructions, which are a bit peculiar
nevertheless.

First, they access only the low half of an YMM or XMM register for the
packed-half operand; the exact size still depends on the VEX.L flag.
This is similar to the existing avx_movx flag, but not exactly because
avx_movx is hardcoded to affect operand 2.  To this end I added a "ph"
format name; it's possible to reuse this approach for the VPMOVSX and
VPMOVZX instructions, though that would also require adding two more
formats for the low-quarter and low-eighth of an operand.

Second, VCVTPS2PH is somewhat weird because it *stores* the result of
the instruction into memory rather than loading it.

Reviewed-by: Richard Henderson 
Signed-off-by: Paolo Bonzini 


  Commit: 693869a66ed7b49f2c790d88a25fc3d0ec791e0c
  
https://github.com/qemu/qemu/commit/693869a66ed7b49f2c790d88a25fc3d0ec791e0c
  Author: Jason A. Donenfeld 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M hw/m68k/q800.c
M hw/m68k/virt.c
M include/standard-headers/asm-m68k/bootinfo-virt.h
M include/standard-headers/asm-m68k/bootinfo.h

  Log Message:
  ---
  m68k: rework BI_VIRT_RNG_SEED as BI_RNG_SEED

Following a change on the kernel side (see link), pass BI_RNG_SEED
instead of BI_VIRT_RNG_SEED. This should have no impact on
compatibility, as there will simply be no effect if it's an old kernel,
which is how things have always been. We then use this as an opportunity
to add this to q800, since now we can, which is a nice improvement.

Cc: Geert Uytterhoeven 
Cc: Laurent Vivier 
Link: https://lore.kernel.org/lkml/20220923170340.4099226-3-ja...@zx2c4.com/
Signed-off-by: Jason A. Donenfeld 
Message-Id: <20220926113900.1256630-1-ja...@zx2c4.com>
[lv: s/^I/ /g]
Signed-off-by: Laurent Vivier 


  Commit: 2872b0f390c3fbd8f19f6b82da3dca15fa820118
  
https://github.com/qemu/qemu/commit/2872b0f390c3fbd8f19f6b82da3dca15fa820118
  Author: Paolo Bonzini 
  Date:   2022-10-22 (Sat, 22 Oct 2022)

  Changed paths:
M target/i386/cpu.c
M target/i386/ops_sse.h
M target/i386/ops_sse_header.h
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/translate.c
M tests/tcg/i386/test-avx.py

  Log Message:
  ---
  target/i386: implement FMA instructions

The only issue with FMA instructions is that there are _a lot_ of them (30
opcodes, each of which comes in up to 4 versions depending on VEX.W and
VEX.L; a total of 96 possibilities).  However, they can be implement with
only 6 helpers, two for scalar operations and four for packed operations.
(Scalar versions do not do any merging; they only affect the bottom 32
or 64 bits of the output operand.  Therefore, there is no separate XMM
and YMM of the scalar helpers).

First, we can reduce the number of helpers to one third by passing four
operands (one output and three 

[Qemu-commits] [qemu/qemu] ce58c8: Merge tag 'm68k-for-7.2-pull-request' of https://g...

2022-10-24 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: ce58c8ee4d86345287a3d9f0257992c415742a6a
  
https://github.com/qemu/qemu/commit/ce58c8ee4d86345287a3d9f0257992c415742a6a
  Author: Stefan Hajnoczi 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M hw/m68k/bootinfo.h
M hw/m68k/q800.c
M hw/m68k/virt.c
M include/standard-headers/asm-m68k/bootinfo-virt.h
M include/standard-headers/asm-m68k/bootinfo.h

  Log Message:
  ---
  Merge tag 'm68k-for-7.2-pull-request' of https://github.com/vivier/qemu-m68k 
into staging

Pull request m68k branch 20221024

Update rng seed boot parameter

# -BEGIN PGP SIGNATURE-
#
# iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAmNWU7YSHGxhdXJlbnRA
# dml2aWVyLmV1AAoJEPMMOL0/L748C/kQAJHbVrDGCCfw+imsOAOqXBL3K0WpUadP
# T+lCIHpqCPsppJ2ikQlZ95ky0RZREPiRwmwJHQsgaTiVJgKDGJ3hsDuGNAyu3sn4
# C/QFVyH2E7dcrDjSNk+n1nGVw+h6gnH9G6qRYrJZHlQXN9WsaMrcofhjDdPUC9bK
# o2IexKWBs80wJ/k/O9be8hPARkdwbVYRbR3+khtcUVv7sgeoKfUmpUiliIhi1G3G
# jphHEMgWtjyK8HmTyeOujmbOO4RZGhScnCJpUnYitBmun6YWedP+DrOz5kXU5xgP
# vIJOalpPqQt+Fpe6OF5fBXwLl0QNPlLjhBP+YXe6inKWHk3RYZRYbFNz4+HZt6WY
# i5wO0pz77vzL6+7nnESS7Q9g/8ASQcUgOsswUBY2uhQoGUG8LuUl2O5SyJWGB41o
# MjNq+h7PcFD8MalLMMvf5jKIuZ0lJrkirUXbTXlGu19ynyf0lASY773cENch+ApS
# fu2De777qwYDx3CvR+K5oObiTqUTplQT9Mq+yUlD5mgJs1bCP+XPFGlL+JemgR25
# EjV5kLDY2f5i0hb7ZQ8IEL3O4siW9GoHXBBFkLY3WPO36Nd71cfhzVv2jUaoSyom
# xsFsJ/TGBapdiDj2Y5DjZQWrUIsm3TgcwATLhEyH2+Bt4hLd+yI6s1m16vVUn74O
# UgMzybUqLwk0
# =B+rc
# -END PGP SIGNATURE-
# gpg: Signature made Mon 24 Oct 2022 04:58:30 EDT
# gpg:using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:issuer "laur...@vivier.eu"
# gpg: Good signature from "Laurent Vivier " [full]
# gpg: aka "Laurent Vivier " [full]
# gpg: aka "Laurent Vivier (Red Hat) " 
[full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* tag 'm68k-for-7.2-pull-request' of https://github.com/vivier/qemu-m68k:
  m68k: write bootinfo as rom section and re-randomize on reboot
  m68k: rework BI_VIRT_RNG_SEED as BI_RNG_SEED

Signed-off-by: Stefan Hajnoczi 


  Commit: e52d57c8c53840d28c7f87a8b280980e1aa80465
  
https://github.com/qemu/qemu/commit/e52d57c8c53840d28c7f87a8b280980e1aa80465
  Author: Stefan Hajnoczi 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M target/i386/cpu.c
M target/i386/cpu.h
M target/i386/ops_sse.h
M target/i386/ops_sse_header.h
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/fpu_helper.c
M target/i386/tcg/translate.c
M tests/tcg/i386/test-avx.c
M tests/tcg/i386/test-avx.py

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

* target/i386: new decoder bugfix
* target/i386: complete x86-v3 support for TCG

# -BEGIN PGP SIGNATURE-
#
# iQFHBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmNTlqQUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroOQNQf430MHbrtN9WKKiXv3684XxmcnoRqg
# PHmaGg2SKp7UB+hI2FMYgCZWOl5s3cGTHtwX8byFCttmE4kI7HJR7IouW6znm57j
# 7QVx2TJXIZgqSYcfYzfLu46yS6pNqJUA+mBv5In3Vqt4ZQT2szefVBg6BzmuF6lT
# HXbu/llc3iVfW4SNLJOABXzKNbPacmmpmLjoporfwOHwHjv4iikuXNUOZ84FFL11
# 2tkdcff282q00IRgHm1lSyiRiqh+kAxzSDanMjOZbphBiE9gNJjLGoV5F2X63e1O
# DQGg4wqBWP68O/r8Fj8tOUMCTW212DwWyv1+d/lQB+wwpJK+P4O14dCW
# =Fd+y
# -END PGP SIGNATURE-
# gpg: Signature made Sat 22 Oct 2022 03:07:16 EDT
# gpg:using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:issuer "pbonz...@redhat.com"
# gpg: Good signature from "Paolo Bonzini " [full]
# gpg: aka "Paolo Bonzini " [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:
  target/i386: implement FMA instructions
  target/i386: implement F16C instructions
  target/i386: introduce function to set rounding mode from FPCW or MXCSR bits
  target/i386: decode-new: avoid out-of-bounds access to xmm_regs[-1]

Signed-off-by: Stefan Hajnoczi 


  Commit: e750a7ace492f0b450653d4ad368a77d6f660fb8
  
https://github.com/qemu/qemu/commit/e750a7ace492f0b450653d4ad368a77d6f660fb8
  Author: Stefan Hajnoczi 
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
M fsdev/virtfs-proxy-helper.c
M hw/9pfs/9p.c
M hw/9pfs/9p.h
M tests/qtest/libqos/meson.build
A tests/qtest/libqos/virtio-9p-client.c
A tests/qtest/libqos/virtio-9p-client.h
M tests/qtest/virtio-9p-test.c

  Log Message:
  ---
  Merge tag 'pull-9p-20221024' of https://github.com/cschoenebeck/qemu into 
staging

9pfs: performance, Windows host prep, tests restructure

* Highlight of this PR is Linus Heckemann's GHashTable patch which
  brings massive general performance improvements of 9p 

[Qemu-commits] [qemu/qemu] 0d4bca: target/i386: decode-new: avoid out-of-bounds acces...

2022-10-24 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 0d4bcac3cac461798d810e6df54768d9613ea794
  
https://github.com/qemu/qemu/commit/0d4bcac3cac461798d810e6df54768d9613ea794
  Author: Paolo Bonzini 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

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

  Log Message:
  ---
  target/i386: decode-new: avoid out-of-bounds access to xmm_regs[-1]

If the destination is a memory register, op->n is -1.  Going through
tcg_gen_gvec_dup_imm path is both useless (the value has been stored
by the gen_* function already) and wrong because of the out-of-bounds
access.

Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Richard Henderson 
Signed-off-by: Paolo Bonzini 


  Commit: 314d3eff66f41f39191aaca2e5f6e3dc81480c1b
  
https://github.com/qemu/qemu/commit/314d3eff66f41f39191aaca2e5f6e3dc81480c1b
  Author: Paolo Bonzini 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/i386/ops_sse.h
M target/i386/tcg/fpu_helper.c

  Log Message:
  ---
  target/i386: introduce function to set rounding mode from FPCW or MXCSR bits

VROUND, FSTCW and STMXCSR all have to perform the same conversion from
x86 rounding modes to softfloat constants.  Since the ISA is consistent
on the meaning of the two-bit rounding modes, extract the common code
into a wrapper for set_float_rounding_mode.

Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: Richard Henderson 
Signed-off-by: Paolo Bonzini 


  Commit: cf5ec6641ed456e2748b211b7bbf5103bfc93098
  
https://github.com/qemu/qemu/commit/cf5ec6641ed456e2748b211b7bbf5103bfc93098
  Author: Paolo Bonzini 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/i386/cpu.c
M target/i386/cpu.h
M target/i386/ops_sse.h
M target/i386/ops_sse_header.h
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/decode-new.h
M target/i386/tcg/emit.c.inc
M tests/tcg/i386/test-avx.c
M tests/tcg/i386/test-avx.py

  Log Message:
  ---
  target/i386: implement F16C instructions

F16C only consists of two instructions, which are a bit peculiar
nevertheless.

First, they access only the low half of an YMM or XMM register for the
packed-half operand; the exact size still depends on the VEX.L flag.
This is similar to the existing avx_movx flag, but not exactly because
avx_movx is hardcoded to affect operand 2.  To this end I added a "ph"
format name; it's possible to reuse this approach for the VPMOVSX and
VPMOVZX instructions, though that would also require adding two more
formats for the low-quarter and low-eighth of an operand.

Second, VCVTPS2PH is somewhat weird because it *stores* the result of
the instruction into memory rather than loading it.

Reviewed-by: Richard Henderson 
Signed-off-by: Paolo Bonzini 


  Commit: 6d28f75b3ab3631bb30ee1fbd670d0c9fc07f0fb
  
https://github.com/qemu/qemu/commit/6d28f75b3ab3631bb30ee1fbd670d0c9fc07f0fb
  Author: Janosch Frank 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M dump/dump.c
M include/sysemu/dump.h

  Log Message:
  ---
  dump: Use a buffer for ELF section data and headers

Currently we're writing the NULL section header if we overflow the
physical header number in the ELF header. But in the future we'll add
custom section headers AND section data.

To facilitate this we need to rearange section handling a bit. As with
the other ELF headers we split the code into a prepare and a write
step.

Signed-off-by: Janosch Frank 
Reviewed-by: Marc-André Lureau 
Message-Id: <20221017083822.43118-2-fran...@linux.ibm.com>


  Commit: d8fbbe6ae03324f3c1490b2a232b75a68f544b6c
  
https://github.com/qemu/qemu/commit/d8fbbe6ae03324f3c1490b2a232b75a68f544b6c
  Author: Janosch Frank 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M dump/dump.c

  Log Message:
  ---
  dump: Write ELF section headers right after ELF header

Let's start bundling the writes of the headers and of the data so we
have a clear ordering between them. Since the ELF header uses offsets
to the headers we can freely order them.

Signed-off-by: Janosch Frank 
Reviewed-by: Marc-André Lureau 
Message-Id: <20221017083822.43118-3-fran...@linux.ibm.com>


  Commit: 897e271ac67ee460cf18cc09cdf8f592c08ec84d
  
https://github.com/qemu/qemu/commit/897e271ac67ee460cf18cc09cdf8f592c08ec84d
  Author: Janosch Frank 
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
M include/sysemu/dump.h

  Log Message:
  ---
  dump: Reorder struct DumpState

Let's move ELF related members into one block and guest memory related
ones into another to improve readability.

Signed-off-by: Janosch Frank 
Reviewed-by: Richard Henderson 
Reviewed-by: Marc-André Lureau 
Message-Id: <20221017083822.43118-4-fran...@linux.ibm.com>


  Commit: 164bd6a9054b2b932d790c665902da789cb7e631
  
https://github.com/qemu/qemu/commit/164bd6a9054b2b932d790c665902da789cb7e631
  Author: Janosch Frank 
  Date:   2022-10-21 

[Qemu-commits] [qemu/qemu] 31cb76: hw/char/pl011: fix baud rate calculation

2022-10-20 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 31cb769c317e0623cbe2a3e8da437b6cd7ddef9b
  
https://github.com/qemu/qemu/commit/31cb769c317e0623cbe2a3e8da437b6cd7ddef9b
  Author: Baruch Siach 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M hw/char/pl011.c

  Log Message:
  ---
  hw/char/pl011: fix baud rate calculation

The PL011 TRM says that "UARTIBRD = 0 is invalid and UARTFBRD is ignored
when this is the case". But the code looks at FBRD for the invalid case.
Fix this.

Signed-off-by: Baruch Siach 
Message-id: 
1408f62a2e45665816527d4845ffde650957d5ab.1665051588.git.baruch...@neureality.ai
Reviewed-by: Peter Maydell 
Signed-off-by: Peter Maydell 


  Commit: 947692e708bc61ca724429b5198f0b0f5f68102d
  
https://github.com/qemu/qemu/commit/947692e708bc61ca724429b5198f0b0f5f68102d
  Author: Alex Bennée 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/arm/cpu_tcg.c

  Log Message:
  ---
  target/arm: update the cortex-a15 MIDR to latest rev

QEMU doesn't model micro-architectural details which includes most
chip errata. The ARM_ERRATA_798181 work around in the Linux
kernel (see erratum_a15_798181_init) currently detects QEMU's
cortex-a15 as broken and triggers additional expensive TLB flushes as
a result.

Change the MIDR to report what the latest silicon would (r4p0). We
explicitly set the IMPDEF revidr bits to 0 because we don't need to
set anything other than the silicon revision to indicate these flushes
are not needed. This cuts about 5s from my Debian kernel boot with the
latest 6.0rc1 kernel (29s->24s).

Signed-off-by: Alex Bennée 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Anders Roxell 
Message-id: 20221010153225.506394-1-alex.ben...@linaro.org
Cc: Arnd Bergmann 
Cc: Anders Roxell 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Anders Roxell 
Message-Id: <20220906172257.2776521-1-alex.ben...@linaro.org>
Signed-off-by: Peter Maydell 


  Commit: 24d18d5d7e31462b7bd5bb2c6ee19856699e34ed
  
https://github.com/qemu/qemu/commit/24d18d5d7e31462b7bd5bb2c6ee19856699e34ed
  Author: Richard Henderson 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/arm/cpu-param.h
M target/arm/tlb_helper.c

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

Copy attrs and shareability, into the TLB.  This will eventually
be used by S1_ptw_translate to report stage1 translation failures,
and by do_ats_write to fill in PAR_EL1.

Reviewed-by: Peter Maydell 
Signed-off-by: Richard Henderson 
Message-id: 20221011031911.2408754-2-richard.hender...@linaro.org
Signed-off-by: Peter Maydell 


  Commit: b8967ddf393aaf35fdbc07b4cb538a40f8b6fe37
  
https://github.com/qemu/qemu/commit/b8967ddf393aaf35fdbc07b4cb538a40f8b6fe37
  Author: Richard Henderson 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/arm/cpu.h
M target/arm/mte_helper.c
M target/arm/sve_helper.c
M target/arm/sve_ldst_internal.h
M target/arm/tlb_helper.c

  Log Message:
  ---
  target/arm: Use probe_access_full for MTE

The CPUTLBEntryFull structure now stores the original pte attributes, as
well as the physical address.  Therefore, we no longer need a separate
bit in MemTxAttrs, nor do we need to walk the tree of memory regions.

Reviewed-by: Peter Maydell 
Signed-off-by: Richard Henderson 
Message-id: 20221011031911.2408754-3-richard.hender...@linaro.org
Signed-off-by: Peter Maydell 


  Commit: 937f2245596de9026ca8ae017ef47889523c4326
  
https://github.com/qemu/qemu/commit/937f2245596de9026ca8ae017ef47889523c4326
  Author: Richard Henderson 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/arm/cpu-param.h
M target/arm/cpu.h
M target/arm/internals.h
M target/arm/ptw.c
M target/arm/translate-a64.c

  Log Message:
  ---
  target/arm: Use probe_access_full for BTI

Add a field to TARGET_PAGE_ENTRY_EXTRA to hold the guarded bit.
In is_guarded_page, use probe_access_full instead of just guessing
that the tlb entry is still present.  Also handles the FIXME about
executing from device memory.

Reviewed-by: Peter Maydell 
Signed-off-by: Richard Henderson 
Message-id: 20221011031911.2408754-4-richard.hender...@linaro.org
Signed-off-by: Peter Maydell 


  Commit: a1ce3084c572e39d588a7978002d83fee01edd60
  
https://github.com/qemu/qemu/commit/a1ce3084c572e39d588a7978002d83fee01edd60
  Author: Richard Henderson 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/arm/cpu-param.h
M target/arm/cpu.h
M target/arm/ptw.c

  Log Message:
  ---
  target/arm: Add ARMMMUIdx_Phys_{S,NS}

Not yet used, but add mmu indexes for 1-1 mapping
to physical addresses.

Reviewed-by: Peter Maydell 
Signed-off-by: Richard Henderson 
Message-id: 20221011031911.2408754-5-richard.hender...@linaro.org
Signed-off-by: Peter Maydell 


  Commit: 575a94af3c113157cf749364a921336ddd346e9a
  

[Qemu-commits] [qemu/qemu] 31cb76: hw/char/pl011: fix baud rate calculation

2022-10-20 Thread Paolo Bonzini via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 31cb769c317e0623cbe2a3e8da437b6cd7ddef9b
  
https://github.com/qemu/qemu/commit/31cb769c317e0623cbe2a3e8da437b6cd7ddef9b
  Author: Baruch Siach 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M hw/char/pl011.c

  Log Message:
  ---
  hw/char/pl011: fix baud rate calculation

The PL011 TRM says that "UARTIBRD = 0 is invalid and UARTFBRD is ignored
when this is the case". But the code looks at FBRD for the invalid case.
Fix this.

Signed-off-by: Baruch Siach 
Message-id: 
1408f62a2e45665816527d4845ffde650957d5ab.1665051588.git.baruch...@neureality.ai
Reviewed-by: Peter Maydell 
Signed-off-by: Peter Maydell 


  Commit: 947692e708bc61ca724429b5198f0b0f5f68102d
  
https://github.com/qemu/qemu/commit/947692e708bc61ca724429b5198f0b0f5f68102d
  Author: Alex Bennée 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/arm/cpu_tcg.c

  Log Message:
  ---
  target/arm: update the cortex-a15 MIDR to latest rev

QEMU doesn't model micro-architectural details which includes most
chip errata. The ARM_ERRATA_798181 work around in the Linux
kernel (see erratum_a15_798181_init) currently detects QEMU's
cortex-a15 as broken and triggers additional expensive TLB flushes as
a result.

Change the MIDR to report what the latest silicon would (r4p0). We
explicitly set the IMPDEF revidr bits to 0 because we don't need to
set anything other than the silicon revision to indicate these flushes
are not needed. This cuts about 5s from my Debian kernel boot with the
latest 6.0rc1 kernel (29s->24s).

Signed-off-by: Alex Bennée 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Anders Roxell 
Message-id: 20221010153225.506394-1-alex.ben...@linaro.org
Cc: Arnd Bergmann 
Cc: Anders Roxell 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Anders Roxell 
Message-Id: <20220906172257.2776521-1-alex.ben...@linaro.org>
Signed-off-by: Peter Maydell 


  Commit: 24d18d5d7e31462b7bd5bb2c6ee19856699e34ed
  
https://github.com/qemu/qemu/commit/24d18d5d7e31462b7bd5bb2c6ee19856699e34ed
  Author: Richard Henderson 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/arm/cpu-param.h
M target/arm/tlb_helper.c

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

Copy attrs and shareability, into the TLB.  This will eventually
be used by S1_ptw_translate to report stage1 translation failures,
and by do_ats_write to fill in PAR_EL1.

Reviewed-by: Peter Maydell 
Signed-off-by: Richard Henderson 
Message-id: 20221011031911.2408754-2-richard.hender...@linaro.org
Signed-off-by: Peter Maydell 


  Commit: b8967ddf393aaf35fdbc07b4cb538a40f8b6fe37
  
https://github.com/qemu/qemu/commit/b8967ddf393aaf35fdbc07b4cb538a40f8b6fe37
  Author: Richard Henderson 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/arm/cpu.h
M target/arm/mte_helper.c
M target/arm/sve_helper.c
M target/arm/sve_ldst_internal.h
M target/arm/tlb_helper.c

  Log Message:
  ---
  target/arm: Use probe_access_full for MTE

The CPUTLBEntryFull structure now stores the original pte attributes, as
well as the physical address.  Therefore, we no longer need a separate
bit in MemTxAttrs, nor do we need to walk the tree of memory regions.

Reviewed-by: Peter Maydell 
Signed-off-by: Richard Henderson 
Message-id: 20221011031911.2408754-3-richard.hender...@linaro.org
Signed-off-by: Peter Maydell 


  Commit: 937f2245596de9026ca8ae017ef47889523c4326
  
https://github.com/qemu/qemu/commit/937f2245596de9026ca8ae017ef47889523c4326
  Author: Richard Henderson 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/arm/cpu-param.h
M target/arm/cpu.h
M target/arm/internals.h
M target/arm/ptw.c
M target/arm/translate-a64.c

  Log Message:
  ---
  target/arm: Use probe_access_full for BTI

Add a field to TARGET_PAGE_ENTRY_EXTRA to hold the guarded bit.
In is_guarded_page, use probe_access_full instead of just guessing
that the tlb entry is still present.  Also handles the FIXME about
executing from device memory.

Reviewed-by: Peter Maydell 
Signed-off-by: Richard Henderson 
Message-id: 20221011031911.2408754-4-richard.hender...@linaro.org
Signed-off-by: Peter Maydell 


  Commit: a1ce3084c572e39d588a7978002d83fee01edd60
  
https://github.com/qemu/qemu/commit/a1ce3084c572e39d588a7978002d83fee01edd60
  Author: Richard Henderson 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M target/arm/cpu-param.h
M target/arm/cpu.h
M target/arm/ptw.c

  Log Message:
  ---
  target/arm: Add ARMMMUIdx_Phys_{S,NS}

Not yet used, but add mmu indexes for 1-1 mapping
to physical addresses.

Reviewed-by: Peter Maydell 
Signed-off-by: Richard Henderson 
Message-id: 20221011031911.2408754-5-richard.hender...@linaro.org
Signed-off-by: Peter Maydell 


  Commit: 575a94af3c113157cf749364a921336ddd346e9a
  

  1   2   3   >