On Wed, Mar 6, 2024 at 9:35 PM Cédric Le Goater wrote:
> 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 propagate
This is only used in one place, and usage requires an
out-of-line function.
Signed-off-by: Richard Henderson
---
include/qemu/plugin.h | 12
tcg/tcg.c | 12
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/include/qemu/plugin.h b/include/qemu
TCGHelperInfo includes the ABI for every function call.
Signed-off-by: Richard Henderson
---
include/qemu/plugin.h | 1 +
plugins/core.c| 51 ++-
2 files changed, 46 insertions(+), 6 deletions(-)
diff --git a/include/qemu/plugin.h b/include/qemu/
Move MAX_CALL_IARGS from tcg.h and include for
the define of TCG_TARGET_REG_BITS.
Signed-off-by: Richard Henderson
---
include/tcg/helper-info.h | 3 +++
include/tcg/tcg.h | 2 --
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/tcg/helper-info.h b/include/tcg/helpe
The out-of-line function pointer is mutually exclusive
with inline expansion, so move it into the union.
Wrap the pointer in a structure named 'regular' to match
PLUGIN_CB_REGULAR.
Signed-off-by: Richard Henderson
---
include/qemu/plugin.h | 4 +++-
accel/tcg/plugin-gen.c | 4 ++--
plugins/core
The DEBUG_PLUGIN_GEN_OPS ifdef is replaced with "-d op_plugin".
The second pr_ops call can be obtained with "-d op".
Signed-off-by: Richard Henderson
---
include/qemu/log.h | 1 +
include/tcg/tcg.h | 1 +
accel/tcg/plugin-gen.c | 68 --
tcg/tcg.
Merge qemu_plugin_insn_alloc and qemu_plugin_tb_insn_get into
plugin_gen_insn_start, since it is used nowhere else.
Signed-off-by: Richard Henderson
---
include/qemu/plugin.h | 39 ---
accel/tcg/plugin-gen.c | 39 ---
2 fil
Signed-off-by: Richard Henderson
---
plugins/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/core.c b/plugins/core.c
index 11ca20e626..4487cb7c48 100644
--- a/plugins/core.c
+++ b/plugins/core.c
@@ -307,7 +307,7 @@ static struct qemu_plugin_dyn_cb *plugin_get_dy
Each caller can use tcg_gen_plugin_cb directly.
Signed-off-by: Richard Henderson
---
accel/tcg/plugin-gen.c | 19 +++
1 file changed, 3 insertions(+), 16 deletions(-)
diff --git a/accel/tcg/plugin-gen.c b/accel/tcg/plugin-gen.c
index 70914c3bf8..fd52ea3987 100644
--- a/accel/tcg
Use different enumerators for vcpu_udata and vcpu_mem callbacks.
Signed-off-by: Richard Henderson
---
include/qemu/plugin.h | 1 +
accel/tcg/plugin-gen.c | 2 +-
plugins/core.c | 4 ++--
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/include/qemu/plugin.h b/include/qemu/
Signed-off-by: Richard Henderson
---
accel/tcg/plugin-gen.c | 84 +-
1 file changed, 41 insertions(+), 43 deletions(-)
diff --git a/accel/tcg/plugin-gen.c b/accel/tcg/plugin-gen.c
index 10d917abd3..28414c4ff1 100644
--- a/accel/tcg/plugin-gen.c
+++ b/accel
Signed-off-by: Richard Henderson
---
accel/tcg/plugin-gen.c | 31 ---
1 file changed, 4 insertions(+), 27 deletions(-)
diff --git a/accel/tcg/plugin-gen.c b/accel/tcg/plugin-gen.c
index fd52ea3987..c354825779 100644
--- a/accel/tcg/plugin-gen.c
+++ b/accel/tcg/plugin-
Since we no longer emit plugin helpers during the initial code
translation phase, we don't need to specially mark plugin helpers.
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h | 2 --
plugins/core.c| 10 --
tcg/tcg.c | 4 +---
3 files changed, 5 insertions(+), 11 d
We have qemu_plugin_dyn_cb.type to differentiate the various
callback types, so we do not need to keep them in separate queues.
Signed-off-by: Richard Henderson
---
include/qemu/plugin.h | 35 ++--
accel/tcg/plugin-gen.c | 90 ++
plugins/api.c
Signed-off-by: Richard Henderson
---
include/qemu/plugin.h | 1 -
accel/tcg/plugin-gen.c | 286 ++---
plugins/api.c | 8 +-
3 files changed, 67 insertions(+), 228 deletions(-)
diff --git a/include/qemu/plugin.h b/include/qemu/plugin.h
index 793c4
Delay test of plugin_tb->mem_helper until the inject pass.
Signed-off-by: Richard Henderson
---
accel/tcg/plugin-gen.c | 37 -
1 file changed, 16 insertions(+), 21 deletions(-)
diff --git a/accel/tcg/plugin-gen.c b/accel/tcg/plugin-gen.c
index f92aa80510..aa7
These opcodes are no longer used.
Signed-off-by: Richard Henderson
---
include/tcg/tcg-op-common.h | 2 --
include/tcg/tcg-opc.h | 2 --
accel/tcg/plugin-gen.c | 18 --
tcg/tcg-op.c| 10 --
4 files changed, 32 deletions(-)
diff --git a/includ
Allow operations to be emitted via normal expanders
into the middle of the opcode stream.
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h | 1 +
tcg/tcg.c | 14 --
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h
in
Introduce a new plugin_mem_cb op to hold the address temp
and meminfo computed by tcg-op-ldst.c. Because this now
has its own opcode, we no longer need PLUGIN_GEN_FROM_MEM.
Signed-off-by: Richard Henderson
---
include/exec/plugin-gen.h | 4 -
include/tcg/tcg-op-common.h | 1 +
include/tcg
These placeholder helpers are no longer required.
Signed-off-by: Richard Henderson
---
accel/tcg/plugin-helpers.h | 5 -
include/exec/helper-gen-common.h | 4
include/exec/helper-proto-common.h | 4
accel/tcg/plugin-gen.c | 20
4 files
For normal helpers, read the function pointer from the
structure earlier. For plugins, this will allow the
function pointer to come from elsewhere.
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h | 21 +---
include/exec/helper-gen.h.inc | 24 ---
t
By having the qemu_plugin_cb_flags be recorded in the TCGHelperInfo,
we no longer need to distinguish PLUGIN_CB_REGULAR from
PLUGIN_CB_REGULAR_R, so place all TB callbacks in the same queue.
Signed-off-by: Richard Henderson
---
accel/tcg/plugin-gen.c | 96 +---
Introduce a new plugin_cb op and migrate one operation.
By using emit_before_op, we do not need to emit opcodes
early and modify them later -- we can simply emit the
final set of opcodes once.
Signed-off-by: Richard Henderson
---
include/tcg/tcg-op-common.h | 1 +
include/tcg/tcg-opc.h |
As I mooted with Pierrick earlier this week:
(1) Add a (trivial) mechanism for emitting code into
the middle of the opcode sequence: tcg_ctx->emit_before_op.
(2) Rip out all of the "empty" generation and "copy"
to modify those sequences. Replace with regular code
generation once we know what val
在 2024/3/16 上午1:06, Richard Henderson 写道:
> On 3/14/24 23:01, lixianglai wrote:
>> Hi Richard :
>>
>>> On 3/14/24 20:22, lixianglai wrote:
Hi Richard:
> On 3/13/24 15:33, Xianglai Li wrote:
>> + if (unlikely((level == 0) || (level > 4))) {
>> + return base;
>> +
On 3/13/24 11:33, Philippe Mathieu-Daudé wrote:
Now that the confusion around SOFTMMU vs SYSTEM emulation
was clarified, we can restore the CONFIG_SOFTMMU poison
pragma.
This reverts commit d31b84041d4353ef310ffde23c87b78c2aa32ead
("exec/poison: Do not poison CONFIG_SOFTMMU").
Signed-off-by: Ph
On 3/13/24 11:33, Philippe Mathieu-Daudé wrote:
Since we *might* have user emulation with softmmu,
replace the system emulation check by !user emulation one.
Signed-off-by: Philippe Mathieu-Daudé
---
tcg/sparc64/tcg-target.c.inc | 8
1 file changed, 4 insertions(+), 4 deletions(-)
On 3/13/24 11:33, Philippe Mathieu-Daudé wrote:
Signed-off-by: Philippe Mathieu-Daudé
---
tcg/meson.build | 1 -
1 file changed, 1 deletion(-)
diff --git a/tcg/meson.build b/tcg/meson.build
index 8251589fd4..b5246676c6 100644
--- a/tcg/meson.build
+++ b/tcg/meson.build
@@ -42,7 +42,6 @@ user
On 3/13/24 11:33, Philippe Mathieu-Daudé wrote:
CPU_TLB_foo definitions are specific to SoftMMU and
only used in accel/tcg/.
Signed-off-by: Philippe Mathieu-Daudé
---
accel/tcg/internal-target.h | 26 ++
include/exec/cpu-defs.h | 26 --
2
On 3/13/24 11:33, Philippe Mathieu-Daudé wrote:
Since we *might* have user emulation with softmmu,
replace the system emulation check by !user emulation one.
Signed-off-by: Philippe Mathieu-Daudé
---
accel/tcg/internal-target.h | 6 +++---
accel/tcg/tb-hash.h | 4 ++--
accel/tcg/tcg
On 3/13/24 11:33, Philippe Mathieu-Daudé wrote:
Since we*might* have user emulation with softmmu,
replace the system emulation check by !user emulation one.
Signed-off-by: Philippe Mathieu-Daudé
---
plugins/api.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
Reviewed-by:
On 3/13/24 11:33, Philippe Mathieu-Daudé wrote:
Since we *might* have user emulation with softmmu,
replace the system emulation check by !user emulation one.
Signed-off-by: Philippe Mathieu-Daudé
---
tcg/sparc64/tcg-target.c.inc | 8
1 file changed, 4 insertions(+), 4 deletions(-)
On 3/13/24 11:33, Philippe Mathieu-Daudé wrote:
Signed-off-by: Philippe Mathieu-Daudé
---
gdbstub/internals.h | 20 ++--
gdbstub/system.c| 2 +-
2 files changed, 11 insertions(+), 11 deletions(-)
Reviewed-by: Richard Henderson
r~
On 3/13/24 11:33, Philippe Mathieu-Daudé wrote:
Signed-off-by: Philippe Mathieu-Daudé
---
gdbstub/internals.h | 8
gdbstub/system.c| 8
2 files changed, 8 insertions(+), 8 deletions(-)
Reviewed-by: Richard Henderson
r~
On Fri, Mar 15, 2024 at 03:01:09PM -0300, Fabiano Rosas wrote:
> Peter Xu writes:
>
> > [I queued patch 1-2 into -stable, leaving this patch for further
> > discussions]
> >
> > On Fri, Mar 15, 2024 at 08:55:42AM +, Daniel P. Berrangé wrote:
> >> The 'file:' protocol eventually calls into qe
On 15/03/24 6:28 pm, Fabiano Rosas wrote:
Het Gala writes:
Refactor migrate_get_socket_address to internally utilize 'socket-address'
parameter, reducing redundancy in the function definition.
migrate_get_socket_address implicitly converts SocketAddress into str.
Move migrate_get_socket_addr
On 3/14/2024 9:03 PM, Jason Wang wrote:
On Fri, Mar 15, 2024 at 5:39 AM Si-Wei Liu wrote:
On setups with one or more virtio-net devices with vhost on,
dirty tracking iteration increases cost the bigger the number
amount of queues are set up e.g. on idle guests migration the
following is obse
On 3/14/2024 8:50 PM, Jason Wang wrote:
On Fri, Mar 15, 2024 at 5:39 AM Si-Wei Liu wrote:
There could be a mix of both vhost-user and vhost-kernel clients
in the same QEMU process, where separate vhost loggers for the
specific vhost type have to be used. Make the vhost logger per
backend typ
On Fri, Mar 15, 2024 at 5:57 PM Jonah Palmer wrote:
>
> Add support to virtio-pci devices for handling the extra data sent
> from the driver to the device when the VIRTIO_F_NOTIFICATION_DATA
> transport feature has been negotiated.
>
> The extra data that's passed to the virtio-pci device when thi
Peter Xu writes:
> [I queued patch 1-2 into -stable, leaving this patch for further
> discussions]
>
> On Fri, Mar 15, 2024 at 08:55:42AM +, Daniel P. Berrangé wrote:
>> The 'file:' protocol eventually calls into qemu_open, and this
>> transparently allows for FD passing using /dev/fdset/NNN
On 11/03/24 8:32 pm, Alex Williamson wrote:
External email: Use caution opening links or attachments
On Mon, 11 Mar 2024 17:45:19 +0530
Vinayak Kale wrote:
In case of migration, during restore operation, qemu checks config space of the
pci device with the config space in the migration str
Yuquan Wang wrote:
> The dev_dbg info for Clear Event Records mailbox command would report
> the handle of the next record to clear not the current one.
>
> This was because the index 'i' had incremented before printing the
> current handle value.
>
> This fix also adjusts the index variable name
On Fri, Mar 15, 2024, 10:03 AM Markus Armbruster wrote:
> John Snow writes:
>
> > This patch only adds type hints, which aren't utilized at runtime and
> > don't change the behavior of this module in any way.
> >
> > In a scant few locations, type hints are removed where no longer
> > necessary
On 3/15/24 17:59, Nina Schoetterl-Glausch wrote:
> On Thu, 2024-03-14 at 22:37 +0100, Claudio Fontana wrote:
>> some users were confused by this message showing under TCG:
>>
>> Selected CPU generation is too new. Maximum supported model
>> in the configuration: 'xyz'
>>
>> Clarify that the maximum
On 3/14/24 23:01, lixianglai wrote:
Hi Richard :
On 3/14/24 20:22, lixianglai wrote:
Hi Richard:
On 3/13/24 15:33, Xianglai Li wrote:
+ if (unlikely((level == 0) || (level > 4))) {
+ return base;
+ }
...
Perhaps it would be worthwhile to add another for the level==0 or > 4 cas
On Fri, Mar 15, 2024 at 04:59:49PM +0100, Kevin Wolf wrote:
VDUSE requires that virtqueues are first enabled before the DRIVER_OK
status flag is set; with the current API of the kernel module, it is
impossible to enable the opposite order in our block export code because
userspace is not notified
On Thu, 2024-03-14 at 22:37 +0100, Claudio Fontana wrote:
> some users were confused by this message showing under TCG:
>
> Selected CPU generation is too new. Maximum supported model
> in the configuration: 'xyz'
>
> Clarify that the maximum can depend on the accel, and add a
> hint to try a dif
Extend the virtio device property definitions to include the
VIRTIO_F_NOTIFICATION_DATA feature.
The default state of this feature is disabled, allowing it to be
explicitly enabled where it's supported.
Tested-by: Lei Yang
Reviewed-by: Eugenio Pérez
Signed-off-by: Jonah Palmer
---
include/hw/
Add support for the VIRTIO_F_NOTIFICATION_DATA feature across a variety
of vhost devices.
The inclusion of VIRTIO_F_NOTIFICATION_DATA in the feature bits arrays
for these devices ensures that the backend is capable of offering and
providing support for this feature, and that it can be disabled if
The goal of these patches are to add support to a variety of virtio and
vhost devices for the VIRTIO_F_NOTIFICATION_DATA transport feature. This
feature indicates that a driver will pass extra data (instead of just a
virtqueue's index) when notifying the corresponding device.
The data passed in by
Add support to virtio-ccw devices for handling the extra data sent from
the driver to the device when the VIRTIO_F_NOTIFICATION_DATA transport
feature has been negotiated.
The extra data that's passed to the virtio-ccw device when this feature
is enabled varies depending on the device's virtqueue
Add support to virtio-pci devices for handling the extra data sent
from the driver to the device when the VIRTIO_F_NOTIFICATION_DATA
transport feature has been negotiated.
The extra data that's passed to the virtio-pci device when this
feature is enabled varies depending on the device's virtqueue
Prevent the realization of a virtio device that attempts to use the
VIRTIO_F_NOTIFICATION_DATA transport feature without disabling
ioeventfd.
Due to ioeventfd not being able to carry the extra data associated with
this feature, having both enabled is a functional mismatch and therefore
Qemu should
Add support to virtio-mmio devices for handling the extra data sent from
the driver to the device when the VIRTIO_F_NOTIFICATION_DATA transport
feature has been negotiated.
The extra data that's passed to the virtio-mmio device when this feature
is enabled varies depending on the device's virtqueu
Lorenz Brun writes:
> The io_timeout property, introduced in c9b6609 (part of 6.0) is
> silently overwritten by the hardcoded default value of 30 seconds
> (DEFAULT_IO_TIMEOUT) in scsi_generic_realize because that function is
> being called after the properties have already been applied.
>
> The
On 15/3/24 16:23, Markus Armbruster wrote:
Entities with names starting with q_obj_ are implicit object types.
Therefore, QAPISchema._make_implicit_object_type()'s .lookup_entity()
can only return a QAPISchemaObjectType. Assert that.
Signed-off-by: Markus Armbruster
---
scripts/qapi/schema.p
The io_timeout property, introduced in c9b6609 (part of 6.0) is
silently overwritten by the hardcoded default value of 30 seconds
(DEFAULT_IO_TIMEOUT) in scsi_generic_realize because that function is
being called after the properties have already been applied.
The property definition already has a
[I queued patch 1-2 into -stable, leaving this patch for further
discussions]
On Fri, Mar 15, 2024 at 08:55:42AM +, Daniel P. Berrangé wrote:
> The 'file:' protocol eventually calls into qemu_open, and this
> transparently allows for FD passing using /dev/fdset/NNN syntax
> to pass in FDs.
VDUSE requires that virtqueues are first enabled before the DRIVER_OK
status flag is set; with the current API of the kernel module, it is
impossible to enable the opposite order in our block export code because
userspace is not notified when a virtqueue is enabled.
This requirement also mathces t
Am 15.03.2024 um 16:07 hat Stefano Garzarella geschrieben:
> On Fri, Mar 15, 2024 at 03:03:31PM +0100, Kevin Wolf wrote:
> > VDUSE requires that virtqueues are first enabled before the DRIVER_OK
> > status flag is set; with the current API of the kernel module, it is
> > impossible to enable the op
From: John Snow
resolve_type() is generally used to resolve configuration-provided type
names into type objects, and generally requires valid 'info' and 'what'
parameters.
In some cases, such as with QAPISchemaArrayType.check(), resolve_type
may be used to resolve built-in types and as such will
From: John Snow
Include entities don't have names, but we generally expect "entities" to
have names. Reclassify all entities with names as *definitions*, leaving
the nameless include entities as QAPISchemaEntity instances.
This is primarily to help simplify typing around expectations of what
cal
From: John Snow
With strict typing enabled, these runtime statements aren't necessary
anymore; we can prove them statically.
Signed-off-by: John Snow
Reviewed-by: Markus Armbruster
Signed-off-by: Markus Armbruster
---
scripts/qapi/schema.py | 25 -
1 file changed, 25
From: John Snow
Signed-off-by: John Snow
Reviewed-by: Markus Armbruster
Signed-off-by: Markus Armbruster
---
scripts/qapi/parser.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py
index 2f3c704fa2..7b13a583ac 100644
--- a/scripts/qapi/parser
From: John Snow
There are two related changes here:
(1) We need to perform type narrowing for resolving the type of
tag_member during check(), and
(2) tag_member is a delayed initialization field, but we can hide it
behind a property that raises an Exception if it's called too
early
From: John Snow
This patch can be rolled in with the previous one once the series is
ready for merge, but for work-in-progress' sake, it's separate here.
Signed-off-by: John Snow
Reviewed-by: Markus Armbruster
Signed-off-by: Markus Armbruster
---
scripts/qapi/mypy.ini | 5 -
1 file chang
From: John Snow
These methods should always return a str, it's only the default abstract
implementation that doesn't. They can be marked "abstract", which
requires subclasses to override the method with the proper return type.
Signed-off-by: John Snow
Reviewed-by: Markus Armbruster
Signed-off-
From: John Snow
Suggested-by: Markus Armbruster
Signed-off-by: John Snow
Reviewed-by: Markus Armbruster
Signed-off-by: Markus Armbruster
---
scripts/qapi/pylintrc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/scripts/qapi/pylintrc b/scripts/qapi/pylintrc
index 905
From: John Snow
This patch only adds type hints, which aren't utilized at runtime and
don't change the behavior of this module in any way.
In a scant few locations, type hints are removed where no longer
necessary due to inference power from typing all of the rest of
creation; and any type hints
QAPISchema.lookup_entity() takes an optional type argument, a subtype
of QAPISchemaDefinition, and returns that type or None. Callers can
use this to save themselves an isinstance() test.
The only remaining user of this convenience feature is .lookup_type().
But we don't actually save anything an
From: John Snow
QAPISchemaInfo arguments can often be None because built-in definitions
don't have such information. The type hint can only be
Optional[QAPISchemaInfo] then. But, mypy gets upset about all the
places where we exploit that it can't actually be None there. Add
assertions that wil
From: John Snow
A QAPISchemaArrayType's element type gets resolved only during .check().
We have QAPISchemaArrayType.__init__() initialize self.element_type =
None, and .check() assign the actual type. Using .element_type before
.check() is wrong, and hopefully crashes due to the value being Non
From: John Snow
We already take care to perform some type narrowing for arg_type and
ret_type, but not in a way where mypy can utilize the result once we add
type hints, e.g.:
qapi/schema.py:833: error: Incompatible types in assignment (expression
has type "QAPISchemaType", variable has type
"Op
From: John Snow
Adjust the expression at the callsite to work around mypy's weak type
introspection that believes this expression can resolve to
QAPISourceInfo; it cannot.
(Fundamentally: self.info only resolves to false in a boolean expression
when it is None; therefore this expression may only
v5:
* PATCH 05: Move QAPISchemaDefinition.check()'s
super().check() back to where it was in v3
* PATCH 12: Replaced, necessitating minor adjustments in PATCH 17+22
* PATCH 16: Tweak comment
* PATCH 22: Tighten QAPISchema.lookup_entity()'s type hint
* PATCH 24+25: New
John Snow (22):
qapi/parse
From: John Snow
QAPISchemaVariant's "variants" field is typed as
List[QAPISchemaVariant], where the typing for QAPISchemaVariant allows
its type field to be any QAPISchemaType.
However, QAPISchemaVariant expects that all of its variants contain the
narrower QAPISchemaObjectType. This relationshi
From: John Snow
Small copy-pasto. The correct info field to use in this conditional
block is self.errors.info.
Fixes: 3a025d3d1ffa
Signed-off-by: John Snow
Reviewed-by: Markus Armbruster
Signed-off-by: Markus Armbruster
---
scripts/qapi/parser.py | 2 +-
1 file changed, 1 insertion(+), 1 del
From: John Snow
Instead of using the None value for the members field, use a dedicated
flag to detect recursive misconfigurations.
This is intended to assist with subsequent patches that seek to remove
the "None" value from the members field (which can never hold that value
after the final call
From: John Snow
A QAPISchemaObjectTypeMember's type gets resolved only during .check().
We have QAPISchemaObjectTypeMember.__init__() initialize self.type =
None, and .check() assign the actual type. Using .type before .check()
is wrong, and hopefully crashes due to the value being None. Works.
From: John Snow
Dict[str, object] is a stricter type, but with the way that code is
currently arranged, it is infeasible to enforce this strictness.
In particular, although expr.py's entire raison d'être is normalization
and type-checking of QAPI Expressions, that type information is not
"rememb
From: John Snow
Shhh!
Signed-off-by: John Snow
Reviewed-by: Markus Armbruster
Signed-off-by: Markus Armbruster
---
scripts/qapi/parser.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py
index fed88e9074..ec4ebef4e3 100644
--- a/scripts/qapi
From: John Snow
Declare, but don't initialize the "members" field with type
List[QAPISchemaObjectTypeMember].
This simplifies the typing from what would otherwise be
Optional[List[T]] to merely List[T]. This removes the need to add
assertions to several callsites that this value is not None - wh
Entities with names starting with q_obj_ are implicit object types.
Therefore, QAPISchema._make_implicit_object_type()'s .lookup_entity()
can only return a QAPISchemaObjectType. Assert that.
Signed-off-by: Markus Armbruster
---
scripts/qapi/schema.py | 3 ++-
1 file changed, 2 insertions(+), 1
From: John Snow
With this patch, pylint is happy with the file, so enable it in the
configuration.
Signed-off-by: John Snow
Reviewed-by: Markus Armbruster
Signed-off-by: Markus Armbruster
---
scripts/qapi/pylintrc | 5 -
scripts/qapi/schema.py | 5 +
2 files changed, 5 insertions(+)
QAPISchema.lookup_type('FOO') returns a QAPISchemaType when type 'FOO'
exists, else None. It won't return None for built-in types like
'int'.
Since mypy can't see that, it'll complain that we assign the
Optional[QAPISchemaType] returned by .lookup_type() to QAPISchemaType
variables.
Add assertio
From: John Snow
This function is a bit hard to type as-is; mypy needs some assertions to
assist with the type narrowing.
Signed-off-by: John Snow
Reviewed-by: Markus Armbruster
Signed-off-by: Markus Armbruster
---
scripts/qapi/schema.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-
On Fri, Mar 15, 2024 at 03:03:31PM +0100, Kevin Wolf wrote:
VDUSE requires that virtqueues are first enabled before the DRIVER_OK
status flag is set; with the current API of the kernel module, it is
impossible to enable the opposite order in our block export code because
userspace is not notified
On Wed, Mar 06, 2024 at 02:34:37PM +0100, Cédric Le Goater wrote:
> 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
Reviewed-by: Peter Xu
--
> On 15 Mar 2024, at 13.25, Alex Bennée wrote:
>
> Jørgen Hansen writes:
>
>> Hi,
>>
>> While doing some testing using numactl-based interleaving of application
>> memory
>> across regular memory and CXL-based memory using QEMU with tcg, I ran into an
>> issue similar to what we saw a while
On Fri, Mar 15, 2024 at 03:31:28PM +0100, Cédric Le Goater wrote:
> On 3/15/24 14:11, Peter Xu wrote:
> > On Fri, Mar 15, 2024 at 01:20:49PM +0100, Cédric Le Goater wrote:
> > > +static void qemu_savevm_wait_unplug(MigrationState *s, int state)
> >
> > One more trivial comment: I'd even consider d
On Fri, Mar 15, 2024 at 03:21:27PM +0100, Cédric Le Goater wrote:
> On 3/15/24 13:20, Cédric Le Goater wrote:
> > On 3/15/24 12:01, Peter Xu wrote:
> > > On Fri, Mar 15, 2024 at 11:17:45AM +0100, Cédric Le Goater wrote:
> > > > > migrate_set_state is also unintuitive because it ignores invalid stat
During we waited on qemu_pause_cond the bql was unlocked,
the vcpu's state may has been changed by other thread, so
we must request the pause state on all vcpus again.
For example:
Both main loop thread and vCPU thread are allowed to call
pause_all_vcpus(), and in general resume_all_vcpus() is
On 3/15/24 14:11, Peter Xu wrote:
On Fri, Mar 15, 2024 at 01:20:49PM +0100, Cédric Le Goater wrote:
+static void qemu_savevm_wait_unplug(MigrationState *s, int state)
One more trivial comment: I'd even consider dropping "state" altogether, as
this should be the only state this function should
On 3/15/24 14:09, Peter Xu wrote:
On Fri, Mar 15, 2024 at 01:20:49PM +0100, Cédric Le Goater wrote:
On 3/15/24 12:01, Peter Xu wrote:
On Fri, Mar 15, 2024 at 11:17:45AM +0100, Cédric Le Goater wrote:
migrate_set_state is also unintuitive because it ignores invalid state
transitions and we've b
On 3/15/24 15:44, Markus Armbruster wrote:
> [?? ??? ? ?? ?? arm...@redhat.com. ???, ?? ??? ?,
> ?? ?? https://aka.ms/LearnAboutSenderIdentification ]
>
> Andrey Drobyshev writes:
>
>> Since the commit 25b5ff1a86 ("qga: add mountpoint usage info to
>> GuestFilesy
On 3/15/24 13:20, Cédric Le Goater wrote:
On 3/15/24 12:01, Peter Xu wrote:
On Fri, Mar 15, 2024 at 11:17:45AM +0100, Cédric Le Goater wrote:
migrate_set_state is also unintuitive because it ignores invalid state
transitions and we've been using that property to deal with special
states such as
> +Build/bios-tables-test.%.efi:
> + $(PYTHON) ../../roms/edk2-build.py --config uefi-test-build.config
Adding '--match $*' will build one arch instead of all.
On Fri, Mar 15, 2024 at 06:35:09PM +0530, Sunil V L wrote:
> Enable building the test application for RISC-V with appropriate
> dependencies updated.
>
> Signed-off-by: Sunil V L
> ---
> tests/uefi-test-tools/UefiTestToolsPkg/UefiTestToolsPkg.dsc | 6 +-
> 1 file changed, 5 insertions(+), 1
On Fri, Mar 15, 2024 at 06:35:08PM +0530, Sunil V L wrote:
> UefiTestToolsPkg which should use edk2-build.py needs --module parameter
> support. Add this optional parameter handling.
I don't think this is needed. By default everything listed in
[Components] should be built, which is just that one
VDUSE requires that virtqueues are first enabled before the DRIVER_OK
status flag is set; with the current API of the kernel module, it is
impossible to enable the opposite order in our block export code because
userspace is not notified when a virtqueue is enabled.
This requirement also mathces t
1 - 100 of 204 matches
Mail list logo