Re: [PATCH 0/3] hw/arm/virt: Use generic CPU invalidation

2023-07-13 Thread Gavin Shan
Hi Marcin, On 7/13/23 22:44, Marcin Juszkiewicz wrote: W dniu 13.07.2023 o 14:34, Gavin Shan pisze: On 7/13/23 21:52, Marcin Juszkiewicz wrote: W dniu 13.07.2023 o 13:44, Peter Maydell pisze: I see this isn't a change in this patch, but given that what the user specifies is not

Re: [PATCH 3/3] hw/arm/virt: Support host CPU type only when KVM or HVF is configured

2023-07-13 Thread Cornelia Huck
On Thu, Jul 13 2023, Gavin Shan wrote: > The CPU type 'host-arm-cpu' class won't be registered until KVM or > HVF is configured in target/arm/cpu64.c. Support the corresponding > CPU type only when KVM or HVF is configured. > > Signed-off-by: Gavin Shan > --- > hw/arm/virt.c | 2 ++ > 1 file

Re: [PATCH QEMU v8 8/9] migration: Extend query-migrate to provide dirty page limit info

2023-07-13 Thread Markus Armbruster
~hyman writes: > From: Hyman Huang(黄勇) > > Extend query-migrate to provide throttle time and estimated > ring full time with dirty-limit capability enabled, through which > we can observe if dirty limit take effect during live migration. > > Signed-off-by: Hyman Huang(黄勇) > Reviewed-by: Markus

Re: [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability

2023-07-13 Thread Markus Armbruster
~hyman writes: > From: Hyman Huang(黄勇) > > Introduce migration dirty-limit capability, which can > be turned on before live migration and limit dirty > page rate durty live migration. > > Introduce migrate_dirty_limit function to help check > if dirty-limit capability enabled during live

Re: [PATCH 0/3] hw/arm/virt: Use generic CPU invalidation

2023-07-13 Thread Marcin Juszkiewicz
W dniu 13.07.2023 o 14:34, Gavin Shan pisze: On 7/13/23 21:52, Marcin Juszkiewicz wrote: W dniu 13.07.2023 o 13:44, Peter Maydell pisze: I see this isn't a change in this patch, but given that what the user specifies is not "cortex-a8-arm-cpu" but "cortex-a8", why do we include the

Re: [PATCH 0/3] hw/arm/virt: Use generic CPU invalidation

2023-07-13 Thread Gavin Shan
Hi Peter, On 7/13/23 21:44, Peter Maydell wrote: On Thu, 13 Jul 2023 at 06:45, Gavin Shan wrote: There is a generic CPU type invalidation in machine_run_board_init() and we needn't a same and private invalidation for hw/arm/virt machines. This series intends to use the generic CPU type

Re: [PATCH V9 32/46] vfio-pci: cpr part 2 (msi)

2023-07-13 Thread Marc Zyngier
On Thu, 13 Jul 2023 13:35:57 +0100, Kunkun Jiang wrote: > > For ARM, it will first send a DISCARD command to ITS and then > establish the interrupt reporting channel for GICv3. The DISCARD > will remove the pending interrupt. Interrupts that come before > channel re-establishment are silently

Re: [PATCH] tcg: Fix info_in_idx increment in layout_arg_by_ref

2023-07-13 Thread Peter Maydell
On Fri, 7 Jul 2023 at 11:29, Richard Henderson wrote: > > Off by one error, failing to take into account that layout_arg_1 > already incremeneted info_in_idx for the first piece. We only > need care for the n-1 TCG_CALL_ARG_BY_REF_N pieces here. > > Cc: qemu-sta...@nongnu.org > Fixes:

Re: [PATCH V9 32/46] vfio-pci: cpr part 2 (msi)

2023-07-13 Thread Kunkun Jiang via
Hi Steve, On 2023/7/10 23:43, Steven Sistare wrote: On 7/5/2023 4:56 AM, Kunkun Jiang wrote: Hi Steve, I have a few questions about the msi part of the vfio device. In the reboot mode, you mentioned "The guest drivers' suspend methods flush outstanding requests and re-initialize the devices".

Re: [PATCH 0/3] hw/arm/virt: Use generic CPU invalidation

2023-07-13 Thread Gavin Shan
Hi Peter and Marcin, On 7/13/23 21:52, Marcin Juszkiewicz wrote: W dniu 13.07.2023 o 13:44, Peter Maydell pisze: I see this isn't a change in this patch, but given that what the user specifies is not "cortex-a8-arm-cpu" but "cortex-a8", why do we include the "-arm-cpu" suffix in the error

Re: [PATCH QEMU v8 2/9] qapi/migration: Introduce x-vcpu-dirty-limit-period parameter

2023-07-13 Thread Markus Armbruster
~hyman writes: > From: Hyman Huang(黄勇) > > Introduce "x-vcpu-dirty-limit-period" migration experimental > parameter, which is in the range of 1 to 1000ms and used to > make dirtyrate calculation period configurable. dirty rate > > Currently with the "x-vcpu-dirty-limit-period" varies, the

[PATCH] target/hexagon/idef-parser: Remove self-assignment

2023-07-13 Thread Anton Johansson via
The self assignment is clearly useless, and @1.last_column does not have to be set for an expression with only a single token, so remove it. Reported-by: Peter Maydell Signed-off-by: Anton Johansson --- target/hexagon/idef-parser/idef-parser.y | 1 - 1 file changed, 1 deletion(-) diff --git

[PATCH] accel/tcg: Zero-pad vaddr in tlb_debug output

2023-07-13 Thread Anton Johansson via
In replacing target_ulong with vaddr and TARGET_FMT_lx with VADDR_PRIx, the zero-padding of TARGET_FMT_lx got lost. Readd 16-wide zero-padding for logging consistency. Suggested-by: Peter Maydell Signed-off-by: Anton Johansson --- accel/tcg/cputlb.c | 20 ++-- 1 file changed,

Re: [PATCH 0/3] hw/arm/virt: Use generic CPU invalidation

2023-07-13 Thread Peter Maydell
On Thu, 13 Jul 2023 at 12:52, Marcin Juszkiewicz wrote: > > W dniu 13.07.2023 o 13:44, Peter Maydell pisze: > > > I see this isn't a change in this patch, but given that > > what the user specifies is not "cortex-a8-arm-cpu" but > > "cortex-a8", why do we include the "-arm-cpu" suffix in > > the

Re: [PATCH 0/3] hw/arm/virt: Use generic CPU invalidation

2023-07-13 Thread Marcin Juszkiewicz
W dniu 13.07.2023 o 13:44, Peter Maydell pisze: I see this isn't a change in this patch, but given that what the user specifies is not "cortex-a8-arm-cpu" but "cortex-a8", why do we include the "-arm-cpu" suffix in the error messages? It's not valid syntax to say "-cpu cortex-a8-arm-cpu", so

Re: [PATCH v2] hw/mips: Improve the default USB settings in the loongson3-virt machine

2023-07-13 Thread Thomas Huth
On 13/07/2023 13.47, Michael Tokarev wrote: 13.07.2023 13:09, Philippe Mathieu-Daudé wrote: Hi Thomas, On 21/6/23 09:41, Thomas Huth wrote: It's possible to compile QEMU without the USB devices (e.g. when using "--without-default-devices" as option for the "configure" script). To be still

Re: [PATCH v2] hw/mips: Improve the default USB settings in the loongson3-virt machine

2023-07-13 Thread Michael Tokarev
13.07.2023 13:09, Philippe Mathieu-Daudé wrote: Hi Thomas, On 21/6/23 09:41, Thomas Huth wrote: It's possible to compile QEMU without the USB devices (e.g. when using "--without-default-devices" as option for the "configure" script). To be still able to run the loongson3-virt machine in

Re: [PATCH 0/3] hw/arm/virt: Use generic CPU invalidation

2023-07-13 Thread Peter Maydell
On Thu, 13 Jul 2023 at 06:45, Gavin Shan wrote: > > There is a generic CPU type invalidation in machine_run_board_init() > and we needn't a same and private invalidation for hw/arm/virt machines. > This series intends to use the generic CPU type invalidation on the > hw/arm/virt machines. > >

Re: [PATCH 1/3] scsi: fetch unit attention when creating the request

2023-07-13 Thread Stefano Garzarella
On Wed, Jul 12, 2023 at 06:38:14PM +0200, Paolo Bonzini wrote: On 7/12/23 15:43, Stefano Garzarella wrote: Commit 1880ad4f4e ("virtio-scsi: Batched prepare for cmd reqs") split calls to scsi_req_new() and scsi_req_enqueue() in the virtio-scsi device. This had no drawback, until commit

Re: [PATCH 0/1] hw/arm/sbsa-ref: set 'slots' property of xhci

2023-07-13 Thread Peter Maydell
On Mon, 10 Jul 2023 at 07:38, Yuquan Wang wrote: > > As the default xhci_sysbus just supports only one usb slot, it can not > meet the working requirement of this bord. Therefore, we extend the > slots of xhci to 64. > > Yuquan Wang (1): > hw/arm/sbsa-ref: set 'slots' property of xhci > >

Re: [PATCH] util/interval-tree: Avoid race conditions without optimization

2023-07-13 Thread Peter Maydell
On Fri, 7 Jul 2023 at 11:30, Richard Henderson wrote: > > Read the left and right trees once, so that the gating > tests are meaningful. This was only a problem at -O0, > where the compiler didn't CSE the two reads. > > Cc: qemu-sta...@nongnu.org > Signed-off-by: Richard Henderson Reviewed-by:

Re: [PATCH 2/2] migration: Make it clear that qemu_file_set_error() needs a negative value

2023-07-13 Thread Peter Maydell
On Thu, 6 Jul 2023 at 20:52, Fabiano Rosas wrote: > > The convention in qemu-file.c is to return a negative value on > error. > > The only place that could use qemu_file_set_error() to store a > positive value to f->last_error was vmstate_save() which has been > fixed in the previous patch. > >

Re: [PATCH v2 0/3] Add VIRTIO sound card

2023-07-13 Thread Manos Pitsidianakis
Ping Patch series on patchew: https://patchew.org/QEMU/cover.1686238728.git.manos.pitsidiana...@linaro.org/ Patch series on lore: https://lore.kernel.org/qemu-devel/cover.1686238728.git.manos.pitsidiana...@linaro.org/ On Thu, 08 Jun 2023 18:56, Manos Pitsidianakis wrote: This patch series

[PATCH v8 3/9] migration: convert socket backend to accept MigrateAddress

2023-07-13 Thread Het Gala
Socket transport backend for 'migrate'/'migrate-incoming' QAPIs accept new wire protocol of MigrateAddress struct. It is achived by parsing 'uri' string and storing migration parameters required for socket connection into well defined SocketAddress struct. Suggested-by: Aravind Retnakaran

[PATCH v8 6/9] migration: New migrate and migrate-incoming argument 'channels'

2023-07-13 Thread Het Gala
MigrateChannelList allows to connect accross multiple interfaces. Add MigrateChannelList struct as argument to migration QAPIs. We plan to include multiple channels in future, to connnect multiple interfaces. Hence, we choose 'MigrateChannelList' as the new argument over 'MigrateChannel' to make

[PATCH v8 0/9] migration: Modify 'migrate' and 'migrate-incoming' QAPI commands for migration

2023-07-13 Thread Het Gala
This is v8 patchset of modified 'migrate' and 'migrate-incoming' QAPI design for upstream review. Would like to thank all the maintainers that actively participated in the v7 patchset discussion and gave insightful suggestions to improve the patches. Link to previous upstream community patchset

[PATCH v8 4/9] migration: convert rdma backend to accept MigrateAddress

2023-07-13 Thread Het Gala
RDMA based transport backend for 'migrate'/'migrate-incoming' QAPIs accept new wire protocol of MigrateAddress struct. It is achived by parsing 'uri' string and storing migration parameters required for RDMA connection into well defined InetSocketAddress struct. Suggested-by: Aravind Retnakaran

[PATCH v8 8/9] migration: Implement MigrateChannelList to migration flow.

2023-07-13 Thread Het Gala
Integrate MigrateChannelList with all transport backends (socket, exec and rdma) for both src and dest migration endpoints. Suggested-by: Aravind Retnakaran Signed-off-by: Het Gala --- migration/migration.c | 77 --- migration/socket.c| 5 ++- 2

[PATCH v8 9/9] migration: Add test case for modified QAPI syntax

2023-07-13 Thread Het Gala
Add multifd tcp common test case for new QAPI syntax defined. Suggested-by: Aravind Retnakaran Signed-off-by: Het Gala --- tests/qtest/migration-test.c | 45 1 file changed, 45 insertions(+) diff --git a/tests/qtest/migration-test.c

[PATCH v8 2/9] migration: convert migration 'uri' into 'MigrateAddress'

2023-07-13 Thread Het Gala
This patch parses 'migrate' and 'migrate-incoming' QAPI's 'uri' string containing migration connection related information and stores them inside well defined 'MigrateAddress' struct. Misc: limit line width in exec.c to 80 char recommended by Qemu. Suggested-by: Aravind Retnakaran

[PATCH v8 7/9] migration: modify migration_channels_and_uri_compatible() for new QAPI syntax

2023-07-13 Thread Het Gala
migration_channels_and_uri_compatible() check for transport mechanism suitable for multifd migration gets executed when the caller calls old uri syntax. It needs it to be run when using the modern MigrateChannel QAPI syntax too. After URI -> 'MigrateChannel' :

[PATCH v8 5/9] migration: convert exec backend to accept MigrateAddress.

2023-07-13 Thread Het Gala
Exec transport backend for 'migrate'/'migrate-incoming' QAPIs accept new wire protocol of MigrateAddress struct. It is achived by parsing 'uri' string and storing migration parameters required for exec connection into strList struct. Suggested-by: Aravind Retnakaran Signed-off-by: Het Gala ---

[PATCH v8 1/9] migration: New QAPI type 'MigrateAddress'

2023-07-13 Thread Het Gala
This patch introduces well defined MigrateAddress struct and its related child objects. The existing argument of 'migrate' and 'migrate-incoming' QAPI - 'uri' is of type string. The current implementation follows double encoding scheme for fetching migration parameters like 'uri' and this is not

Re: [PATCH v2] hw/mips: Improve the default USB settings in the loongson3-virt machine

2023-07-13 Thread Philippe Mathieu-Daudé
Hi Thomas, On 21/6/23 09:41, Thomas Huth wrote: It's possible to compile QEMU without the USB devices (e.g. when using "--without-default-devices" as option for the "configure" script). To be still able to run the loongson3-virt machine in default mode with such a QEMU binary, we have to check

Re: [PATCH v5 5/5] target/riscv: select KVM AIA in riscv virt machine

2023-07-13 Thread Andrew Jones
On Thu, Jul 13, 2023 at 08:43:57AM +, Yong-Xuan Wang wrote: > Select KVM AIA when the host kernel has in-kernel AIA chip support. > Since KVM AIA only has one APLIC instance, we map the QEMU APLIC > devices to KVM APLIC. > We also extend virt machine to specify the KVM AIA mode. The "kvm-aia"

Re: qemu-img convert gets 403 from s3 presigned urls

2023-07-13 Thread Philippe Mathieu-Daudé
Cc'ing the qemu-block@ list. On 13/7/23 04:03, Ross Vandegrift wrote: Hi folks, I'm trying to qemu-img convert a source that's hoted on s3, via a presigned url. When qemu-img hits it, s3 returns a 403. But curl works fine with the same url. I didn't see any debugging or verbose output

Re: [PATCH v5 3/5] target/riscv: Create an KVM AIA irqchip

2023-07-13 Thread Andrew Jones
On Thu, Jul 13, 2023 at 08:43:55AM +, Yong-Xuan Wang wrote: > We create a vAIA chip by using the KVM_DEV_TYPE_RISCV_AIA and then set up > the chip with the KVM_DEV_RISCV_AIA_GRP_* APIs. > > Signed-off-by: Yong-Xuan Wang > Reviewed-by: Jim Shu > Reviewed-by: Daniel Henrique Barboza > --- >

Re: [PATCH v5 2/5] target/riscv: check the in-kernel irqchip support

2023-07-13 Thread Andrew Jones
On Thu, Jul 13, 2023 at 08:43:54AM +, Yong-Xuan Wang wrote: > We check the in-kernel irqchip support when using KVM acceleration. > > Signed-off-by: Yong-Xuan Wang > Reviewed-by: Jim Shu > Reviewed-by: Daniel Henrique Barboza > --- > target/riscv/kvm.c | 10 +- > 1 file changed, 9

Re: [PATCH v5 1/5] target/riscv: support the AIA device emulation with KVM enabled

2023-07-13 Thread Andrew Jones
On Thu, Jul 13, 2023 at 08:43:53AM +, Yong-Xuan Wang wrote: > In this patch, we create the APLIC and IMSIC FDT helper functions and > remove M mode AIA devices when using KVM acceleration. > > Signed-off-by: Yong-Xuan Wang > Reviewed-by: Jim Shu > Reviewed-by: Daniel Henrique Barboza > ---

Re: [PATCH v2] hw/mips: Improve the default USB settings in the loongson3-virt machine

2023-07-13 Thread Thomas Huth
On 21/06/2023 09.41, Thomas Huth wrote: It's possible to compile QEMU without the USB devices (e.g. when using "--without-default-devices" as option for the "configure" script). To be still able to run the loongson3-virt machine in default mode with such a QEMU binary, we have to check here for

[PATCH v5 3/5] target/riscv: Create an KVM AIA irqchip

2023-07-13 Thread Yong-Xuan Wang
We create a vAIA chip by using the KVM_DEV_TYPE_RISCV_AIA and then set up the chip with the KVM_DEV_RISCV_AIA_GRP_* APIs. Signed-off-by: Yong-Xuan Wang Reviewed-by: Jim Shu Reviewed-by: Daniel Henrique Barboza --- target/riscv/kvm.c | 160 +++

[PATCH v5 1/5] target/riscv: support the AIA device emulation with KVM enabled

2023-07-13 Thread Yong-Xuan Wang
In this patch, we create the APLIC and IMSIC FDT helper functions and remove M mode AIA devices when using KVM acceleration. Signed-off-by: Yong-Xuan Wang Reviewed-by: Jim Shu Reviewed-by: Daniel Henrique Barboza --- hw/riscv/virt.c | 264 ++-- 1

[PATCH v5 4/5] target/riscv: update APLIC and IMSIC to support KVM AIA

2023-07-13 Thread Yong-Xuan Wang
KVM AIA can't emulate APLIC only. When "aia=aplic" parameter is passed, APLIC devices is emulated by QEMU. For "aia=aplic-imsic", remove the mmio operations of APLIC when using KVM AIA and send wired interrupt signal via KVM_IRQ_LINE API. After KVM AIA enabled, MSI messages are delivered by

[PATCH v5 2/5] target/riscv: check the in-kernel irqchip support

2023-07-13 Thread Yong-Xuan Wang
We check the in-kernel irqchip support when using KVM acceleration. Signed-off-by: Yong-Xuan Wang Reviewed-by: Jim Shu Reviewed-by: Daniel Henrique Barboza --- target/riscv/kvm.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/target/riscv/kvm.c

[PATCH v5 0/5] Add RISC-V KVM AIA Support

2023-07-13 Thread Yong-Xuan Wang
This series adds support for KVM AIA in RISC-V architecture. In order to test these patches, we require Linux with KVM AIA support which can be found in the riscv_kvm_aia_hwaccel_v1 branch at https://github.com/avpatel/linux.git --- v5: - remove the linux-header update patch since the

[PATCH v5 5/5] target/riscv: select KVM AIA in riscv virt machine

2023-07-13 Thread Yong-Xuan Wang
Select KVM AIA when the host kernel has in-kernel AIA chip support. Since KVM AIA only has one APLIC instance, we map the QEMU APLIC devices to KVM APLIC. We also extend virt machine to specify the KVM AIA mode. The "kvm-aia" parameter is passed along with machine name in QEMU command-line. 1)

Re: [PATCH v7 1/9] migration: introduced 'MigrateAddress' in QAPI for migration wire protocol.

2023-07-13 Thread Het Gala
On 12/07/23 6:25 pm, Markus Armbruster wrote: The subject migration: introduced 'MigrateAddress' in QAPI for migration wire protocol. is rather long. Try to limit subjects to about 60 characters. Easily done here: migration: New QAPI type 'MigrateAddress' Ack. Thanks for the

[PATCH] target/i386: Check CR0.TS before enter_mmx

2023-07-13 Thread Matt Borgerson
When CR0.TS=1, execution of x87 FPU, MMX, and some SSE instructions will cause a Device Not Available (DNA) exception (#NM). System software uses this exception event to lazily context switch FPU state. Before this patch, enter_mmx helpers may be generated just before #NM generation, prematurely

[PATCH] memory: Remove unecessary variable in memory_region_escape_name()

2023-07-13 Thread Gavin Shan
The variable 'c' isn't needed because it can be replaced by '*p' completely. Remove the unecessary variable 'c' to simplify the function a bit. No functional change intended. Signed-off-by: Gavin Shan --- softmmu/memory.c | 11 +-- 1 file changed, 5 insertions(+), 6 deletions(-) diff

Re: [PATCH] docs/system/target-riscv.rst: tidy CPU firmware section

2023-07-13 Thread Michael Tokarev
12.07.2023 17:37, Daniel Henrique Barboza wrote: This is how the content of the "RISC-V CPU firmware" section is displayed after the html is generated: "When using the sifive_u or virt machine there are three different firmware boot options: 1. -bios default - This is the default behaviour if

[PATCH v3 3/6] throttle: support read-only and write-only

2023-07-13 Thread zhenwei pi
Only one direction is necessary in several scenarios: - a read-only disk - operations on a device are considered as *write* only. For example, encrypt/decrypt/sign/verify operations on a cryptodev use a single *write* timer(read timer callback is defined, but never invoked). Allow a single

[PATCH v3 4/6] test-throttle: test read only and write only

2023-07-13 Thread zhenwei pi
Reviewed-by: Alberto Garcia Signed-off-by: zhenwei pi --- tests/unit/test-throttle.c | 66 ++ 1 file changed, 66 insertions(+) diff --git a/tests/unit/test-throttle.c b/tests/unit/test-throttle.c index a60b5fe22e..5547837a58 100644 ---

[PATCH v3 2/6] test-throttle: use enum ThrottleType

2023-07-13 Thread zhenwei pi
Use enum ThrottleType instead in the throttle test codes. Reviewed-by: Alberto Garcia Signed-off-by: zhenwei pi --- tests/unit/test-throttle.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/unit/test-throttle.c b/tests/unit/test-throttle.c index

[PATCH v3 1/6] throttle: introduce enum ThrottleType

2023-07-13 Thread zhenwei pi
Use enum ThrottleType instead of number index. Reviewed-by: Alberto Garcia Signed-off-by: zhenwei pi --- include/qemu/throttle.h | 11 --- util/throttle.c | 16 +--- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/include/qemu/throttle.h

[PATCH v3 0/6] Misc fixes for throttle

2023-07-13 Thread zhenwei pi
v2 -> v3: - patch 1 -> patch 5 are already reviewed by Alberto - append patch 6: throttle: use enum ThrottleType instead of bool is_write v1 -> v2: - rename 'ThrottleTimerType' to 'ThrottleType' - add assertion to throttle_schedule_timer v1: - introduce enum ThrottleTimerType instead of

[PATCH v3 6/6] throttle: use enum ThrottleType instead of bool is_write

2023-07-13 Thread zhenwei pi
enum ThrottleType is already there, use ThrottleType instead of 'bool is_write' for throttle API, also modify related codes from block, fsdev, cryptodev and tests. Signed-off-by: zhenwei pi --- backends/cryptodev.c| 9 + block/throttle-groups.c | 6 --

[PATCH v3 5/6] cryptodev: use NULL throttle timer cb for read direction

2023-07-13 Thread zhenwei pi
Operations on a crytpodev are considered as *write* only, the callback of read direction is never invoked. Use NULL instead of an unreachable path(cryptodev_backend_throttle_timer_cb on read direction). Reviewed-by: Alberto Garcia Signed-off-by: zhenwei pi --- backends/cryptodev.c | 3 +-- 1

[PATCH 1/1] dump: kdump-zlib data pages not dumped with pvtime/aarch64

2023-07-13 Thread Dongli Zhang
The kdump-zlib data pages are not dumped from aarch64 host when the 'pvtime' is involved, that is, when the block->target_end is not aligned to page_size. In the below example, it is expected to dump two blocks. (qemu) info mtree -f ... ... 090a-090a0fff (prio 0, ram):

<    1   2