On Mon, Mar 04, 2024 at 06:43:19AM +, Chun Feng Wu wrote:
> Hi,
>
> I noticed that throttle-group can be created with “-object”, however, per
> qemu doc(https://github.com/qemu/qemu/blob/master/docs/throttle.txt),
> “-object” doesn’t support structured options at that moment:
>
> “
> A thro
>-Original Message-
>From: Prasad Pandit
>Subject: Re: [PATCH v1 6/6] intel_iommu: Block migration if cap is updated
>
>On Wed, 28 Feb 2024 at 15:17, Zhenzhong Duan
> wrote:
>> When there is VFIO device and vIOMMU cap/ecap is updated based on
>host
>
>* cap/ecap -> capability/extended ca
Reviewed-by: Konstantin Kostiuk
On Tue, Feb 27, 2024 at 1:39 PM Markus Armbruster wrote:
> Documentation claims the command can "return NULL". "NULL" doesn't
> exist in JSON. "null" does, but the command returns lists, and null
> isn't. Correct documentation to "return an empty list".
>
> Si
Reviewed-by: Konstantin Kostiuk
On Tue, Feb 27, 2024 at 1:39 PM Markus Armbruster wrote:
> "Returns:" sections of guest-fsfreeze-freeze and
> guest-fsfreeze-freeze-list describe both command behavior and success
> response. Move behavior out, so "Returns:" is only about success
> response.
>
>
Hello Zhao,
On Mon, 4 Mar 2024 at 12:19, Zhao Liu wrote:
> > unsigned maxcpus = config->has_maxcpus ? config->maxcpus : 0;
>
> This indicates the default maxcpus is initialized as 0 if user doesn't
> specifies it.
* 'has_maxcpus' should be set only if maxcpus > 0. If maxcpus == 0,
then setting '
Reviewed-by: Konstantin Kostiuk
On Tue, Feb 27, 2024 at 1:39 PM Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster
> ---
> qga/qapi-schema.json | 22 ++
> 1 file changed, 10 insertions(+), 12 deletions(-)
>
> diff --git a/qga/qapi-schema.json b/qga/qapi-schema.jso
Reviewed-by: Konstantin Kostiuk
On Tue, Feb 27, 2024 at 1:39 PM Markus Armbruster wrote:
> Drop "on success" where it is redundant with "Returns:".
>
> Signed-off-by: Markus Armbruster
> ---
> qga/qapi-schema.json | 16
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> di
Reviewed-by: Konstantin Kostiuk
On Tue, Feb 27, 2024 at 1:39 PM Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster
> ---
> qga/qapi-schema.json | 12
> 1 file changed, 12 deletions(-)
>
> diff --git a/qga/qapi-schema.json b/qga/qapi-schema.json
> index c5f2ac8f59..636c2c
Hi,
Title 'target/loongarch: ' ...
Thanks.
Song Gao
在 2024/2/28 14:55, Xianglai Li 写道:
The lddir and ldpte instruction emulation has
a problem with the use of large page processing above level 2.
The page size is not correctly calculated,
resulting in the wrong page size of the table entry
在 2024/3/4 10:18, Bibo Mao 写道:
In structure CPUArchState some struct elements are only used in TCG
mode, and it is not used in KVM mode. Macro CONFIG_TCG is added to
make it simpiler in KVM mode, also there is the same modification
in c code when these struct elements are used.
When VM runs in
在 2024/2/27 10:30, Bibo Mao 写道:
The minimum memory size for LoongArch UEFI bios is 256M, also some
test cases such as migration and qos use 256M memory by default.
Here set minimum memory size for Loongarch VirtMachine with 256M rather
than 1G, so that test cases with 256M memory can pass to
在 2024/2/20 20:41, Bibo Mao 写道:
Since migration test case requires compat machine type support,
compat machine is added for qemu 9.0 here.
Signed-off-by: Bibo Mao
---
hw/loongarch/virt.c | 60 +++--
1 file changed, 47 insertions(+), 13 deletions(-)
在 2024/2/27 10:30, Bibo Mao 写道:
Since migration test case requires compat machine type support,
compat machine is added for qemu 9.0 here.
Signed-off-by: Bibo Mao
---
hw/loongarch/virt.c | 60 +++--
1 file changed, 47 insertions(+), 13 deletions(-)
On February 29, 2024 11:41 am, Fiona Ebner wrote:
> Am 28.02.24 um 17:24 schrieb Vladimir Sementsov-Ogievskiy:
>> On 16.02.24 13:55, Fiona Ebner wrote:
>>> Previous discussion from when this was sent upstream [0] (it's been a
>>> while). I rebased the patches and re-ordered and squashed like
>>> su
Hi Cedric,
A few nits below.
On 27/02/2024 20:03, Cédric Le Goater wrote:
External email: Use caution opening links or attachments
The SaveVMHandlers structure is still in use for complex subsystems
and devices. Document the handlers since we are going to modify a few
later.
Signed-off-by: C
The SDRAM memory controller(DRAMC) controls the access to external
DDR4 and DDR5 SDRAM and power up to DDR4 and DDR5 PHY.
The DRAM memory controller of AST2700 is not backward compatible
to previous chips such AST2600, AST2500 and AST2400.
Max memory is now 8GiB on the AST2700. Introduce new
aspe
AST2700 wdt controller is similiar to AST2600's wdt, but
the AST2700 has 8 watchdogs, and they each have a 0x80 of registers.
Introduce ast2700 object class and increse the number of regs(offset) of
ast2700 model.
Signed-off-by: Troy Lee
Signed-off-by: Jamin Lin
---
hw/watchdog/wdt_aspeed.c
AST2700 SLI engine is designed to accelerate the
throughput between cross-die connections.
It have CPU_SLI at CPU die and IO_SLI at IO die.
Introduce new ast2700_sli and ast2700_sliio class
with instance_init and realize handlers.
Signed-off-by: Troy Lee
Signed-off-by: Jamin Lin
---
hw/misc/as
Changes from v1:
The patch series supports WDT, SDMC, SMC, SCU, SLI and INTC for AST2700 SoC.
Test steps:
1. Download openbmc image for AST2700 from
https://github.com/AspeedTech-BMC/openbmc/releases/tag/v09.00
https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.00/
ast2700-de
AST2700 dram size calculation is not back compatible AST2600.
According to the DDR capacity hardware behavior,
if users write the data to address which is beyond the ram size,
it would write the data to address 0.
For example:
a. sdram base address "0x4 "
b. sdram size is 1 GiB
The availabl
AST2700 interrupt controller(INTC) provides hardware interrupt interfaces
to interrupt of processors PSP, SSP and TSP. In INTC, each interrupt of
INT 128 to INT136 combines 32 interrupts.
Introduce a new aspeed_intc class with instance_init and realize handlers.
QEMU supports ARM Generic Interrup
The SDRAM memory controller(DRAMC) controls the access to external
DDR4 and DDR5 SDRAM and power up to DDR4 and DDR5 PHY.
The DRAM memory controller of AST2700 is not backward compatible
to previous chips such AST2600, AST2500 and AST2400.
Max memory is now 8GiB on the AST2700. Introduce new
aspe
AST2700 have two SCU controllers which are SCU and SCUIO.
Both SCU and SCUIO registers are not compatible previous SOCs
, introduces new registers and adds ast2700 scu, sucio class init handler.
The pclk divider selection of SCUIO is defined in SCUIO280[20:18] and
the pclk divider selection of SCU
Changes from v1:
The patch series supports WDT, SDMC, SMC, SCU, SLI and INTC for AST2700 SoC.
Changes from v2:
- replace is_aarch64 with is_bus64bit for sdmc patch review.
- fix incorrect dram size for AST2700
Test steps:
1. Download openbmc image for AST2700 from
https://github.com/AspeedTech
AST2700 fmc/spi controller's address decoding unit is 64KB
and only bits [31:16] are used for decoding. Introduce seg_to_reg
and reg_to_seg handlers for ast2700 fmc/spi controller.
In addition, adds ast2700 fmc, spi0, spi1, and spi2 class init handler.
AST2700 support the maximum dram size is 8GiB
AST2700 interrupt controller(INTC) provides hardware interrupt interfaces
to interrupt of processors PSP, SSP and TSP. In INTC, each interrupt of
INT 128 to INT136 combines 32 interrupts.
Introduce a new aspeed_intc class with instance_init and realize handlers.
QEMU supports ARM Generic Interrup
The macOS jobs in our CI recently started failing, complaining that
the distutils module is not available anymore. And indeed, according to
https://peps.python.org/pep-0632/ it's been deprecated since a while
and now likely got removed in recent Python versions.
Fortunately, we only use it for a v
On Fri, Mar 1, 2024 at 6:48 PM Faiq Ali Sayed wrote:
>
> Hi Clément,
>
> So the output of the command
> | $ qemu-system-aarch64 -M xlnx-zcu102 -m 4G -no-reboot -nographic
> -kernel qnx.img
> is
>
> $ pulseaudio: set_sink_input_volume() failed
> $ pulseaudio: Reason: Invalid argument
> $ pulseaudi
On Mon, 4 Mar 2024 at 13:41, Duan, Zhenzhong wrote:
> This is to deal with a special case when cold plugged vfio device is unplugged
> at runtime, then migration triggers.
>
> When qemu on source side starts with cold plugged vfio device, vIOMMU
qemu -> QEMU
> capability/extended capability regi
On Tue, 27 Feb 2024, Igor Mammedov wrote:
> currently smbios_entry_add() preserves internally '-smbios type='
> options but tables provided with '-smbios file=' are stored directly
> into blob that eventually will be exposed to VM. And then later
> QEMU adds default/'-smbios type' entries on to
> -Original Message-
> From: Cédric Le Goater
> Sent: Thursday, February 29, 2024 4:32 PM
> To: Jamin Lin ; peter.mayd...@linaro.org;
> and...@codeconstruct.com.au; j...@jms.id.au; qemu-...@nongnu.org;
> qemu-devel@nongnu.org
> Cc: Troy Lee ; Yunlin Tang
>
> Subject: Re: [PATCH v1 8/8] as
03.03.2024 08:46, del...@kernel.org :
From: Helge Deller
Signed-off-by: Helge Deller
Suggested-by: Michael Tokarev
Reviewed-by: Richard Henderson
Reviewed-by: Michael Tokarev
Thank you!
/mjt
roms/Makefile | 7 +++
1 file changed, 7 insertions(+)
diff --git a/roms/Makefile b/ro
On Mon, Mar 04, 2024 at 10:36:18AM +0100, Thomas Huth wrote:
> The macOS jobs in our CI recently started failing, complaining that
> the distutils module is not available anymore. And indeed, according to
> https://peps.python.org/pep-0632/ it's been deprecated since a while
> and now likely got re
This series adds basic support for message-based DMA in qemu's vfio-user
server. This is useful for cases where the client does not provide file
descriptors for accessing system memory via memory mappings. My motivating use
case is to hook up device models as PCIe endpoints to a hardware design. Th
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-b
Brings in assorted bug fixes. The following are of particular interest
with respect to message-based DMA support:
* bb308a2 "Fix address calculation for message-based DMA"
Corrects a bug in DMA address calculation.
* 1569a37 "Pass server->client command over a separate socket pair"
Adds suppo
Wire up support for DMA for the case where the vfio-user client does not
provide mmap()-able file descriptors, but DMA requests must be performed
via the VFIO-user protocol. This installs an indirect memory region,
which already works for pci_dma_{read,write}, and pci_dma_map works
thanks to the ex
Instead of using a single global bounce buffer, give each AddressSpace
its own bounce buffer. The MapClient callback mechanism moves to
AddressSpace accordingly.
This is in preparation for generalizing bounce buffer handling further
to allow multiple bounce buffers, with a total allocation limit
c
When DMA memory can't be directly accessed, as is the case when
running the device model in a separate process without shareable DMA
file descriptors, bounce buffering is used.
It is not uncommon for device models to request mapping of several DMA
regions at the same time. Examples include:
* net
>-Original Message-
>From: Prasad Pandit
>Subject: Re: [PATCH v1 6/6] intel_iommu: Block migration if cap is updated
>
>On Mon, 4 Mar 2024 at 13:41, Duan, Zhenzhong
> wrote:
>> This is to deal with a special case when cold plugged vfio device is
>unplugged
>> at runtime, then migration t
On Mon, Mar 04, 2024 at 02:05:49AM -0800, Mattias Nissler wrote:
> This series adds basic support for message-based DMA in qemu's vfio-user
> server. This is useful for cases where the client does not provide file
> descriptors for accessing system memory via memory mappings. My motivating use
> ca
The RISC-V Server Platform specification[1] defines a standardized set
of hardware and software capabilities, that portable system software,
such as OS and hypervisors can rely on being present in a RISC-V server
platform. This patchset provides a RISC-V Server Platform (RVSP)
reference implementat
The RISC-V Server Platform specification[1] defines a standardized set
of hardware and software capabilities, that portable system software,
such as OS and hypervisors can rely on being present in a RISC-V server
platform.
A corresponding Qemu RISC-V server platform reference (rvsp-ref for
short)
The harts requirements of RISC-V server platform [1] require RVA23 ISA
profile support, plus Sv48, Svadu, H, Sscofmpf etc. This patch provides
a virt CPU type (rvsp-ref) as compliant as possible.
[1]
https://github.com/riscv-non-isa/riscv-server-platform/blob/main/server_platform_requirements.ado
On 3/4/24 10:05, Avihai Horon wrote:
Hi Cedric,
A few nits below.
Just in time for v3 I was about to send ! I will include these
suggestions.
Thanks,
C.
On 27/02/2024 20:03, Cédric Le Goater wrote:
External email: Use caution opening links or attachments
The SaveVMHandlers structure
Sven Schnelle writes:
> In preparation of making the parsing part of qemu_set_dfilter_ranges()
> available to other users, convert it to return a GList, so the result
> can be used with other functions taking a GList of struct Range.
Why do we need to convert it to a Glist? When I originally wro
On Sun, 3 Mar 2024 at 16:26, Akihiko Odaki wrote:
>
> --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 defin
When setting GLIB_VERSION_MAX_ALLOWED to GLIB_VERSION_2_58 or higher,
glib adds type safety checks to the g_steal_pointer() macro. This
triggers errors in the build_cdat_table() function which uses the
g_steal_pointer() for type-casting from one pointer type to the other
(which also looks quite wei
When setting GLIB_VERSION_MAX_ALLOWED to GLIB_VERSION_2_58 or higher,
glib adds type safety checks to the g_steal_pointer() macro. This
triggers errors in the ct3_build_cdat_entries_for_mr() function which
uses the g_steal_pointer() for type-casting from one pointer type to
the other (which also lo
When setting GLIB_VERSION_MAX_ALLOWED to GLIB_VERSION_2_58 or higher
(which we'll certainly do in the not too distant future), glib adds
type safety checks to the g_steal_pointer() macro. This triggers
errors in the cxl code since the pointer types do not always match
here. Let's fix those errors n
When setting GLIB_VERSION_MAX_ALLOWED to GLIB_VERSION_2_58 or higher
(which we'll certainly do in the not too distant future), glib adds
type safety checks to the g_steal_pointer() macro. This trigger an
error in the ct3_load_cdat() function: The local char *buf variable is
assigned to uint8_t *buf
Am 28.02.2024 um 19:07 hat Vladimir Sementsov-Ogievskiy geschrieben:
> On 03.11.23 18:56, Markus Armbruster wrote:
> > Kevin Wolf writes:
> >
> > > Am 03.11.2023 um 10:36 hat Markus Armbruster geschrieben:
> > > > Vladimir Sementsov-Ogievskiy writes:
> > > >
> > > > > On 11.10.23 13:18, Fiona E
Currently, vfio_save_state() returns 1 regardless of whether there is
more data to send or not. This was done to prevent a fast changing VFIO
device from potentially blocking other devices from sending their data,
as qemu_savevm_state_iterate() serialized devices.
Now that qemu_savevm_state_iterat
Hi,
This small series is v2 of the single patch I previously sent [1].
It removes device serialization in qemu_savevm_state_iterate() and does
some VFIO migration touch ups. More info provided in the commit
messages.
Thanks.
Changes from V1 -> V2:
* Remove device serialization in qemu_savevm_st
VFIO migration buffer size is currently limited to 1MB. Therefore, there
is no need to check if migration rate exceeded, as in the worst case it
will exceed by only 1MB.
However, if the buffer size is later changed to a bigger value,
vfio_save_iterate() should enforce migration rate (similar to mi
Commit 90697be8896c ("live migration: Serialize vmstate saving in stage
2") introduced device serialization in qemu_savevm_state_iterate(). The
rationale behind it was to first complete migration of slower changing
block devices and only then migrate the RAM, to avoid sending fast
changing RAM page
> On 27-Feb-2024, at 21:17, Igor Mammedov wrote:
>
> basically moving code around without functional change.
> And exposing some symbols so that they could be shared
> between smbbios.c and new smbios_legacy.c
>
> plus some meson magic to build smbios_legacy.c only
> for 'pc' machine and othe
On Mon, 4 Mar 2024 at 09:36, Thomas Huth wrote:
>
> The macOS jobs in our CI recently started failing, complaining that
> the distutils module is not available anymore. And indeed, according to
> https://peps.python.org/pep-0632/ it's been deprecated since a while
> and now likely got removed in r
04.03.2024 12:36, Thomas Huth wrote:
The macOS jobs in our CI recently started failing, complaining that
the distutils module is not available anymore. And indeed, according to
https://peps.python.org/pep-0632/ it's been deprecated since a while
and now likely got removed in recent Python version
On 04.03.24 11:25, Wu, Fei2 wrote:
The RISC-V Server Platform specification[1] defines a standardized set
of hardware and software capabilities, that portable system software,
such as OS and hypervisors can rely on being present in a RISC-V server
platform. This patchset provides a RISC-V Server
On 04/03/2024 11.56, Peter Maydell wrote:
On Mon, 4 Mar 2024 at 09:36, Thomas Huth wrote:
The macOS jobs in our CI recently started failing, complaining that
the distutils module is not available anymore. And indeed, according to
https://peps.python.org/pep-0632/ it's been deprecated since a w
On Mon, Mar 04, 2024 at 11:48:54 +0100, Kevin Wolf wrote:
> Am 28.02.2024 um 19:07 hat Vladimir Sementsov-Ogievskiy geschrieben:
> > On 03.11.23 18:56, Markus Armbruster wrote:
> > > Kevin Wolf writes:
[...]
> > > Is the job abstraction a failure?
> > >
> > > We have
> > >
> > > block-job
On Tue, 27 Feb 2024, Igor Mammedov wrote:
> Current code uses mix of error_report()+exit(1)
> and error_setg() to handle errors.
> Use newer error_setg() everywhere, beside consistency
> it will allow to detect error condition without killing
> QEMU and attempt switch-over to SMBIOS3.x tables/e
On Mon, 4 Mar 2024 at 11:10, Thomas Huth wrote:
> Using my shell script to query repology, I get:
>
> centos_stream_8: 0.3.1
> centos_stream_9: 0.5.1
> fedora_37: 1.0.0
> fedora_38: 1.1.1
> fedora_39: 1.2.2
> fedora_rawhide: 2.0.0
> freebsd: 1.0.0
> haikuports_master: 1.2.1
> openbsd: 1.2.2
> open
On 04/03/2024 12.18, Peter Maydell wrote:
On Mon, 4 Mar 2024 at 11:10, Thomas Huth wrote:
Using my shell script to query repology, I get:
centos_stream_8: 0.3.1
centos_stream_9: 0.5.1
fedora_37: 1.0.0
fedora_38: 1.1.1
fedora_39: 1.2.2
fedora_rawhide: 2.0.0
freebsd: 1.0.0
haikuports_master: 1.2
For series
Reviewed-by: Konstantin Kostiuk
On Fri, Mar 1, 2024 at 7:29 PM Andrey Drobyshev <
andrey.drobys...@virtuozzo.com> wrote:
> v1 --> v2:
> * Replace commit for guest-get-fsinfo: instead of reporting statvfs(3)
>values directly, keep the old ones but add an additional optional
>f
ping
On Tue, 2024-02-06 at 14:47 +0100, Tim Wiederhake wrote:
> Synchronizing the list of cpu features and models with qemu is a
> recurring
> task in libvirt. For x86, this is done by reading qom-list-properties
> for
> max-x86_64-cpu and manually filtering out everthing that does not
> look like
On 2024/3/1 7:50, Richard Henderson wrote:
> On 2/29/24 03:10, Jinjie Ruan via wrote:
>> If GICD_CTLR_DS bit is zero and the NMI is non-secure, the NMI prioirty
>> is higher than 0x80, otherwise it is higher than 0x0. And save NMI
>> super prioirty information in hppi.superprio to deliver NMI ex
Kevin Wolf writes:
> Am 28.02.2024 um 19:07 hat Vladimir Sementsov-Ogievskiy geschrieben:
[...]
>> About the APIs, I think, of course we should deprecate block-job-* API,
>> because we already have jobs which are not block-jobs, so we can't deprecate
>> job-* API.
>>
>> So I suggest a plan:
This will prepare ground for futur changes adding an Error** argument
to the save_setup() handler. We need to make sure that on failure,
set_migrationmode() always sets a new error. See the Rules section in
qapi/error.h.
Cc: Halil Pasic
Cc: Christian Borntraeger
Cc: Thomas Huth
Signed-off-by: C
When commit bd2270608fa0 ("migration/ram.c: add a notifier chain for
precopy") added PRECOPY_NOTIFY_SETUP notifiers at the end of
qemu_savevm_state_setup(), it didn't take into account a possible
error in the loop calling vmstate_save() or .save_setup() handlers.
Check ret value before calling the
This will help preserving the error set by .save_setup() handlers.
Signed-off-by: Cédric Le Goater
---
migration/savevm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/migration/savevm.c b/migration/savevm.c
index
31ce9391d49c825d4ec835e26ac0246e192783a0..e400706e61e06d2d1
They are only used once.
Reviewed-by: Fabiano Rosas
Reviewed-by: Peter Xu
Signed-off-by: Cédric Le Goater
---
include/migration/register.h | 4 ++--
include/qemu/typedefs.h | 2 --
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/include/migration/register.h b/include/migrat
This will prepare ground for futur changes adding an Error** argument
to the save_setup() handler. We need to make sure that on failure,
ram_save_setup() sets a new error.
Signed-off-by: Cédric Le Goater
---
migration/ram.c | 11 ++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff
This will be useful to report errors at a higher level, mostly in VFIO
today.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Peter Xu
Signed-off-by: Cédric Le Goater
---
Changes in v3:
- ERRP_GUARD() because of error_prepend use
- Made sure an error is always set in case of failure in
Modify all log_global*() handlers to take an Error** parameter and
return a bool. A new MEMORY_LISTENER_CALL_LOG_GLOBAL macro looping on
the listeners is introduced to handle a possible error, which will
would interrupt the loop if necessary.
To be noted the change in memory_global_dirty_log_start
This will help detect issues regarding I/O channels usage.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Peter Xu
Signed-off-by: Cédric Le Goater
---
migration/qemu-file.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/migration/qemu-file.c b/migration/qemu-file.c
i
Hello,
The motivation behind these changes is to improve error reporting to
the upper management layer (libvirt) with a more detailed error, this
to let it decide, depending on the reported error, whether to try
migration again later. It would be useful in cases where migration
fails due to lack o
The SaveVMHandlers structure is still in use for complex subsystems
and devices. Document the handlers since we are going to modify a few
later.
Reviewed-by: Peter Xu
Signed-off-by: Cédric Le Goater
---
Changes in v3:
- VMState -> VMStateDescription
- Rephrased .save_live_complete_precopy(
This will prepare ground for futur changes adding an Error** argument
to the save_setup() handler. We need to make sure that on failure,
block_save_setup() always sets a new error.
Cc: Stefan Hajnoczi
Signed-off-by: Cédric Le Goater
---
migration/block.c | 18 +-
1 file changed,
We will use the Error object to improve error reporting in the
.log_global*() handlers of VFIO. Add documentation while at it.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Cédric Le Goater
---
Changes in v3:
- Use error_setg_errno() in vfio_legacy_set_dirty_page_tracking()
include/h
The purpose is to record a potential error in the migration stream if
qemu_savevm_state_setup() fails. Most of the current .save_setup()
handlers can be modified to use the Error argument instead of managing
their own and calling locally error_report().
Cc: Nicholas Piggin
Cc: Harsh Prateek Bora
vfio_save_complete_precopy() currently returns before doing the trace
event. Change that.
Signed-off-by: Cédric Le Goater
---
hw/vfio/migration.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
index
4c4ccbaed10b82e7baa992770ec0ec5a6c82b757..4469a
This improves error reporting in the log_global_stop() VFIO handler.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Cédric Le Goater
---
Changes in v3:
- Use error_setg_errno() in vfio_devices_dma_logging_stop()
hw/vfio/common.c | 19 ++-
1 file changed, 14 insertions
Now that the log_global*() handlers take an Error** parameter and
return a bool, do the same for memory_global_dirty_log_start() and
memory_global_dirty_log_stop(). The error is reported in the callers
for now and it will be propagated in the call stack in the next
changes.
To be noted a functiona
Add an Error** argument to vfio_migration_set_state() and adjust
callers, including vfio_save_setup(). The error will be propagated up
to qemu_savevm_state_setup() where the save_setup() handler is
executed.
Modify vfio_vmstate_change_prepare() and vfio_vmstate_change() to
store a reported error u
This will prepare ground for futur changes adding an Error** argument
to the save_setup() handler. We need to make sure that on failure,
vfio_save_setup() always sets a new error.
Signed-off-by: Cédric Le Goater
---
hw/vfio/migration.c | 15 ---
1 file changed, 12 insertions(+), 3 de
This prepares ground for the changes coming next which add an Error**
argument to the .save_setup() handler. Callers of qemu_savevm_state_setup()
now handle the error and fail earlier setting the migration state from
MIGRATION_STATUS_SETUP to MIGRATION_STATUS_FAILED.
Since the previous behavior wa
vfio_set_migration_error() sets the 'return' error on the migration
stream if a migration is in progress. To improve error reporting, add
a new Error* argument to also set the Error object on the migration
stream, if a migration is progress.
Signed-off-by: Cédric Le Goater
---
hw/vfio/common.c |
Fabiano,
On Thu, Feb 29, 2024 at 12:29:54PM -0300, Fabiano Rosas wrote:
> => guest: 128 GB RAM - 120 GB dirty - 1 vcpu in tight loop dirtying memory
I'm curious normally how much time does it take to do the final fdatasync()
for you when you did this test.
I finally got a relatively large system
Let the callers do the reporting. This will be useful in
vfio_iommu_map_dirty_notify().
Cc: "Michael S. Tsirkin"
Cc: Paolo Bonzini
Cc: David Hildenbrand
Signed-off-by: Cédric Le Goater
---
include/exec/memory.h | 15 ++-
hw/vfio/common.c | 13 +
hw/virtio/vhost-
It will simplify the changes coming after.
Signed-off-by: Cédric Le Goater
---
hw/vfio/common.c | 22 +-
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index
8fa232538d482f094643e0f1601b8ebe25fe077f..3c01b4c78ac73665d3c9f23
The .save_setup() handler has now an Error** argument that we can use
to propagate errors reported by the .log_global_start() handler. Do
that for the RAM. The caller qemu_savevm_state_setup() will store the
error under the migration stream for later detection in the migration
sequence.
Signed-off
This allows to update the Error argument of the VFIO log_global_start()
handler. Errors detected when device level logging is started will be
propagated up to qemu_savevm_state_setup() when the ram save_setup()
handler is executed.
The vfio_set_migration_error() call becomes redundant. Remove it.
This will prepare ground for futur changes adding an Error** argument
to qemu_savevm_state_setup().
Signed-off-by: Cédric Le Goater
---
migration/savevm.c | 26 --
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/migration/savevm.c b/migration/savevm.c
inde
Use vmstate_save_state_with_err() to improve error reporting in the
callers and store a reported error under the migration stream. Add
documentation while at it.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Cédric Le Goater
---
include/hw/vfio/vfio-common.h | 25 -
Let the callers do the error reporting. Add documentation while at it.
Signed-off-by: Cédric Le Goater
---
include/hw/vfio/vfio-common.h | 4 +-
include/hw/vfio/vfio-container-base.h | 17 +++-
hw/vfio/common.c | 59 ++-
hw/vfio/container
On 2/21/24 19:15, nifan@gmail.com wrote:
> CAUTION: This email originated from outside of Western Digital. Do not click
> on links or open attachments unless you recognize the sender and know that
> the content is safe.
>
>
> From: Fan Ni
>
> Per cxl spec r3.1, add dynamic capacity region
On Mon, Mar 04, 2024 at 08:35:36PM +0800, Peter Xu wrote:
> Fabiano,
>
> On Thu, Feb 29, 2024 at 12:29:54PM -0300, Fabiano Rosas wrote:
> > => guest: 128 GB RAM - 120 GB dirty - 1 vcpu in tight loop dirtying memory
>
> I'm curious normally how much time does it take to do the final fdatasync()
>
On Mon, Mar 04, 2024 at 12:42:25PM +, Daniel P. Berrangé wrote:
> On Mon, Mar 04, 2024 at 08:35:36PM +0800, Peter Xu wrote:
> > Fabiano,
> >
> > On Thu, Feb 29, 2024 at 12:29:54PM -0300, Fabiano Rosas wrote:
> > > => guest: 128 GB RAM - 120 GB dirty - 1 vcpu in tight loop dirtying memory
> >
1 - 100 of 388 matches
Mail list logo