concern considering QEMU and
Glib both provide various abstractions used around the rest of the code
base. The original patch that introduces the mapcache doesn't tell me
much about access patterns for the cache, just that it is trying to
solve memory exhaustion issues with lots of dynamic small mappings.
Maybe a simpler structure is desirable?
We also have an interval tree implementation ("qemu/interval-tree.h") if
what we really want is a sorted tree of memory that can be iterated
locklessly.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
if (timer_is_periodic(timer)) {
> + timer->cmp &= 0xULL;
> +}
> +hpet_set_timer(timer);
> }
> }
> } else if (deactivating_bit(old_val, new_val, HPET_CFG_ENABLE)) {
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
../../hw/core/loader-fit.c:20:
/home/alex/lsrc/qemu.git/include/qemu/osdep.h: In function ‘load_fit’:
/home/alex/lsrc/qemu.git/include/qemu/osdep.h:486:45: error: ‘kernel_end’ may
be used uninitialized [-Werror=maybe-uninitialized]
486 | #define ROUND_UP(n, d) ROUND_DOWN((n) + (d) - 1, (d
"Edgar E. Iglesias" writes:
> On Thu, Jul 4, 2024 at 1:26 PM Alex Bennée wrote:
>
> "Edgar E. Iglesias" writes:
>
> > From: "Edgar E. Iglesias"
> >
> > Bail out in qemu_ram_block_from_host() when
> > xen_ram_addr_from_m
er didn't spot the problem;
> it's okay to send out broken patches, that's part of the learning
> experience. :)
>
> Paolo
>
> (*) as opposed to Acked-by, where your review probably has been more
> conceptual than technical, and that you don't really want to take the
> patch in a pull request.
>
>
> Paolo
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
for failed mappings?
> block = qemu_get_ram_block(ram_addr);
> if (block) {
> *offset = ram_addr - block->offset;
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
letions(-)
Queued to plugins/next, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
have .mailmap and the gitdm metadata for
after the fact fixups.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Stefano Garzarella writes:
> I have recently been working on supporting vhost-user on any POSIX,
> so I want to help maintain it.
>
> Cc: Michael S. Tsirkin
> Signed-off-by: Stefano Garzarella
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Zhao Liu writes:
> Signed-off-by: Zhao Liu
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Zhao Liu writes:
> Fix the superfluous trailing semicolon in target/hexagon/imported/mmvec/
> ext.idef.
>
> Cc: Brian Cain
> Signed-off-by: Zhao Liu
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Value, 1);;
> +stats->value = g_new0(StatsValue, 1);
>
> if ((pdesc->flags & KVM_STATS_UNIT_MASK) == KVM_STATS_UNIT_BOOLEAN) {
> stats->value->u.boolean = *stats_data;
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
VirtIO specification?
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
;,
> >[ON_OFF_AUTO_ON] = "on",
> >[ON_OFF_AUTO_OFF] = "off",
> >},
> >.size = ON_OFF_AUTO__MAX
> > };
> >
> > I also tried with an existing property:
> >
> > $ ./qemu-system-x86_64 -device intel-hda,msi=0
> > qemu-system-x86_64: -device intel-hda,msi=0: Parameter 'msi' does not
> > accept value '0'
>
> Then it was probably bit properties that also accept 0/1, on/off,
> true/false. Maybe similar aliases could be added to on/off/auto?
>
> In any case when I first saw rombar I thought it would set the BAR of the
> ROM so wondered why it's 1 and not 5 or 6 or an offset. So on/off is
> clearer in this case.
There's only one PCI spec defined offset for the ROM BAR. Yes, the
option could be more clear but relocating the ROM to a different
regular BAR offset is invalid. Thanks,
Alex
lowed to
> fail.)
>
> Signed-off-by: John Snow
Reviewed-by: Alex Bennée
Tested-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
John Snow writes:
> There is a bug in this version,
> see: https://github.com/pylint-dev/pylint/issues/9751
>
> Signed-off-by: John Snow
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
2: E0606: Possibly using variable 'sock' before
> assignment (possibly-used-before-assignment)
> qemu/utils/qemu_ga_client.py:168:4: R1711: Useless return at end of function
> or method (useless-return)
>
> Signed-off-by: John Snow
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
if (cpu->env.tagged_addr_enable) {
> +CPUARMState *env = cpu_env(cs);
> +if (env->tagged_addr_enable) {
> /*
> * TBI is enabled for userspace but not kernelspace addresses.
> * Only clear the tag if bit 55 is clear.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
"BillXiang" writes:
>> From: "Alex Bennée"
>> Date: Mon, Jul 1, 2024, 16:49
>> Subject: Re: [PATCH] vhost-user: Skip unnecessary duplicated
>> VHOST_USER_SET_LOG_BASE requests
>> To: "项文成"
>> Cc: ,
>> 项文成 writes:
, %%eax\n\t"
> +"shll %%cl, %%edx\n\t"
> +: "=a"(*a), "=d"(*d)
> +: "c"(c));
> +}
> +
> +int main(void)
> +{
> +long a, c, d;
The compiler complains about the mismatch between long and the unsigned
long of
"setne %%dl\n\t"
> +"shll %%cl, %%eax\n\t"
> +"shll %%cl, %%edx\n\t"
> +: "=a"(*a), "=d"(*d)
> +: "c"(c));
> +}
> +
> +int main(void)
> +{
> +long a, c, d;
> +
> +for (c = 0; c < 64; c++) {
> +test(, , c);
> +assert(a == (c & 0x20 ? 0 : 1u << (c & 0x1f)));
> +assert(d == (c & 0x20 ? 1u << (c & 0x1f) : 0));
> +}
> +return 0;
> +}
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
e VHOST_USER_ADD_MEM_REG:
> case VHOST_USER_REM_MEM_REG:
> +case VHOST_USER_SET_LOG_BASE:
> return true;
> default:
> return false;
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Gustavo Romero writes:
> Hi Alex,
>
> On 6/28/24 9:14 AM, Alex Bennée wrote:
>> Gustavo Romero writes:
>>
>>> Factor out the code used for setting the MTE TCF0 field from the prctl
>>> code into a convenient function. Other subsystems, like gdbstub, need
Alex Bennée writes:
> Incorrect brace positions causes an unintended overflow on 32 bit
> builds and shenanigans result.
>
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2413
> Suggested-by: Mark Cave-Ayland
> Signed-off-by: Alex Bennée
This seems to t
From: Gustavo Romero
Allow passing the current CPU context to command handlers via user_ctx
when the handler requires it.
Signed-off-by: Gustavo Romero
Signed-off-by: Alex Bennée
Message-Id: <20240628050850.536447-9-gustavo.rom...@linaro.org>
---
include/gdbstub/commands.h | 3 +++
g
From: Gustavo Romero
If page in 'ptr_access' is inaccessible and probe is 'true'
allocation_tag_mem_probe should not throw an exception, but currently it
does, so fix it.
Signed-off-by: Gustavo Romero
Reviewed-by: Alex Bennée
Reviewed-by: Richard Henderson
Message-Id: <20240628050850.536
From: Gustavo Romero
This commit implements the stubs to handle the qIsAddressTagged,
qMemTag, and QMemTag GDB packets, allowing all GDB 'memory-tag'
subcommands to work with QEMU gdbstub on aarch64 user mode. It also
implements the get/set functions for the special GDB MTE register
'tag_ctl',
From: Gustavo Romero
cmd_startswith is a boolean so use 'true' to set it instead of 1.
Signed-off-by: Gustavo Romero
Message-Id: <20240628050850.536447-10-gustavo.rom...@linaro.org>
---
gdbstub/gdbstub.c | 80 +++
1 file changed, 40 insertions(+),
From: Gustavo Romero
Make gdb_hextomem non-internal so it's not confined to use only in
gdbstub.c.
Signed-off-by: Gustavo Romero
Reviewed-by: Richard Henderson
Message-Id: <20240628050850.536447-8-gustavo.rom...@linaro.org>
---
gdbstub/internals.h| 1 -
include/gdbstub/commands.h | 6
From: Gustavo Romero
Add tests to exercise the MTE stubs. The tests will only run if a
version of GDB that supports MTE is available in the test environment.
Signed-off-by: Gustavo Romero
Message-Id: <20240628050850.536447-12-gustavo.rom...@linaro.org>
---
configure
functions as interfaces
to extend the qSupported string, the query handler table, and the set
handler table, allowing target-specific stub implementations.
Signed-off-by: Gustavo Romero
Reviewed-by: Alex Bennée
Message-Id: <20240628050850.536447-4-gustavo.rom...@linaro.org>
---
include/g
fcvt test cases for AArch32/64")
Message-Id: <20240627-tcg-v2-1-1690a8133...@daynix.com>
Signed-off-by: Alex Bennée
---
tests/tcg/arm/fcvt.c | 2 +-
tests/tcg/aarch64/fcvt.ref | 604 ++---
2 files changed, 303 insertions(+), 303 deletions(-)
We can't assign sock_path directly from the autofree'd GStrv, take a
copy.
Signed-off-by: Alex Bennée
---
contrib/plugins/lockstep.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/plugins/lockstep.c b/contrib/plugins/lockstep.c
index 237543b43a..111ec3fa27 100644
From: Gustavo Romero
Change 'process_string_cmd' to return true on success and false on
failure, instead of 0 and -1.
Signed-off-by: Gustavo Romero
Reviewed-by: Alex Bennée
Reviewed-by: Richard Henderson
Reviewed-by: Philippe Mathieu-Daudé
Message-Id: <20240628050850.536447-2-gustavo.
Incorrect brace positions causes an unintended overflow on 32 bit
builds and shenanigans result.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2413
Suggested-by: Mark Cave-Ayland
Signed-off-by: Alex Bennée
---
target/i386/tcg/translate.c | 2 +-
1 file changed, 1 insertion(+), 1
across the
board.
Signed-off-by: Gustavo Romero
Message-Id: <20240628050850.536447-7-gustavo.rom...@linaro.org>
[AJB: clean-up includes, move MTE defines]
Signed-off-by: Alex Bennée
---
vAJB:
- clean-up includes, move MTE defines
---
linux-user/aarch64/mte_user_helper.
in the way and its TCG issues we want to
catch I've added --disable-kvm to the build.
Reported-by: Richard Henderson
Suggested-by: Thomas Huth
Signed-off-by: Alex Bennée
---
v2
- add --disable-kvm
- currently blocked by https://gitlab.com/qemu-project/qemu/-/issues/2413
---
.gitlab-ci.d
: Fix fcvt result messages
Alex Bennée (10):
tests/lcitool: fix debian-i686-cross toolchain prefix
target/i386: fix gen_prepare_size_nz condition
testing: restore some testing for i686
tracepoints: move physmem trace points
test/plugin: make insn plugin less noisy by default
test/plugins
.
Replace -u $(UID) with --userns keep-id, which fixes the UID remapping.
This change is limited to Podman because Docker does not support
--userns keep-id.
Signed-off-by: Akihiko Odaki
Message-Id: <20240626-podman-v1-1-f8c8daf2b...@daynix.com>
Signed-off-by: Alex Bennée
---
tests/
We are interested in the particular instruction so we should use a
stable record for it. We could bring this down to physical address but
for now vaddr + disas seems to do the trick.
Signed-off-by: Alex Bennée
---
tests/plugin/insn.c | 76 ++---
1 file
to gdb_get_cmd_param.
This commit also makes gdb_put_packet public since is used in gdbstub
command handling.
Signed-off-by: Gustavo Romero
Reviewed-by: Alex Bennée
Message-Id: <20240628050850.536447-3-gustavo.rom...@linaro.org>
---
gdbstub/internals.h| 22 --
include/gdbstub/comm
This really helps with lockstep although its super slow on big jobs.
Signed-off-by: Alex Bennée
---
contrib/plugins/lockstep.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/contrib/plugins/lockstep.c b/contrib/plugins/lockstep.c
index 761bcdf363..353bf12dfb 100644
The ExecState is shared across the socket and if we want to compare
say 64 bit and 32 bit binaries we need the two to use the same sizes
for things.
Signed-off-by: Alex Bennée
---
contrib/plugins/lockstep.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/contrib/plugins
While the match functionality is useful lets make the verbosity
optional while we are actually running.
Signed-off-by: Alex Bennée
---
tests/plugin/insn.c | 36 +---
1 file changed, 21 insertions(+), 15 deletions(-)
diff --git a/tests/plugin/insn.c b/tests
From: Gustavo Romero
Make the MTE helpers allocation_tag_mem_probe, load_tag1, and store_tag1
available to other subsystems.
Signed-off-by: Gustavo Romero
Reviewed-by: Richard Henderson
Reviewed-by: Philippe Mathieu-Daudé
Message-Id: <20240628050850.536447-6-gustavo.rom...@linaro.org>
---
We were repeating information which wasn't super clear. As we already
will have dumped the last failing PC just note the divergence and dump
the previous instruction log.
Signed-off-by: Alex Bennée
---
contrib/plugins/lockstep.c | 16
1 file changed, 8 insertions(+), 8
I guess we never noticed and tried to build with this cross image. Fix
the toolchain prefix so we actually build 32 bit images.
Signed-off-by: Alex Bennée
---
tests/docker/dockerfiles/debian-i686-cross.docker | 2 +-
tests/lcitool/refresh | 2 +-
2 files changed, 2
They don't need to be in the global trace-events file and can have a
local trace header. Also add address_space_map tracepoint for tracking
mapping behaviour.
Signed-off-by: Alex Bennée
---
system/physmem.c| 6 --
system/trace-events | 6 ++
trace-events| 5 -
3 files
Gustavo Romero writes:
> This patchset adds the stubs necessary to support GDB memory tagging
> commands on QEMU aarch64 user mode.
Queued to gdbstub/next, thanks. I've manually fixed up the include
issues and moved the PR defines to avoid using prctl.
--
Alex Bennée
Virtualisation Tec
xt, thanks. I'll take the rest of the clang bits
when the remaining cases are ironed out.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Akihiko Odaki writes:
> Unlike GCC, clang checks if the operands in assembly matches with the
> type in C. It also does not support "x" constraint for AArch64 and
> complains about them.
I guess there are more needed:
ninja: no work to do.
/home/alex/lsrc/qemu.git/buil
-Identifier: LGPL-2.1-or-later
> + */
> +
> +#include
Aside from missing the osdep Phillipe pointed out including prctl.h here
is very suspect as its a system header. I assume if we need
PR_MTE_TCF_SYNC we should hoist the definition that linux-user uses into
a common header.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
tures[];
>> +/**
>> + * Return the first attached CPU
>> + */
>> +CPUState *gdb_first_attached_cpu(void);
>
> Alex, it seems dubious to expose the API like that.
>
> IMHO GdbCmdHandler should take a GDBRegisterState argument,
> then this would be
Daniel P. Berrangé writes:
> On Wed, Jun 26, 2024 at 03:03:07PM +0100, Alex Bennée wrote:
>> Re-enabling the 32 bit host build on i686 showed the recently merged
>> SEV code doesn't take enough care over its types. While the format
>> strings could use more portable types th
D mismatches with the owner of the
> directories.
>
> Replace -u $(UID) with --userns keep-id, which fixes the UID remapping.
> This change is limited to Podman because Docker does not support
> --userns keep-id.
Queued to testing/next, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
ang version 18.1.6 does not support such mixing so properly specify
> the extension with the compiler option instead.
Also with gcc on aarch64.ci.qemu.org (Ubuntu 22.04.4 LTS) I get:
16:05:44 [alex@aarch64:~/l/q/b/all] plugins/next|✚1…(+0/-0) + make
run-tcg-tests-aarch64-linux-user
ang version 18.1.6 does not support such mixing so properly specify
> the extension with the compiler option instead.
I think we need fixes for older clangs supported by our distros as well:
16:08:26 [alex@aarch64:~/l/q/b/all.clang] plugins/next|✚1…(+0/-0) 2 + clang
--version
Ubuntu
mmit: 74abb45dac6979e7ff76172b7f0a24e869405184
> change-id: 20240624-tcg-bf8116e80afa
>
> Best regards,
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
for a 32 bit build. It's highly unlikely anyone would
want this functionality anyway.
Signed-off-by: Alex Bennée
---
target/i386/sev.h | 2 +-
target/i386/meson.build | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/target/i386/sev.h b/target/i386/sev.h
index 858005a119
Message-Id: <20240625145418.694476-1-alex.ben...@linaro.org>
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Henderson
Suggested-by: Thomas Huth
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/crossbuilds.yml | 10 ++
1 file changed, 10 insertions(+)
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 47bdb99b5b..5ba728f641 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b
Hi,
The KVM/QEMU community call is at:
https://meet.jit.si/kvmcallmeeting
@
25/6/2024 14:00 UTC
Are there any agenda items for the sync-up?
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
f-by: Pierrick Bouvier
Message-Id: <20240530220610.1245424-7-pierrick.bouv...@linaro.org>
Signed-off-by: Alex Bennée
Message-Id: <20240620152220.2192768-11-alex.ben...@linaro.org>
diff --git a/contrib/plugins/ips.c b/contrib/plugins/ips.c
new file mode 100644
index 00..29fa
-by: Richard Henderson
Signed-off-by: Alex Bennée
Message-Id: <20240620152220.2192768-10-alex.ben...@linaro.org>
diff --git a/plugins/api.c b/plugins/api.c
index 4431a0ea7e..2ff13d09de 100644
--- a/plugins/api.c
+++ b/plugins/api.c
@@ -47,6 +47,8 @@
#include "disas/disas.h"
#include &qu
g>
Signed-off-by: Alex Bennée
Message-Id: <20240620152220.2192768-12-alex.ben...@linaro.org>
diff --git a/accel/tcg/plugin-gen.c b/accel/tcg/plugin-gen.c
index cc1634e7a6..b6bae32b99 100644
--- a/accel/tcg/plugin-gen.c
+++ b/accel/tcg/plugin-gen.c
@@ -240,13 +240,13 @@ static voi
: <20240530220610.1245424-6-pierrick.bouv...@linaro.org>
Signed-off-by: Alex Bennée
Message-Id: <20240620152220.2192768-9-alex.ben...@linaro.org>
diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h
index 95703d8fec..c71c705b69 100644
--- a/include/qemu/qemu-plugin.h
+++ b/
2-2-max.c...@sifive.com>
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Alex Bennée
Message-Id: <20240620152220.2192768-13-alex.ben...@linaro.org>
diff --git a/accel/tcg/ldst_common.c.inc b/accel/tcg/ldst_common.c.inc
index c82048e377..87ceb95487 100644
--- a/accel/tcg/ldst_common
Move the key functionality of moving time forward into the clock
sub-system itself. This will allow us to plumb in time control into
plugins.
Signed-off-by: Pierrick Bouvier
Signed-off-by: Alex Bennée
Message-Id: <20240620152220.2192768-7-alex.ben...@linaro.org>
diff --git a/includ
This generalises the qtest_clock_warp code to use the AccelOps
handlers for updating its own sense of time. This will make the next
patch which moves the warp code closer to pure code motion.
From: Alex Bennée
Acked-by: Thomas Huth
Signed-off-by: Pierrick Bouvier
Message-Id
- allow qemu_plugin_vcpu_mem_cb to shortcut when no memory cbs
Akihiko Odaki (1):
plugins: Ensure register handles are not NULL
Alex Bennée (7):
include/exec: add missing include guard comment
gdbstub: move enums
4-2-pierrick.bouv...@linaro.org>
Signed-off-by: Alex Bennée
Message-Id: <20240620152220.2192768-5-alex.ben...@linaro.org>
diff --git a/include/sysemu/accel-ops.h b/include/sysemu/accel-ops.h
index ef91fc28bb..a088672230 100644
--- a/include/sysemu/accel-ops.h
+++ b/include/sysemu/accel-op
From: Akihiko Odaki
Ensure register handles are not NULL so that a plugin can assume NULL is
invalid as a register handle.
Signed-off-by: Akihiko Odaki
Reviewed-by: Pierrick Bouvier
Message-Id: <20240229-null-v1-1-e716501d9...@daynix.com>
Signed-off-by: Alex Bennée
Reviewed-by: R
This is an experiment to further reduce the amount we throw into the
exec headers. It might not be as useful as I initially thought because
just under half of the users also need gdbserver_start().
Reviewed-by: Pierrick Bouvier
Signed-off-by: Alex Bennée
Reviewed-by: Richard Henderson
Message
From: Pierrick Bouvier
Signed-off-by: Pierrick Bouvier
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Alex Bennée
Message-Id: <20240530220610.1245424-5-pierrick.bouv...@linaro.org>
Message-Id: <20240620152220.2192768-8-alex.ben...@linaro.org>
diff --git a/include/sysemu/qtest
Reviewed-by: Pierrick Bouvier
Signed-off-by: Alex Bennée
Reviewed-by: Richard Henderson
Message-Id: <20240620152220.2192768-2-alex.ben...@linaro.org>
diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h
index eb14b91139..008a92198a 100644
--- a/include/exec/gdbstub.h
+++ b/includ
> - CONFIG="--disable-containers --disable-system"
> @@ -263,6 +268,7 @@ jobs:
>- libvdeplug-dev
>- libvte-2.91-dev
>- ninja-build
> + - python3-tomli
> env:
> - TEST_CMD="make check-unit"
> - CONFIG="--disable-containers --disable-tcg --enable-kvm
> --disable-tools
FWIW the changes themselves look fine:
Acked-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
uting JITed code.
>
> At 2024-06-24 16:57:40, "Alex Bennée" wrote:
>>tugouxp <13824125...@163.com> writes:
>>
>>> Hello folks:
>>>I have a puzzle on qemu major two emuation implentions on whole system
>>> emulation, that is ,excep
vm is much faster than TCG, but my question just about the
> funtion, not care about speed.
>
> thanks for your kindly help!
> BRs
> zilong.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Dmitry Osipenko writes:
> On 6/21/24 11:59, Alex Bennée wrote:
>> Dmitry Osipenko writes:
>>
>>> On 6/19/24 20:37, Alex Bennée wrote:
>>>> So I've been experimenting with Aarch64 TCG with an Intel backend like
>>>> this:
>>>>
>>
more complicated... do we have a plan for gdb when we get
> to the point where the board contains multiple cpu types? Not yet, of
> course, but we're working on it...
I think gdb needs to be a little smarter here.
>
>
> r~
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Dmitry Osipenko writes:
> On 6/19/24 20:37, Alex Bennée wrote:
>> So I've been experimenting with Aarch64 TCG with an Intel backend like
>> this:
>>
>> ./qemu-system-aarch64 \
>>-M virt -cpu cortex-a76 \
>>-device virtio-net-pci,n
d_set_table() - Extend set table.
> + * @table: The table with the additional set packet handlers.
> + * @size: The number of handlers to be added.
> + */
> +void gdb_extend_set_table(GdbCmdParseEntry *table, int size);
> +
> +/**
> + * gdb_extend_qsupported_features() - Extend the qSupported features string.
> + * @qsupported_features: The additional qSupported feature(s) string. The
> string
> + * should start with a semicolon and, if there are more than one feature, the
> + * features should be separate by a semiocolon.
> + */
> +void gdb_extend_qsupported_features(char *qsupported_features);
> +
> #endif /* GDBSTUB_COMMANDS_H */
Otherwise:
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
There is some confusion about when you should use one over the other.
Lets try and address that by adding some kdoc comments.
Suggested-by: Paolo Bonzini
Signed-off-by: Alex Bennée
---
include/hw/core/cpu.h | 19 ++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git
e716501d9...@daynix.com>
Signed-off-by: Alex Bennée
---
plugins/api.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/plugins/api.c b/plugins/api.c
index 5a0a7f8c71..6bdb26bbe3 100644
--- a/plugins/api.c
+++ b/plugins/api.c
@@ -507,7 +507,7 @@ static GArray *create_register_ha
From: Pierrick Bouvier
Signed-off-by: Pierrick Bouvier
Reviewed-by: Philippe Mathieu-Daudé
Message-Id: <20240530220610.1245424-5-pierrick.bouv...@linaro.org>
---
include/sysemu/qtest.h | 3 ---
accel/qtest/qtest.c| 12
system/qtest.c | 12
3 files
From: Max Chou
If there are not any QEMU plugin memory callback functions, checking
before calling the qemu_plugin_vcpu_mem_cb function can reduce the
function call overhead.
Signed-off-by: Max Chou
Reviewed-by: Richard Henderson
Reviewed-by: Frank Chang
Message-Id:
g>
Signed-off-by: Alex Bennée
---
accel/tcg/plugin-gen.c | 4 ++--
plugins/core.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/accel/tcg/plugin-gen.c b/accel/tcg/plugin-gen.c
index cc1634e7a6..b6bae32b99 100644
--- a/accel/tcg/plugin-gen.c
+++ b/accel/
This generalises the qtest_clock_warp code to use the AccelOps
handlers for updating its own sense of time. This will make the next
patch which moves the warp code closer to pure code motion.
From: Alex Bennée
Acked-by: Thomas Huth
Signed-off-by: Pierrick Bouvier
Signed-off-by: Alex Bennée
Signed-off-by: Alex Bennée
---
include/exec/gdbstub.h| 9 -
include/gdbstub/enums.h | 21 +
accel/hvf/hvf-accel-ops.c | 2 +-
accel/kvm/kvm-all.c | 2 +-
accel/tcg/tcg-accel-ops.c | 2 +-
gdbstub/user.c| 1 +
monitor/hmp-cmds.c
We are about to remove direct calls to individual accelerators for
this information and will need a central point for plugins to hook
into time changes.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Pierrick Bouvier
Signed-off-by: Alex Bennée
Reviewed-by: Richard Henderson
Message-Id
-by: Alex Bennée
Message-Id: <20240530220610.1245424-6-pierrick.bouv...@linaro.org>
---
plugins/next
- make qemu_plugin_update_ns a NOP in user-mode
v2
- remove From: header
- merged in plugins: missing QEMU_PLUGIN_API for time control
---
include/qemu/qemu-plugin.h
f-by: Pierrick Bouvier
Signed-off-by: Alex Bennée
Message-Id: <20240530220610.1245424-7-pierrick.bouv...@linaro.org>
---
v2
- more explicit Instructions Per Second (IPS)!
---
contrib/plugins/ips.c| 164 +++
contrib/plugins/Makefile | 1 +
If the plugin in controlling time there is some state that might be
missing from the plugin tracking it. Migration is unlikely to work in
this case so lets put a migration blocker in to let the user know if
they try.
Signed-off-by: Alex Bennée
Suggested-by: "Dr. David Alan Gilbert"
--
following still need review:
plugins: add migration blocker
Alex.
Akihiko Odaki (1):
plugins: Ensure register handles are not NULL
Alex Bennée (7):
include/exec: add missing include guard comment
gdbstub: move enums into separate header
sysemu: add set_virtual_time to accel ops
qtes
Message-Id: <20240612153508.1532940-2-alex.ben...@linaro.org>
Reviewed-by: Pierrick Bouvier
Signed-off-by: Alex Bennée
---
include/exec/gdbstub.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h
index eb14b91139..008a
Move the key functionality of moving time forward into the clock
sub-system itself. This will allow us to plumb in time control into
plugins.
Signed-off-by: Pierrick Bouvier
Signed-off-by: Alex Bennée
Message-Id: <20240530220610.1245424-4-pierrick.bouv...@linaro.org>
--
v2
- use tar
y. IOW,
> if they have well defined behaviour for arithmetic on void *,
> then we are free to use it.
It looks like GNU C does support it:
https://gcc.gnu.org/onlinedocs/gcc/Pointer-Arith.html
>
> With regards,
> Daniel
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
tate *cpu_iter;
> +CPU_FOREACH(cpu_iter) {
> +cpus++;
> +}
> + }
> +g_string_printf(buf, "%d ", cpus);
Looks ok to me.
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Max Chou writes:
> If there are not any QEMU plugin memory callback functions, checking
> before calling the qemu_plugin_vcpu_mem_cb function can reduce the
> function call overhead.
>
> Signed-off-by: Max Chou
Queued this patch to maintainer/june-2024-omnibus, thanks.
uot; != "" && meson_option_add
> "-Dwith_rust_target_triple=$with_rust_target_triple"
>run_meson() {
> NINJA=$ninja $meson setup "$@" "$PWD" "$source_path"
>}
> +summary_info += {'Rust support': with_rust}
> +if with_rust and get_option('with_rust_target_triple') != ''
> + summary_info += {'Rust target': get_option('with_rust_target_triple')}
> +endif
I wonder if we should display the auto-probed triple here as well, not
just when its been overridden?
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
1 - 100 of 24385 matches
Mail list logo