Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: b67e353863deec6b7fbbc728773180a8533e9e48
https://github.com/qemu/qemu/commit/b67e353863deec6b7fbbc728773180a8533e9e48
Author: Denis V. Lunev via <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M block/file-posix.c
Log Message:
-----------
block: drop force_dup parameter of raw_reconfigure_getfd()
Since commit 72373e40fbc, this parameter is always passed as 'false'
from the caller.
Signed-off-by: Denis V. Lunev <[email protected]>
CC: Andrey Zhadchenko <[email protected]>
CC: Kevin Wolf <[email protected]>
CC: Hanna Reitz <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Kevin Wolf <[email protected]>
Signed-off-by: Kevin Wolf <[email protected]>
Commit: 719c6819ed9a9838520fa732f9861918dc693bda
https://github.com/qemu/qemu/commit/719c6819ed9a9838520fa732f9861918dc693bda
Author: Stefan Hajnoczi <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M qapi/qmp-dispatch.c
Log Message:
-----------
Revert "monitor: use aio_co_reschedule_self()"
Commit 1f25c172f837 ("monitor: use aio_co_reschedule_self()") was a code
cleanup that uses aio_co_reschedule_self() instead of open coding
coroutine rescheduling.
Bug RHEL-34618 was reported and Kevin Wolf <[email protected]> identified
the root cause. I missed that aio_co_reschedule_self() ->
qemu_get_current_aio_context() only knows about
qemu_aio_context/IOThread AioContexts and not about iohandler_ctx. It
does not function correctly when going back from the iohandler_ctx to
qemu_aio_context.
Go back to open coding the AioContext transitions to avoid this bug.
This reverts commit 1f25c172f83704e350c0829438d832384084a74d.
Cc: [email protected]
Buglink: https://issues.redhat.com/browse/RHEL-34618
Signed-off-by: Stefan Hajnoczi <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Kevin Wolf <[email protected]>
Signed-off-by: Kevin Wolf <[email protected]>
Commit: e669e800fc9ef8806af5c5578249ab758a4f8a5a
https://github.com/qemu/qemu/commit/e669e800fc9ef8806af5c5578249ab758a4f8a5a
Author: Stefan Hajnoczi <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M include/block/aio.h
Log Message:
-----------
aio: warn about iohandler_ctx special casing
The main loop has two AioContexts: qemu_aio_context and iohandler_ctx.
The main loop runs them both, but nested aio_poll() calls on
qemu_aio_context exclude iohandler_ctx.
Which one should qemu_get_current_aio_context() return when called from
the main loop? Document that it's always qemu_aio_context.
This has subtle effects on functions that use
qemu_get_current_aio_context(). For example, aio_co_reschedule_self()
does not work when moving from iohandler_ctx to qemu_aio_context because
qemu_get_current_aio_context() does not differentiate these two
AioContexts.
Document this in order to reduce the chance of future bugs.
Signed-off-by: Stefan Hajnoczi <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Kevin Wolf <[email protected]>
Signed-off-by: Kevin Wolf <[email protected]>
Commit: 365911b182017f05122b88a574477ff945ae91ab
https://github.com/qemu/qemu/commit/365911b182017f05122b88a574477ff945ae91ab
Author: Stefan Hajnoczi <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M qemu-io-cmds.c
Log Message:
-----------
qemu-io: add cvtnum() error handling for zone commands
cvtnum() parses positive int64_t values and returns a negative errno on
failure. Print errors and return early when cvtnum() fails.
While we're at it, also reject nr_zones values greater or equal to 2^32
since they cannot be represented.
Reported-by: Peter Maydell <[email protected]>
Cc: Sam Li <[email protected]>
Signed-off-by: Stefan Hajnoczi <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Sam Li <[email protected]>
Reviewed-by: Kevin Wolf <[email protected]>
Signed-off-by: Kevin Wolf <[email protected]>
Commit: 10b1e09ed3c40baf9fe074e0c70a7a3b783839ff
https://github.com/qemu/qemu/commit/10b1e09ed3c40baf9fe074e0c70a7a3b783839ff
Author: Fiona Ebner <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M block/copy-before-write.c
Log Message:
-----------
block/copy-before-write: use uint64_t for timeout in nanoseconds
rather than the uint32_t for which the maximum is slightly more than 4
seconds and larger values would overflow. The QAPI interface allows
specifying the number of seconds, so only values 0 to 4 are safe right
now, other values lead to a much lower timeout than a user expects.
The block_copy() call where this is used already takes a uint64_t for
the timeout, so no change required there.
Fixes: 6db7fd1ca9 ("block/copy-before-write: implement cbw-timeout option")
Reported-by: Friedrich Weber <[email protected]>
Signed-off-by: Fiona Ebner <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Reviewed-by: Kevin Wolf <[email protected]>
Signed-off-by: Kevin Wolf <[email protected]>
Commit: 24687abf237e3c15816d689a8e4b08d7c3190dcb
https://github.com/qemu/qemu/commit/24687abf237e3c15816d689a8e4b08d7c3190dcb
Author: Prasad Pandit <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M block/file-posix.c
M block/linux-aio.c
M include/block/raw-aio.h
Log Message:
-----------
linux-aio: add IO_CMD_FDSYNC command support
Libaio defines IO_CMD_FDSYNC command to sync all outstanding
asynchronous I/O operations, by flushing out file data to the
disk storage. Enable linux-aio to submit such aio request.
When using aio=native without fdsync() support, QEMU creates
pthreads, and destroying these pthreads results in TLB flushes.
In a real-time guest environment, TLB flushes cause a latency
spike. This patch helps to avoid such spikes.
Reviewed-by: Stefan Hajnoczi <[email protected]>
Signed-off-by: Prasad Pandit <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Kevin Wolf <[email protected]>
Signed-off-by: Kevin Wolf <[email protected]>
Commit: af206c284e4c1b17cdfb0f17e898b288c0fc1751
https://github.com/qemu/qemu/commit/af206c284e4c1b17cdfb0f17e898b288c0fc1751
Author: Stefan Hajnoczi <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M crypto/block-luks.c
M crypto/block-qcow.c
M crypto/block.c
M crypto/blockpriv.h
Log Message:
-----------
block/crypto: create ciphers on demand
Ciphers are pre-allocated by qcrypto_block_init_cipher() depending on
the given number of threads. The -device
virtio-blk-pci,iothread-vq-mapping= feature allows users to assign
multiple IOThreads to a virtio-blk device, but the association between
the virtio-blk device and the block driver happens after the block
driver is already open.
When the number of threads given to qcrypto_block_init_cipher() is
smaller than the actual number of threads at runtime, the
block->n_free_ciphers > 0 assertion in qcrypto_block_pop_cipher() can
fail.
Get rid of qcrypto_block_init_cipher() n_thread's argument and allocate
ciphers on demand.
Reported-by: Qing Wang <[email protected]>
Buglink: https://issues.redhat.com/browse/RHEL-36159
Signed-off-by: Stefan Hajnoczi <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Kevin Wolf <[email protected]>
Acked-by: Daniel P. Berrangé <[email protected]>
Signed-off-by: Kevin Wolf <[email protected]>
Commit: 3ab0f063e58ed9224237d69c4211ca83335164c4
https://github.com/qemu/qemu/commit/3ab0f063e58ed9224237d69c4211ca83335164c4
Author: Stefan Hajnoczi <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M block/crypto.c
M block/qcow.c
M block/qcow2.c
M crypto/block-luks.c
M crypto/block-qcow.c
M crypto/block.c
M crypto/blockpriv.h
M include/crypto/block.h
M tests/unit/test-crypto-block.c
Log Message:
-----------
crypto/block: drop qcrypto_block_open() n_threads argument
The n_threads argument is no longer used since the previous commit.
Remove it.
Signed-off-by: Stefan Hajnoczi <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Kevin Wolf <[email protected]>
Acked-by: Daniel P. Berrangé <[email protected]>
Signed-off-by: Kevin Wolf <[email protected]>
Commit: 0e2b9edfb6126fd9ce235a1b34ba20bbeb2547ae
https://github.com/qemu/qemu/commit/0e2b9edfb6126fd9ce235a1b34ba20bbeb2547ae
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M meson.build
M scripts/tracetool/__init__.py
R scripts/tracetool/vcpu.py
Log Message:
-----------
tracetool: Remove unused vcpu.py script
vcpu.py is pointless since commit 89aafcf2a7 ("trace:
remove code that depends on setting vcpu"), remote it.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Reviewed-by: Zhao Liu <[email protected]>
Message-id: [email protected]
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: b4912afa5f9fc87afd82950965941e31f3b2b06c
https://github.com/qemu/qemu/commit/b4912afa5f9fc87afd82950965941e31f3b2b06c
Author: Hyman Huang <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M hw/core/machine.c
M hw/scsi/scsi-disk.c
Log Message:
-----------
scsi-disk: Fix crash for VM configured with USB CDROM after live migration
For VMs configured with the USB CDROM device:
-drive file=/path/to/local/file,id=drive-usb-disk0,media=cdrom,readonly=on...
-device usb-storage,drive=drive-usb-disk0,id=usb-disk0...
QEMU process may crash after live migration, to reproduce the issue,
configure VM (Guest OS ubuntu 20.04 or 21.10) with the following XML:
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/path/to/share_fs/cdrom.iso'/>
<target dev='sda' bus='usb'/>
<readonly/>
<address type='usb' bus='0' port='2'/>
</disk>
<controller type='usb' index='0' model='piix3-uhci'/>
Do the live migration repeatedly, crash may happen after live migratoin,
trace log at the source before live migration is as follows:
[email protected]:usb_uhci_frame_start nr 319
[email protected]:usb_uhci_qh_load qh 0x35cb5400
[email protected]:usb_uhci_qh_load qh 0x35cb5480
[email protected]:usb_uhci_td_load qh 0x35cb5480, td 0x35cbe000, ctrl
0x0, token 0xffe07f69
[email protected]:usb_uhci_td_nextqh qh 0x35cb5480, td 0x35cbe000
[email protected]:usb_uhci_qh_load qh 0x35cb5680
[email protected]:usb_uhci_td_load qh 0x35cb5680, td 0x75ac5180, ctrl
0x19800000, token 0x3c903e1
[email protected]:usb_uhci_packet_add token 0x103e1, td 0x75ac5180
[email protected]:usb_packet_state_change bus 0, port 2, ep 2, packet
0x559f9ba14b00, state undef -> setup
[email protected]:usb_msd_cmd_submit lun 0, tag 0x472, flags 0x00000080,
len 10, data-len 8
[email protected]:scsi_req_parsed target 0 lun 0 tag 1138 command 74 dir
1 length 8
[email protected]:scsi_req_parsed_lba target 0 lun 0 tag 1138 command 74
lba 4096
[email protected]:scsi_req_alloc target 0 lun 0 tag 1138
[email protected]:scsi_req_continue target 0 lun 0 tag 1138
[email protected]:scsi_req_data target 0 lun 0 tag 1138 len 8
[email protected]:usb_packet_state_change bus 0, port 2, ep 2, packet
0x559f9ba14b00, state setup -> complete
[email protected]:usb_uhci_packet_complete_success token 0x103e1, td
0x75ac5180
[email protected]:usb_uhci_packet_del token 0x103e1, td 0x75ac5180
[email protected]:usb_uhci_td_complete qh 0x35cb5680, td 0x75ac5180
trace log at the destination after live migration is as follows:
[email protected]:usb_uhci_frame_start nr 320
[email protected]:usb_uhci_qh_load qh 0x35cb5100
[email protected]:usb_uhci_qh_load qh 0x35cb5480
[email protected]:usb_uhci_td_load qh 0x35cb5480, td 0x35cbe000, ctrl
0x1000000, token 0xffe07f69
[email protected]:usb_uhci_td_nextqh qh 0x35cb5480, td 0x35cbe000
[email protected]:usb_uhci_qh_load qh 0x35cb5700
[email protected]:usb_uhci_td_load qh 0x35cb5700, td 0x75ac5240, ctrl
0x39800000, token 0xe08369
[email protected]:usb_uhci_queue_add token 0x8369
[email protected]:usb_uhci_packet_add token 0x8369, td 0x75ac5240
[email protected]:usb_packet_state_change bus 0, port 2, ep 1, packet
0x56066b2fb5a0, state undef -> setup
[email protected]:usb_msd_data_in 8/8 (scsi 8)
2024-04-01 12:00:24.665+0000: shutting down, reason=crashed
The backtrace reveals the following:
Program terminated with signal SIGSEGV, Segmentation fault.
0 __memmove_sse2_unaligned_erms () at
../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:312
312 movq -8(%rsi,%rdx), %rcx
[Current thread is 1 (Thread 0x7f0a9025fc00 (LWP 3286206))]
(gdb) bt
0 __memmove_sse2_unaligned_erms () at
../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:312
1 memcpy (__len=8, __src=<optimized out>, __dest=<optimized out>) at
/usr/include/bits/string_fortified.h:34
2 iov_from_buf_full (iov=<optimized out>, iov_cnt=<optimized out>,
offset=<optimized out>, buf=0x0, bytes=bytes@entry=8) at ../util/iov.c:33
3 iov_from_buf (bytes=8, buf=<optimized out>, offset=<optimized out>,
iov_cnt=<optimized out>, iov=<optimized out>)
at
/usr/src/debug/qemu-6-6.2.0-75.7.oe1.smartx.git.40.x86_64/include/qemu/iov.h:49
4 usb_packet_copy (p=p@entry=0x56066b2fb5a0, ptr=<optimized out>,
bytes=bytes@entry=8) at ../hw/usb/core.c:636
5 usb_msd_copy_data (s=s@entry=0x56066c62c770, p=p@entry=0x56066b2fb5a0) at
../hw/usb/dev-storage.c:186
6 usb_msd_handle_data (dev=0x56066c62c770, p=0x56066b2fb5a0) at
../hw/usb/dev-storage.c:496
7 usb_handle_packet (dev=0x56066c62c770, p=p@entry=0x56066b2fb5a0) at
../hw/usb/core.c:455
8 uhci_handle_td (s=s@entry=0x56066bd5f210, q=0x56066bb7fbd0, q@entry=0x0,
qh_addr=qh_addr@entry=902518530, td=td@entry=0x7fffe6e788f0, td_addr=<optimized
out>,
int_mask=int_mask@entry=0x7fffe6e788e4) at ../hw/usb/hcd-uhci.c:885
9 uhci_process_frame (s=s@entry=0x56066bd5f210) at ../hw/usb/hcd-uhci.c:1061
10 uhci_frame_timer (opaque=opaque@entry=0x56066bd5f210) at
../hw/usb/hcd-uhci.c:1159
11 timerlist_run_timers (timer_list=0x56066af26bd0) at ../util/qemu-timer.c:642
12 qemu_clock_run_timers (type=QEMU_CLOCK_VIRTUAL) at ../util/qemu-timer.c:656
13 qemu_clock_run_all_timers () at ../util/qemu-timer.c:738
14 main_loop_wait (nonblocking=nonblocking@entry=0) at ../util/main-loop.c:542
15 qemu_main_loop () at ../softmmu/runstate.c:739
16 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at
../softmmu/main.c:52
(gdb) frame 5
(gdb) p ((SCSIDiskReq *)s->req)->iov
$1 = {iov_base = 0x0, iov_len = 0}
(gdb) p/x s->req->tag
$2 = 0x472
When designing the USB mass storage device model, QEMU places SCSI disk
device as the backend of USB mass storage device. In addition, USB mass
device driver in Guest OS conforms to the "Universal Serial Bus Mass
Storage Class Bulk-Only Transport" specification in order to simulate
the transform behavior between a USB controller and a USB mass device.
The following shows the protocol hierarchy:
+----------------+
CDROM driver | scsi command | CDROM
+----------------+
+-----------------------+
USB mass | USB Mass Storage Class| USB mass
storage driver | Bulk-Only Transport | storage device
+-----------------------+
+----------------+
USB Controller | USB Protocol | USB device
+----------------+
In the USB protocol layer, between the USB controller and USB device, at
least two USB packets will be transformed when guest OS send a
read operation to USB mass storage device:
1. The CBW packet, which will be delivered to the USB device's Bulk-Out
endpoint. In order to simulate a read operation, the USB mass storage
device parses the CBW and converts it to a SCSI command, which would be
executed by CDROM(represented as SCSI disk in QEMU internally), and store
the result data of the SCSI command in a buffer.
2. The DATA-IN packet, which will be delivered from the USB device's
Bulk-In endpoint(fetched directly from the preceding buffer) to the USB
controller.
We consider UHCI to be the controller. The two packets mentioned above may
have been processed by UHCI in two separate frame entries of the Frame List
, and also described by two different TDs. Unlike the physical environment,
a virtualized environment requires the QEMU to make sure that the result
data of CBW is not lost and is delivered to the UHCI controller.
Currently, these types of SCSI requests are not migrated, so QEMU cannot
ensure the result data of the IO operation is not lost if there are
inflight emulated SCSI requests during the live migration.
Assume for the moment that the USB mass storage device is processing the
CBW and storing the result data of the read operation to a buffre, live
migration happens and moves the VM to the destination while not migrating
the result data of the read operation.
After migration, when UHCI at the destination issues a DATA-IN request to
the USB mass storage device, a crash happens because USB mass storage device
fetches the result data and get nothing.
The scenario this patch addresses is this one.
Theoretically, any device that uses the SCSI disk as a back-end would be
affected by this issue. In this case, it is the USB CDROM.
To fix it, inflight emulated SCSI request be migrated during live migration,
similar to the DMA SCSI request.
Signed-off-by: Hyman Huang <[email protected]>
Message-ID:
<878c8f093f3fc2f584b5c31cb2490d9f6a12131a.1716531409.git.yong.hu...@smartx.com>
[Do not bump migration version, introduce compat property instead. - Paolo]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 7682ecd48d6c177667e02a64b4287d7f31c27bd8
https://github.com/qemu/qemu/commit/7682ecd48d6c177667e02a64b4287d7f31c27bd8
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M backends/tpm/tpm_util.c
M backends/tpm/trace-events
Log Message:
-----------
backends/tpm: Remove newline character in trace event
Split the 'tpm_util_show_buffer' event in two to avoid
using a newline character.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Acked-by: Mads Ynddal <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Reviewed-by: Stefan Berger <[email protected]>
Message-id: [email protected]
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: 769244f9fcd12d91c56db1ad9f318f5bb28e4907
https://github.com/qemu/qemu/commit/769244f9fcd12d91c56db1ad9f318f5bb28e4907
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M hw/sh4/trace-events
Log Message:
-----------
hw/sh4: Remove newline character in trace events
Trace events aren't designed to be multi-lines. Remove
the newline character which doesn't bring much value.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Acked-by: Mads Ynddal <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Message-id: [email protected]
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: ce3d01da898ad73509c0d5a851d775670fb7ba1e
https://github.com/qemu/qemu/commit/ce3d01da898ad73509c0d5a851d775670fb7ba1e
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M hw/usb/trace-events
Log Message:
-----------
hw/usb: Remove newline character in trace events
Trace events aren't designed to be multi-lines.
Remove the newline characters.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Acked-by: Mads Ynddal <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Message-id: [email protected]
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: 956f63f87826fcd96d256bdbca17d31b060940e0
https://github.com/qemu/qemu/commit/956f63f87826fcd96d256bdbca17d31b060940e0
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M hw/vfio/trace-events
Log Message:
-----------
hw/vfio: Remove newline character in trace events
Trace events aren't designed to be multi-lines.
Remove the newline characters.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Acked-by: Mads Ynddal <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Message-id: [email protected]
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: 4c2b6f328742084a5bd770af7c3a2ef07828c41c
https://github.com/qemu/qemu/commit/4c2b6f328742084a5bd770af7c3a2ef07828c41c
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M scripts/tracetool/__init__.py
Log Message:
-----------
tracetool: Forbid newline character in event format
Events aren't designed to be multi-lines. Multiple events
can be used instead. Prevent that format using multi-lines
by forbidding the newline character.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Acked-by: Mads Ynddal <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Message-id: [email protected]
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: 903916f0a017fe4b7789f1c6c6982333a5a71876
https://github.com/qemu/qemu/commit/903916f0a017fe4b7789f1c6c6982333a5a71876
Author: Chuang Xu <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/cpu.c
Log Message:
-----------
i386/cpu: fixup number of addressable IDs for processor cores in the physical
package
When QEMU is started with:
-cpu host,host-cache-info=on,l3-cache=off \
-smp 2,sockets=1,dies=1,cores=1,threads=2
Guest can't acquire maximum number of addressable IDs for processor cores in
the physical package from CPUID[04H].
When creating a CPU topology of 1 core per package, host-cache-info only
uses the Host's addressable core IDs field (CPUID.04H.EAX[bits 31-26]),
resulting in a conflict (on the multicore Host) between the Guest core
topology information in this field and the Guest's actual cores number.
Fix it by removing the unnecessary condition to cover 1 core per package
case. This is safe because cores_per_pkg will not be 0 and will be at
least 1.
Fixes: d7caf13b5fcf ("x86: cpu: fixup number of addressable IDs for logical
processors sharing cache")
Signed-off-by: Guixiong Wei <[email protected]>
Signed-off-by: Yipeng Yin <[email protected]>
Signed-off-by: Chuang Xu <[email protected]>
Reviewed-by: Zhao Liu <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: c94eb5db8e409c932da9eb187e68d4cdc14acc5b
https://github.com/qemu/qemu/commit/c94eb5db8e409c932da9eb187e68d4cdc14acc5b
Author: Pankaj Gupta <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/sev.c
Log Message:
-----------
i386/sev: fix unreachable code coverity issue
Set 'finish->id_block_en' early, so that it is properly reset.
Fixes coverity CID 1546887.
Fixes: 7b34df4426 ("i386/sev: Introduce 'sev-snp-guest' object")
Signed-off-by: Pankaj Gupta <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 48779faef3c8e2fe70bd8285bffa731bd76dc844
https://github.com/qemu/qemu/commit/48779faef3c8e2fe70bd8285bffa731bd76dc844
Author: Pankaj Gupta <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/sev.c
Log Message:
-----------
i386/sev: Move SEV_COMMON null check before dereferencing
Fixes Coverity CID 1546886.
Fixes: 9861405a8f ("i386/sev: Invoke launch_updata_data() for SEV class")
Signed-off-by: Pankaj Gupta <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: cd7093a7a168a823d07671348996f049d45e8f67
https://github.com/qemu/qemu/commit/cd7093a7a168a823d07671348996f049d45e8f67
Author: Pankaj Gupta <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/sev.c
Log Message:
-----------
i386/sev: Return when sev_common is null
Fixes Coverity CID 1546885.
Fixes: 16dcf200dc ("i386/sev: Introduce "sev-common" type to encapsulate common
SEV state")
Signed-off-by: Pankaj Gupta <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 4228eb8cc6ba44d35cd52b05508a47e780668051
https://github.com/qemu/qemu/commit/4228eb8cc6ba44d35cd52b05508a47e780668051
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/decode-new.h
M target/i386/tcg/emit.c.inc
Log Message:
-----------
target/i386: remove CPUX86State argument from generator functions
CPUX86State argument would only be used to fetch bytes, but that has to be
done before the generator function is called. So remove it, and all
temptation together with it.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: cc155f19717ced44d70df3cd5f149a5b9f9a13f1
https://github.com/qemu/qemu/commit/cc155f19717ced44d70df3cd5f149a5b9f9a13f1
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/cpu.h
M target/i386/tcg/emit.c.inc
Log Message:
-----------
target/i386: rewrite flags writeback for ADCX/ADOX
Avoid using set_cc_op() in preparation for implementing APX; treat
CC_OP_EFLAGS similar to the case where we have the "opposite" cc_op
(CC_OP_ADOX for ADCX and CC_OP_ADCX for ADOX), except the resulting
cc_op is not CC_OP_ADCOX. This is written easily as two "if"s, whose
conditions are both false for CC_OP_EFLAGS, both true for CC_OP_ADCOX,
and one each true for CC_OP_ADCX/ADOX.
The new logic also makes it easy to drop usage of tmp0.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: e628387cf9a27a4895b00821313635fad4cfab43
https://github.com/qemu/qemu/commit/e628387cf9a27a4895b00821313635fad4cfab43
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/emit.c.inc
Log Message:
-----------
target/i386: put BLS* input in T1, use generic flag writeback
This makes for easier cpu_cc_* setup, and not using set_cc_op()
should come in handy if QEMU ever implements APX.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: c2b6b6a65a227d2bb45e1b2694cf064b881543e4
https://github.com/qemu/qemu/commit/c2b6b6a65a227d2bb45e1b2694cf064b881543e4
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/emit.c.inc
Log Message:
-----------
target/i386: change X86_ENTRYr to use T0
I am not sure why I made it use T1. It is a bit more symmetric with
respect to X86_ENTRYwr (which uses T0 for the "w"ritten operand
and T1 for the "r"ead operand), but it is also less flexible because it
does not let you apply zextT0/sextT0.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 4e2dc59cf99b5d352b426ee30b8fbb9804e237d1
https://github.com/qemu/qemu/commit/4e2dc59cf99b5d352b426ee30b8fbb9804e237d1
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/emit.c.inc
Log Message:
-----------
target/i386: change X86_ENTRYwr to use T0, use it for moves
Just like X86_ENTRYr, X86_ENTRYwr is easily changed to use only T0.
In this case, the motivation is to use it for the MOV instruction
family. The case when you need to preserve the input value is the
odd one, as it is used basically only for BLS* instructions.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: c0df9563a3d1b95b91d3ad7e2519fed0c2952772
https://github.com/qemu/qemu/commit/c0df9563a3d1b95b91d3ad7e2519fed0c2952772
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/decode-new.h
M target/i386/tcg/emit.c.inc
Log Message:
-----------
target/i386: replace NoSeg special with NoLoadEA
This is a bit more generic, as it can be applied to MPX as well.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 024538287e4b4838a21cacec3709ed55093807b9
https://github.com/qemu/qemu/commit/024538287e4b4838a21cacec3709ed55093807b9
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/decode-new.h
Log Message:
-----------
target/i386: fix processing of intercept 0 (read CR0)
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: aa4da17ba5a16c712ff066c54a9092d24f418c89
https://github.com/qemu/qemu/commit/aa4da17ba5a16c712ff066c54a9092d24f418c89
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/emit.c.inc
M target/i386/tcg/translate.c
Log Message:
-----------
target/i386: convert MOV from/to CR and DR to new decoder
Complete implementation of C and D operand types, then the operations
are just MOVs.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 8875f653a009564f1228469c1ff0c4b48b781132
https://github.com/qemu/qemu/commit/8875f653a009564f1228469c1ff0c4b48b781132
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
Log Message:
-----------
target/i386: fix bad sorting of entries in the 0F table
Aesthetic change only.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 29345899fefa2413ee6c54d664da20661317505b
https://github.com/qemu/qemu/commit/29345899fefa2413ee6c54d664da20661317505b
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
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
Log Message:
-----------
target/i386: finish converting 0F AE to the new decoder
This is already partly implemented due to VLDMXCSR and VSTMXCSR; finish
the job.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 0548e6ff55bb42b4e5e8fa116d5a8044fad1e328
https://github.com/qemu/qemu/commit/0548e6ff55bb42b4e5e8fa116d5a8044fad1e328
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/helper.h
M target/i386/tcg/emit.c.inc
M target/i386/tcg/sysemu/misc_helper.c
Log Message:
-----------
target/i386: replace read_crN helper with read_cr8
All other control registers are stored plainly in CPUX86State.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 008fb0249cd72152fd7309a763b3257afbe65504
https://github.com/qemu/qemu/commit/008fb0249cd72152fd7309a763b3257afbe65504
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/decode-new.h
Log Message:
-----------
target/i386: split X86_CHECK_prot into PE and VM86 checks
SYSENTER is allowed in VM86 mode, but not in real mode. Split the check
so that PE and !VM86 are covered by separate bits.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: d5f54f75ce04203f06cb6824bdb5bb54cddf8c8b
https://github.com/qemu/qemu/commit/d5f54f75ce04203f06cb6824bdb5bb54cddf8c8b
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
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/seg_helper.c
M target/i386/tcg/translate.c
Log Message:
-----------
target/i386: convert non-grouped, helper-based 2-byte opcodes
These have very simple generators and no need for complex group
decoding. Apart from LAR/LSL which are simplified to use
gen_op_deposit_reg_v and movcond, the code is generally lifted
from translate.c into the generators.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 9fbfa0ba5c84ba28e0c956814c2095f8fcc13e93
https://github.com/qemu/qemu/commit/9fbfa0ba5c84ba28e0c956814c2095f8fcc13e93
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/translate.c
Log Message:
-----------
target/i386: pull load/writeback out of gen_shiftd_rm_T1
Use gen_ld_modrm/gen_st_modrm, moving them and gen_shift_flags to the
caller. This way, gen_shiftd_rm_T1 becomes something that the new
decoder can call.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 124f840cdc086723906a29f1c9dba51a68a89252
https://github.com/qemu/qemu/commit/124f840cdc086723906a29f1c9dba51a68a89252
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/emit.c.inc
Log Message:
-----------
target/i386: adapt gen_shift_count for SHLD/SHRD
SHLD/SHRD can have 3 register operands - s->T0, s->T1 and either
1 or CL - and therefore decode->op[2] is taken by the low part
of the register being shifted. Pass X86_OP_* to gen_shift_count
from its current callers and hardcode cpu_regs[R_ECX] as the
shift count.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: e1d7406d4d7af5b1f73438b7d293116cbdeac946
https://github.com/qemu/qemu/commit/e1d7406d4d7af5b1f73438b7d293116cbdeac946
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/emit.c.inc
M target/i386/tcg/translate.c
Log Message:
-----------
target/i386: convert SHLD/SHRD to new decoder
Use the same flag generation code as SHL and SHR, but use
the existing gen_shiftd_rm_T1 function to compute the result
as well as CC_SRC.
Decoding-wise, SHLD/SHRD by immediate count as a 4 operand
instruction because s->T0 and s->T1 actually occupy three op
slots. The infrastructure used by opcodes in the 0F 3A table
works fine.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: ea203927dbeaa81b58d79e7b6fe655b8d633247d
https://github.com/qemu/qemu/commit/ea203927dbeaa81b58d79e7b6fe655b8d633247d
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
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
Log Message:
-----------
target/i386: convert LZCNT/TZCNT/BSF/BSR/POPCNT to new decoder
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 22ebc49762bd29367b2a64cc7810f34da242d331
https://github.com/qemu/qemu/commit/22ebc49762bd29367b2a64cc7810f34da242d331
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/emit.c.inc
M target/i386/tcg/translate.c
Log Message:
-----------
target/i386: convert XADD to new decoder
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 2e128fc7efb19f7085a6711e7237cbacedabfb80
https://github.com/qemu/qemu/commit/2e128fc7efb19f7085a6711e7237cbacedabfb80
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/emit.c.inc
M target/i386/tcg/translate.c
Log Message:
-----------
target/i386: convert CMPXCHG to new decoder
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 58ab5e809ad66a02b6fa273ba11ed35b8b2fea60
https://github.com/qemu/qemu/commit/58ab5e809ad66a02b6fa273ba11ed35b8b2fea60
Author: Paolo Bonzini <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M target/i386/sev.c
Log Message:
-----------
target/i386: SEV: do not assume machine->cgs is SEV
There can be other confidential computing classes that are not derived
from sev-common. Avoid aborting when encountering them.
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 3022f4ca598912104ef9000895805f494068d309
https://github.com/qemu/qemu/commit/3022f4ca598912104ef9000895805f494068d309
Author: Richard Henderson <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M backends/tpm/tpm_util.c
M backends/tpm/trace-events
M hw/sh4/trace-events
M hw/usb/trace-events
M hw/vfio/trace-events
M meson.build
M scripts/tracetool/__init__.py
R scripts/tracetool/vcpu.py
Log Message:
-----------
Merge tag 'tracing-pull-request' of https://gitlab.com/stefanha/qemu into
staging
Pull request
Cleanups from Philippe Mathieu-Daudé.
# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmZnNCQACgkQnKSrs4Gr
# c8hRQgf/WDNO0IvplK4U9PO5+Zm165xqY6lttfgniJzT2jb4p/dg0LiNOSqHx53Q
# 2eM/YJl7GxSXwnIESqNVuVxixh8DvExmOtM8RJm3HyJWtZoKfgMOV/dzHEhST3xj
# PglIEwL5Cm14skhQAVhJXzFlDjZ8seoz+YCbLhcYWk2B3an+5PvFySbp4iHS9cXJ
# lZUZx/aa9xjviwzMbsMxzFt3rA22pgNaxemV40FBIMWC0H+jP5pgBdZXE2n8jJvB
# 9eXZyG1kdkJKXO2DMhPYuG4rEEWOhV6dckXzmxCQEbHlGTH7X3Pn1F5B3+agi9g3
# 39U1Z+WFb8JFLOQMCQ3jlcbkIfULzQ==
# =wqXR
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 10 Jun 2024 10:13:08 AM PDT
# gpg: using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <[email protected]>" [full]
# gpg: aka "Stefan Hajnoczi <[email protected]>" [full]
* tag 'tracing-pull-request' of https://gitlab.com/stefanha/qemu:
tracetool: Forbid newline character in event format
hw/vfio: Remove newline character in trace events
hw/usb: Remove newline character in trace events
hw/sh4: Remove newline character in trace events
backends/tpm: Remove newline character in trace event
tracetool: Remove unused vcpu.py script
Signed-off-by: Richard Henderson <[email protected]>
Commit: b152539e03f45613de9ffd98c157cbc7e46081ab
https://github.com/qemu/qemu/commit/b152539e03f45613de9ffd98c157cbc7e46081ab
Author: Richard Henderson <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M hw/core/machine.c
M hw/scsi/scsi-disk.c
M target/i386/cpu.c
M target/i386/cpu.h
M target/i386/helper.h
M target/i386/sev.c
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/seg_helper.c
M target/i386/tcg/sysemu/misc_helper.c
M target/i386/tcg/translate.c
Log Message:
-----------
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
* i386: fix issue with cache topology passthrough
* scsi-disk: migrate emulated requests
* i386/sev: fix Coverity issues
* i386/tcg: more conversions to new decoder
# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmZoQyYUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroNEPgf+OSfy+YyKhYLdu6kj3ZZ3LA1/FQv3
# G36ZTYR1AmTLxxsuJ0K47vWmOsMPGvOCKyncpEHm9HjGc1XpsWlZD05PpQyM77RJ
# eXgqoQTpxYIznjIdOZOh1AbmpkXODcLlkxFe2ijPDH8veTTyAqGL8c7vYFKm9riU
# Iz6CBiDk2vLHkJtEmR2kZhWRlGDBCNoNILfdWG6BDGecoRMopEG6QiNO66KbKsoY
# iAT7QJRp1ClJVWCL+3o4IdusOAwAALNvnLKLbByeEwYQKd0ALYcSeh7lv7gK7MsW
# H//iyhCdKC6TT2A9zOjbDx+G2Eo3bTsZTGhRE/srsRoFh+Vnxv4ZkPMuYg==
# =acz1
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 11 Jun 2024 05:29:26 AM PDT
# gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg: issuer "[email protected]"
# gpg: Good signature from "Paolo Bonzini <[email protected]>" [full]
# gpg: aka "Paolo Bonzini <[email protected]>" [full]
* tag 'for-upstream' of https://gitlab.com/bonzini/qemu: (25 commits)
target/i386: SEV: do not assume machine->cgs is SEV
target/i386: convert CMPXCHG to new decoder
target/i386: convert XADD to new decoder
target/i386: convert LZCNT/TZCNT/BSF/BSR/POPCNT to new decoder
target/i386: convert SHLD/SHRD to new decoder
target/i386: adapt gen_shift_count for SHLD/SHRD
target/i386: pull load/writeback out of gen_shiftd_rm_T1
target/i386: convert non-grouped, helper-based 2-byte opcodes
target/i386: split X86_CHECK_prot into PE and VM86 checks
target/i386: replace read_crN helper with read_cr8
target/i386: finish converting 0F AE to the new decoder
target/i386: fix bad sorting of entries in the 0F table
target/i386: convert MOV from/to CR and DR to new decoder
target/i386: fix processing of intercept 0 (read CR0)
target/i386: replace NoSeg special with NoLoadEA
target/i386: change X86_ENTRYwr to use T0, use it for moves
target/i386: change X86_ENTRYr to use T0
target/i386: put BLS* input in T1, use generic flag writeback
target/i386: rewrite flags writeback for ADCX/ADOX
target/i386: remove CPUX86State argument from generator functions
...
Signed-off-by: Richard Henderson <[email protected]>
Commit: f205febda40fa8db5b7d7c632ffe57fa0be9b402
https://github.com/qemu/qemu/commit/f205febda40fa8db5b7d7c632ffe57fa0be9b402
Author: Richard Henderson <[email protected]>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
M block/copy-before-write.c
M block/crypto.c
M block/file-posix.c
M block/linux-aio.c
M block/qcow.c
M block/qcow2.c
M crypto/block-luks.c
M crypto/block-qcow.c
M crypto/block.c
M crypto/blockpriv.h
M include/block/aio.h
M include/block/raw-aio.h
M include/crypto/block.h
M qapi/qmp-dispatch.c
M qemu-io-cmds.c
M tests/unit/test-crypto-block.c
Log Message:
-----------
Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging
Block layer patches
- crypto: Fix crash when used with multiqueue devices
- linux-aio: add IO_CMD_FDSYNC command support
- copy-before-write: Avoid integer overflows for timeout > 4s
- Fix crash with QMP block_resize and iothreads
- qemu-io: add cvtnum() error handling for zone commands
- Code cleanup
# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEE3D3rFZqa+V09dFb+fwmycsiPL9YFAmZoitoRHGt3b2xmQHJl
# ZGhhdC5jb20ACgkQfwmycsiPL9Z2ng/+KVz0P1M6fjdI0yJSwAla3PVRfB0BjZ+k
# pwoUaHholVB4lmhU8OhtUHgEPK/jIZVdgwfG2se8WHR3eAzEVTWqt5mRIjOVUX4b
# N29G6gTHt8p64YKSbiqnyK2IC7qhY/o3hQ+d8frk+tqstc2tzFHDtjkWtYROdl/X
# iNW6zXy1rz5qIyJ80QWvBs7CfQuvElzK0GN2QusSZDEUJYiLhVS6QfjNmRfJI5yT
# /eDoHAjMJycxy+8YpEj1QEdEcFV7dS0BCr6qeWeAg50Gej1xlDeknejG+Cro2A1z
# MJu4blqMhzzjG9YIS90wCDOxXYdifa1VQSIpV6zpU1ExToXFOVtF3h06Hu0aHiBu
# hU4UnTsQSLmlQXbSbFwlVgRdGfAxvIxp6EuWtPteSAfnxAlxoQbqnV6uN/RsFnsr
# R+zSiNx+20IDj4befzcQWNWpWNnTloRR01/iucncEpZZEu0/E58Y4bFAWBexMOhz
# MgYTXTVgR+WPuyR8FXyXX32dQBQMb5grSnseXwOBhi3ULrMqjLinR60B+XbWgy/g
# mE/oLc+uttAk1EbHH/8od8vjvtDHdl9FrfsPaPDlJTiexqNZHxiDE3WVdhvaPsTF
# wJ0CB7pdvrWIAVwmSpfksVoyL2HQx2ILjGSQbKPvYEZqSoUMr7+7Z0SkTQ1i706b
# xODS2wm+h0Q=
# =hMLb
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 11 Jun 2024 10:35:22 AM PDT
# gpg: using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg: issuer "[email protected]"
# gpg: Good signature from "Kevin Wolf <[email protected]>" [full]
* tag 'for-upstream' of https://repo.or.cz/qemu/kevin:
crypto/block: drop qcrypto_block_open() n_threads argument
block/crypto: create ciphers on demand
linux-aio: add IO_CMD_FDSYNC command support
block/copy-before-write: use uint64_t for timeout in nanoseconds
qemu-io: add cvtnum() error handling for zone commands
aio: warn about iohandler_ctx special casing
Revert "monitor: use aio_co_reschedule_self()"
block: drop force_dup parameter of raw_reconfigure_getfd()
Signed-off-by: Richard Henderson <[email protected]>
Compare: https://github.com/qemu/qemu/compare/80e8f0602168...f205febda40f
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications