;accel/tcg: Always lock pages before translation")
> Signed-off-by: Anton Johansson
> Reviewed-by: Manos Pitsidianakis
> Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
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().
Signed-off-by: Alex Bennée
---
include/exec/gdbstub.h| 9 -
include/gdbstub/enums.h
. The idea would be to eventually deprecate the icount auto
modes in favour of a plugin and just use icount for deterministic
execution and record/replay.
Alex.
Akihiko Odaki (1):
plugins: Ensure register handles are not NULL
Alex Bennée (6):
include/exec: add missing include guard comment
gdb
Expose the ability to control time through the plugin API. Only one
plugin can control time so it has to request control when loaded.
There are probably more corner cases to catch here.
From: Alex Bennée
Signed-off-by: Pierrick Bouvier
[AJB: tweaked user-mode handling]
Signed-off-by: Alex
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
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
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..008a92198a 100644
--- a/include/exec/gdbstub.h
+++ b/include/exec/gdbstub.h
@@ -144,4 +144,4 @@ void
From: Pierrick Bouvier
This plugin uses the new time control interface to make decisions
about the state of time during the emulation. The algorithm is
currently very simple. The user specifies an ips rate which applies
per core. If the core runs ahead of its allocated execution time the
plugin
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.
From: Alex Bennée
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Pierrick Bouvier
Signed-off-by: Alex Bennée
Message-Id
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
Message-Id: <20240229-null-v1-1-e716501d9...@daynix.com>
Signed-off-by: Alex Bennée
---
plugins/api.c | 4 ++--
1 file changed, 2 inse
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.
From: Alex Bennée
Signed-off-by: Pierrick Bouvier
Signed-off-by: Alex Bennée
Message-Id: <20240530220610.1245424-4-pierrick.bouv...@linaro.
; which I think amounts to the
same thing.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
f (EX_TBFLAG_ANY(tb_flags, AARCH64_STATE)) {
ops = _translator_ops;
}
#endif
which I guess for a runtime helper would be:
if (is_a64(cpu_env(cs))) {
aarch64_plugin_need_unwind_for_reg(...);
} else {
arm_plugin_need_unwind_for_reg(...);
}
etc...
> object_class_property_add_bool(oc, "aarch64", aarch64_cpu_get_aarch64,
> aarch64_cpu_set_aarch64);
> object_class_property_set_description(oc, "aarch64",
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
>
> diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c
> index acd6016980..71b54914d3 100644
> --- a/hw/usb/hcd-ohci.c
> +++ b/hw/usb/hcd-ohci.c
> @@ -941,8 +941,8 @@ static int ohci_service_td(OHCIState *ohci, struct
> ohci_ed *ed)
> if ((td.cbp & 0xf000) != (td.be & 0xf000)) {
> len = (td.be & 0xfff) + 0x1001 - (td.cbp & 0xfff);
> } else {
> -if (td.cbp > td.be) {
> -trace_usb_ohci_iso_td_bad_cc_overrun(td.cbp, td.be);
> +if (td.cbp - 1 > td.be) { /* rely on td.cbp != 0 */
> +trace_usb_ohci_td_bad_buf(td.cbp, td.be);
> ohci_die(ohci);
> return 1;
> }
With the updated commit message:
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
0,
> + ,
> + output_size);
> +}
Isn't this the next element? Could we continue; instead?
> assert(sz == output_size);
>
> virtqueue_push(vq, elem, sz);
>
> base-commit: 80e8f0602168f451a93e71cbb1d59e93d745e62e
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:America/New_York
X-LIC-LOCATION:America/New_York
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:19700308T02
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:America/New_York
X-LIC-LOCATION:America/New_York
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:19700308T02
; > buf ? buf : , output_size);
>> > +if (unlikely(sz != output_size)) {
>>
>> Is this a normal guest behavior? Should we log it as GUEST_ERROR?
>
> It's not, it'd be a virtio spec (implementation) mis-use by the guest.
> the Internal device error (VIRTIO_IOMMU_S_DEVERR) would be logged by
> the kernel; should we log it as well?
Yes logging guest errors are useful when attempting to work out if
guests are buggy or QEMU is in the future.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
%s %s", liba, args.outdir)
>> +shutil.copy2(liba, args.outdir)
>> +
>> +
>> +def main() -> None:
>> +parser = argparse.ArgumentParser()
>> +parser.add_argument("-v", "--verbose", action="store_true")
>> +parser.add_argument(
>> +"--color",
>> +metavar="WHEN",
>> +choices=["auto", "always", "never"],
>> +default="auto",
>> +help="Coloring: auto, always, never",
>> +)
>> +parser.add_argument(
>> +"--config-headers",
>> +metavar="CONFIG_HEADER",
>> +action="append",
>> +dest="config_headers",
>> +required=False,
>> +default=[],
>> +)
>> +parser.add_argument(
>> +"--meson-build-dir",
>> +metavar="BUILD_DIR",
>> +help="meson.current_build_dir()",
>> +type=pathlib.Path,
>> +dest="meson_build_dir",
>> +required=True,
>> +)
>> +parser.add_argument(
>> +"--meson-source-dir",
>> +metavar="SOURCE_DIR",
>> +help="meson.current_source_dir()",
>> +type=pathlib.Path,
>> +dest="meson_source_dir",
>> +required=True,
>> +)
>> +parser.add_argument(
>> +"--crate-dir",
>> +metavar="CRATE_DIR",
>> +type=pathlib.Path,
>> +dest="crate_dir",
>> +help="Absolute path that contains the manifest file of the crate to
>> compile",
>> +required=True,
>> +)
>> +parser.add_argument(
>> +"--outdir",
>> +metavar="OUTDIR",
>> +type=pathlib.Path,
>> +dest="outdir",
>> +help="Path to copy compiled artifacts to for Meson to use.",
>> +required=True,
>> +)
>> +parser.add_argument(
>> +"--profile", type=str, choices=["release", "debug"], required=True
>> +)
>> +parser.add_argument(
>> +"--target-triple", type=str, choices=RUST_TARGET_TRIPLES,
>> required=True
>> +)
>> +
>> +subparsers = parser.add_subparsers()
>> +
>> +buildlib = subparsers.add_parser("build-lib")
>> +buildlib.set_defaults(func=build_lib)
>> +
>> +args = parser.parse_args()
>> +if args.verbose:
>> +logging.basicConfig(level=logging.DEBUG)
>> +logging.debug("args: %s", args)
>> +
>> +args.func(args)
>> +
>> +
>> +if __name__ == "__main__":
>> +main()
>> --
>> γαῖα πυρί μιχθήτω
>>
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
o-freeing of elements?
>> unsigned sg_num = iov_copy(sg, ARRAY_SIZE(sg),
>> out_sg, out_num,
>> 0, n->host_hdr_len);
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
not true. If I wrote the pl011 device with this workflow I'd just
>> waste time using meson. Part of the development is making sure the library
>> type checks, compiles, using cargo to run style formatting, to check for
>> lints, perhaps run tests. Doing this only through meson is an unn
t
> work need to be done. Meanwhile, do not enable it
> unless TCG is available.
Queued to semihosting/next, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
asy for anyone wishing to collect
> the required dependencies for offline builds (something I've used for
> CentOS builds where vendoring is allowed).
>
> I suggest not vendoring packages in qemu.git. Users can still run
> `cargo vendor` for easy offline builds.
>
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
; be done as part of the rust build.
>
> Having to run the build before getting completion does not seem to be
> a huge compromise.
>
As long as the Language Server can kick in after a first build. Rust
definitely leans in to the concept of the tooling helping you out while
coding.
I think for the C LSPs compile_commands.json is generated during the
configure step but I could be wrong.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
ro controllers but I don't think its
something we have to worry about for QEMU. One potential area of
co-operation would be the rust-vmm libraries and they definitely take
advantage of the stdlibs.
>
>
> With regards,
> Daniel
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
for something to be upstreamble.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Alex maintains the invite on our Linaro project calendar here:
https://calendar.google.com/calendar/event?action=TEMPLATE
were these missed?
>
> TCG is the only accelerator they use, so it is kinda implicit,
> but you are right, I'll update for completeness.
So I'll wait for a v3?
>
>> Otherwise for patch 1 & 2:
>> Reviewed-by: Anton Johansson
>
> Thanks!
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Weifeng Liu writes:
> Hi Alex,
>
> On Thu, 2024-06-06 at 11:43 +0100, Alex Bennée wrote:
>> Weifeng Liu writes:
>>
>> > Greetings,
>> >
>> > I'd like to introduce you my attempt to enable virglrenderer backend for
>> > rutabaga empo
As Centos Stream 8 goes out of support we need to update. To do this
powertools is replaced by crb and we don't over specify the python3 we
want.
Reviewed-by: Richard Henderson
Reviewed-by: Thomas Huth
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.3823123-4-alex.ben...@linaro.
: <20240601070543.37786-2-th...@redhat.com>
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.3823123-8-alex.ben...@linaro.org>
diff --git a/tests/lcitool/targets/centos-stream-8.yml
b/tests/lcitool/targets/centos-stream-8.yml
deleted file mode 100644
index 6b11160fd1..00
-th...@redhat.com>
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.3823123-11-alex.ben...@linaro.org>
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker
b/tests/docker/dockerfiles/fedora-win64-cross.docker
index fef846d5a6..007e1574bd 100644
--- a/tests/docker/dockerfiles/
With the new ability to output YAML we can build the package list for
our ansible setup scripts. We will integrate them in the next commit.
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.3823123-12-alex.ben...@linaro.org>
diff --git a/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.y
Now lcitool can write the package list for us we no longer need to
duplicate the information directly in build-environment.
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.3823123-13-alex.ben...@linaro.org>
diff --git a/scripts/ci/setup/ubuntu/build-environment.yml
b/scripts/ci
Alex Bennée (8):
ci: remove centos-steam-8 customer runner
docs/devel: update references to centos to non-versioned container
tests/vm: update centos.aarch64 image to 9
tests/vm: remove plain centos image
scripts/ci: remove CentOS bits from common build
-by: Richard Henderson
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.3823123-2-alex.ben...@linaro.org>
diff --git a/docs/devel/ci-jobs.rst.inc b/docs/devel/ci-jobs.rst.inc
index be06322279..3756bbe355 100644
--- a/docs/devel/ci-jobs.rst.inc
+++ b/docs/devel/ci-jobs.rst.inc
@@ -182,13
ork-around package
that we can use until somebody updates our Avocado to a newer version.
Signed-off-by: Thomas Huth
Message-Id: <20240601070543.37786-3-th...@redhat.com>
[AJB: regen on rebase]
Reviewed-by: Daniel P. Berrangé
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.
Document we have split up build-environment by distro and update the
references that exist in the code base to be correct.
Reviewed-by: Richard Henderson
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.3823123-7-alex.ben...@linaro.org>
diff --git a/docs/devel/ci-runners.rst.inc
This isn't really used and we have lighter weight docker containers
for testing this stuff directly.
Reviewed-by: Thomas Huth
Reviewed-by: Richard Henderson
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.3823123-5-alex.ben...@linaro.org>
diff --git a/tests/vm/Makefile.include b
have to bump at the next update.
Reviewed-by: Richard Henderson
Reviewed-by: Thomas Huth
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.3823123-3-alex.ben...@linaro.org>
diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst
index fa28e3ecb2..23d3f44f52 100644
--- a/docs/devel/tes
Although I've just removed the CentOS specific build-environment its
probably a bit too confusing to have multiple distros mixed up in one
place. Prior to moving clean-up what will be just for ubuntu.
Reviewed-by: Richard Henderson
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.3823
this
off in the failing clang-system job until all spots in the QEMU sources
have been tackled.
Signed-off-by: Thomas Huth
Reviewed-by: Daniel P. Berrangé
Message-Id: <20240601070543.37786-4-th...@redhat.com>
Signed-off-by: Alex Bennée
Message-Id: <20240603175328.3823123-9
s for rutabaga are
complex enough I think we need support upstream before merging this.
Is this branch where I should be getting the poll helpers from?
cc -m64 @qemu-system-arm.rsp
/usr/bin/ld: libcommon.fa.p/hw_display_virtio-gpu-rutabaga.c.o: in function
`virtio_gpu_fence_poll':
/home/a
Alex Bennée writes:
> Richard Henderson writes:
>
>> Certain target registers are not updated continuously within
>> the translation block. For normal exception handling we use
>> unwind info to re-generate the correct value when required.
>> Leverage that same in
Richard Henderson writes:
> Reviewed-by: Pierrick Bouvier
> Signed-off-by: Richard Henderson
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
;
> All targets will need updating for these new callbacks.
>
> Reviewed-by: Pierrick Bouvier
> Signed-off-by: Richard Henderson
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Richard Henderson writes:
> Adjust the i386 get_memio_eip function to use tb->cflags instead
> of tcg_cflags_has, which is technically more correct.
>
> Reviewed-by: Pierrick Bouvier
> Signed-off-by: Richard Henderson
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtua
Richard Henderson writes:
> Store a host code address to use with the tcg unwinder when called
> from a plugin. Generate one such store per guest insn that uses
> a plugin callback.
>
> Reviewed-by: Pierrick Bouvier
> Signed-off-by: Richard Henderson
Reviewed-by: Alex
Richard Henderson writes:
> Add an opcode to find a code address within the current insn,
> for later use with unwinding. Generate the code generically
> using tcg_reg_alloc_do_movi.
>
> Reviewed-by: Pierrick Bouvier
> Signed-off-by: Richard Henderson
Reviewed-by: Alex
Dmitry Osipenko writes:
> On 6/5/24 17:47, Alex Bennée wrote:
>
>> I'm guessing some sort of resource leak, if I run vkcube-wayland in the
>> guest it complains about being stuck on a fence with the iterator going
>> up. However on the host I see:
>>
>>
Manos Pitsidianakis writes:
> On Wed, 05 Jun 2024 16:35, Alex Bennée wrote:
>>As the latest features for virtio-gpu need a pretty recent version of
>>libvirglrenderer. When it is not available on the system we can use a
>>meson wrapper and provide it when --download is spe
Dmitry Osipenko writes:
> On 5/22/24 12:00, Alex Bennée wrote:
>> Dmitry Osipenko writes:
>>
>>> On 5/21/24 17:57, Alex Bennée wrote:
>>>> Alex Bennée writes:
>>>>
>>>>> Dmitry Osipenko writes:
>>>>>
>>>
Marc-André Lureau writes:
> Hi
>
> On Wed, Jun 5, 2024 at 5:35 PM Alex Bennée wrote:
>
> As the latest features for virtio-gpu need a pretty recent version of
> libvirglrenderer. When it is not available on the system we can use a
> meson wrapper and provide it when --
fails to exec the render server. As the error isn't
back propagated we make sure we at least test we have a path to an
executable before tweaking the environment.
Signed-off-by: Alex Bennée
Cc: Manos Pitsidianakis
Cc: Dmitry Osipenko
Cc: Akihiko Odaki
---
meson.build| 7
Paolo Bonzini writes:
> This has been the default forever.
>
> Signed-off-by: Paolo Bonzini
Acked-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
7d 100644
> --- a/configs/targets/mips64el-softmmu.mak
> +++ b/configs/targets/mips64el-softmmu.mak
> @@ -1,3 +1,4 @@
> TARGET_ARCH=mips64
> TARGET_BASE_ARCH=mips
> +TARGET_SUPPORTS_MTTCG=y
> TARGET_NEED_FDT=y
>
> ---
> base-commit: 248f6f62df073a3b4158fd0093863ab885feabb5
> change-id: 20240511-mips_mttcg-47a6b19074b3
>
> Best regards,
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
As Centos Stream 8 goes out of support we need to update. To do this
powertools is replaced by crb and we don't over specify the python3 we
want.
Reviewed-by: Richard Henderson
Reviewed-by: Thomas Huth
Message-Id: <20240521125314.1255403-4-alex.ben...@linaro.org>
Signed-off-by: Alex
have to bump at the next update.
Reviewed-by: Richard Henderson
Message-Id: <20240521125314.1255403-3-alex.ben...@linaro.org>
Reviewed-by: Thomas Huth
Signed-off-by: Alex Bennée
Message-Id: <20240529160934.982373-3-alex.ben...@linaro.org>
---
docs/devel/testing.rst | 8
1 file ch
Although I've just removed the CentOS specific build-environment its
probably a bit too confusing to have multiple distros mixed up in one
place. Prior to moving clean-up what will be just for ubuntu.
Signed-off-by: Alex Bennée
Message-Id: <20240529160934.982373-6-alex.ben...@linaro.
-by: Alex Bennée
Message-Id: <20240601070543.37786-2-th...@redhat.com>
---
tests/lcitool/targets/centos-stream-8.yml | 3 ---
1 file changed, 3 deletions(-)
delete mode 100644 tests/lcitool/targets/centos-stream-8.yml
diff --git a/tests/lcitool/targets/centos-stream-8.yml
b/tests/lcitool/t
This isn't really used and we have lighter weight docker containers
for testing this stuff directly.
Reviewed-by: Thomas Huth
Reviewed-by: Richard Henderson
Message-Id: <20240521125314.1255403-5-alex.ben...@linaro.org>
Signed-off-by: Alex Bennée
Message-Id: <20240529160934.982373-5
ork-around package
that we can use until somebody updates our Avocado to a newer version.
Signed-off-by: Thomas Huth
Message-Id: <20240601070543.37786-3-th...@redhat.com>
[AJB: regen on rebase]
Signed-off-by: Alex Bennée
Reviewed-by: Daniel P. Berrangé
---
tests/docker/dockerfil
this
off in the failing clang-system job until all spots in the QEMU sources
have been tackled.
Signed-off-by: Thomas Huth
Reviewed-by: Daniel P. Berrangé
Message-Id: <20240601070543.37786-4-th...@redhat.com>
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/buildtest.yml | 1 +
1 file chan
Document we have split up build-environment by distro and update the
references that exist in the code base to be correct.
Signed-off-by: Alex Bennée
Message-Id: <20240529160934.982373-7-alex.ben...@linaro.org>
---
docs/devel/ci-runners.rst.inc
CentOS bits from common build-environment
Alex Bennée (8):
ci: remove centos-steam-8 customer runner
docs/devel: update references to centos to non-versioned container
tests/vm: update centos.aarch64 image to 9
tests/vm: remove plain centos image
scripts/ci: remove CentOS bits from common
-th...@redhat.com>
Signed-off-by: Alex Bennée
---
tests/docker/dockerfiles/fedora-win64-cross.docker | 1 +
tests/lcitool/projects/qemu-win-installer.yml | 1 +
2 files changed, 2 insertions(+)
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker
b/tests/docker/dockerfiles/fedora
With the new ability to output YAML we can build the package list for
our ansible setup scripts. We will integrate them in the next commit.
Signed-off-by: Alex Bennée
Message-Id: <20240529160934.982373-9-alex.ben...@linaro.org>
---
v2
- MR now merged into libvirt-ci
---
.../ci/setup/
Now lcitool can write the package list for us we no longer need to
duplicate the information directly in build-environment.
Signed-off-by: Alex Bennée
Message-Id: <20240529160934.982373-10-alex.ben...@linaro.org>
---
scripts/ci/setup/ubuntu/build-environment.yml | 131 +-
-by: Richard Henderson
Message-Id: <20240521125314.1255403-2-alex.ben...@linaro.org>
Signed-off-by: Alex Bennée
Message-Id: <20240529160934.982373-2-alex.ben...@linaro.org>
---
docs/devel/ci-jobs.rst.inc| 7 -
.gitlab-ci.d/custom-runners.yml | 1 -
.../cu
Daniel P. Berrangé writes:
> On Mon, Jun 03, 2024 at 03:47:55PM +0100, Alex Bennée wrote:
>> Thomas Huth writes:
>>
>> > Casting function pointers from one type to another causes undefined
>> > behavior errors when compiling with -fsanitize=undefined w
Thomas Huth writes:
> Casting function pointers from one type to another causes undefined
> behavior errors when compiling with -fsanitize=undefined with Clang
> v18:
Queued to testing/next, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Philippe Mathieu-Daudé writes:
> On 30/5/24 21:42, Alex Bennée wrote:
>> Now the condition variable is initialised early on we don't need to go
>> through hoops to avoid calling async_run_on_cpu.
>> Signed-off-by: Alex Bennée
>> ---
>> plugins/core.c
Richard Henderson writes:
> Signed-off-by: Richard Henderson
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
a[0];
this has a merge conflict with subsequent changes.
> } else {
> return data[0] - env->segs[R_CS].base;
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
{
> inject_cb(
> -_array_index(cbs, struct qemu_plugin_dyn_cb, i));
> +_array_index(cbs, struct qemu_plugin_dyn_cb, i),
> +_ra);
> }
> break;
>
$ time ./build/qemu-x86_64 -plugin
> ./build/contrib/plugins/libips,ips=$((120546/5)) /bin/true
> real0m4.985s
>
> Tested in system mode by booting a full debian system, and using:
> $ sysbench cpu run
> Performance decrease linearly with the given number of ips.
Queued to plugins/next, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Akihiko Odaki writes:
> Ensure register handles are not NULL so that a plugin can assume NULL is
> invalid as a register handle.
>
> Signed-off-by: Akihiko Odaki
Queued to plugins/next, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
yet and doing so
start implying externally visible versioning and deprecation policies
for QEMU APIs and data formats.
TCG plugins have a header based API but currently everyone builds
against their local checkout and we are fairly liberal about bumping the
API versions.
>
>
> With regards,
> Daniel
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Pierrick Bouvier writes:
> On 5/30/24 12:42, Alex Bennée wrote:
>> Originally I tried to move where vCPU thread initialisation to later
>> in realize. However pulling that thread (sic) got gnarly really
>> quickly. It turns out some steps of CPU realization need va
Brian Cain writes:
> On 5/30/2024 6:23 AM, Alex Bennée wrote:
>> It's a pain when you come back to a code base you haven't touched in a
>> while and realise whatever indent settings you were using having
>> carried over. Add an editorconfig and be done with it.
>>
&g
Philippe Mathieu-Daudé writes:
> On 30/5/24 21:42, Alex Bennée wrote:
>> Originally I tried to move where vCPU thread initialisation to later
>> in realize. However pulling that thread (sic) got gnarly really
>> quickly. It turns out some steps of CPU realization need va
Make the relationship between CPUState, ArchCPU and cpu_env a bit
clearer in the kdoc comments.
Signed-off-by: Alex Bennée
---
include/hw/core/cpu.h | 14 ++
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index bb398e8237
specialises than making the other
accelerators jump through hoops.
Signed-off-by: Alex Bennée
---
include/hw/core/cpu.h | 4
accel/dummy-cpus.c| 3 ---
accel/hvf/hvf-accel-ops.c | 4
accel/kvm/kvm-accel-ops.c | 3 ---
accel/tcg/tcg-accel-ops
Now the condition variable is initialised early on we don't need to go
through hoops to avoid calling async_run_on_cpu.
Signed-off-by: Alex Bennée
---
plugins/core.c | 6 +-
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/plugins/core.c b/plugins/core.c
index 0726bc7f25
of the thread creation we can now
queue work before the thread starts (at least for TCG guests) and
avoid the race between vcpu_init and other vcpu states a plugin might
subscribe to.
Signed-off-by: Alex Bennée
---
hw/core/cpu-common.c | 20
1 file changed, 12 insertions(+), 8
in the vCPU threads can clearly be done earlier so
I've moved enough from cpu_common_realizefn to cpu_common_initfn to
allow plugins to queue work before the threads start solving the race.
Please review.
Alex Bennée (5):
hw/core: expand on the alignment of CPUState
cpu: move Qemu[Thread|Cond] setup
The thread_id isn't valid until the threads are created. There is no
point setting it here. The only thing that cares about the thread_id
is qmp_query_cpus_fast.
Signed-off-by: Alex Bennée
---
cpu-target.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/cpu-target.c b/cpu-target.c
index
Pierrick Bouvier writes:
> On 5/29/24 08:22, Alex Bennée wrote:
>> This ensures we don't start the thread until cpu_common_realizefn has
>> finished. This ensures that plugins will always run
>> qemu_plugin_vcpu_init__async first before any other states. It doesn't
>>
hat boots and executes a test, the issue can be seen:
>
> * OS that sends USB requests to a USB mass storage device
> but sends td.cbp = td.be + 1
> * qemu 4.2
> * qemu HEAD (4e66a0854)
> * Actual OHCI controller (hardware)
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Cord Amfmgm writes:
> On Thu, May 30, 2024 at 3:33 AM Alex Bennée wrote:
>
> Cord Amfmgm writes:
>
> > On Tue, May 28, 2024 at 11:32 AM Peter Maydell
> wrote:
> >
> > On Tue, 28 May 2024 at 16:37, Cord Amfmgm wrote:
> > >
> >
was exposing the binary name into the program so
we can validate the result.
Signed-off-by: Alex Bennée
---
v2
- add return leg on failing test
- check returned length is sane
- s/could/couldn't/
- just let array reference decay to the pointer
- rewrite the commit message to be less terse
We shouldn't use for our own implementation. Also the base
types we need live in as doesn't exist for the
bare metal compilers.
Signed-off-by: Alex Bennée
Reviewed-by: Peter Maydell
---
semihosting.c | 4 ++--
semihosting.h | 2 +-
string.c | 2 +-
usertest.c| 2 +-
4 files changed
Hi Peter,
Looking at bug #2322 I wanted to make sure SYS_GET_CMDLINE works as I
expected. While at it I needed to fix a compile error with headers
which I guess we got away with on earlier compilers.
I've added an editorconfig for good measure.
v2
- addressed review comments
Alex Bennée (3
It's a pain when you come back to a code base you haven't touched in a
while and realise whatever indent settings you were using having
carried over. Add an editorconfig and be done with it.
Signed-off-by: Alex Bennée
---
v2
- drop mention of custom major modes (not needed here)
- include
d guest OS bugs, but only as
> when we really have to. It's usually better to fix the
> bug in the guest.
>
> It's not, and I've already demonstrated that real hardware is consistent with
> the fix in this patch.
>
> Please check your tone.
I don't think that is a particularly he
fig
>> @@ -1,6 +1,7 @@
>>
>> config SEMIHOSTING
>> bool
>> + depends on TCG
>>
>> config ARM_COMPATIBLE_SEMIHOSTING
>> bool
>> --
>> 2.41.0
>>
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
sting/next, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Thomas Huth writes:
> On 29/05/2024 18.09, Alex Bennée wrote:
>> We have to simultaneously update a few bits on our side as lcitool has
>> already deprecated fedora-38, alpine-3.18 and centos-8-stream. However
>> there is no change to the package list yet.
>> Signed-of
Philippe Mathieu-Daudé writes:
> Hi Alex,
>
> On 29/5/24 17:22, Alex Bennée wrote:
>> This ensures we don't start the thread until cpu_common_realizefn has
>> finished. This ensures that plugins will always run
>> qemu_plugin_vcpu_init__async first before any other st
-tool: bump to latest version
docs/ci: clean-up references for consistency
scripts/ci: remove CentOS bits from common build-environment
Alex Bennée (9):
ci: remove centos-steam-8 customer runner
docs/devel: update references to centos to non-versioned container
tests/vm: update centos.aarch64
As Centos Stream 8 goes out of support we need to update. To do this
powertools is replaced by crb and we don't over specify the python3 we
want.
Reviewed-by: Richard Henderson
Signed-off-by: Alex Bennée
Reviewed-by: Thomas Huth
Message-Id: <20240521125314.1255403-4-alex.ben...@linaro.
301 - 400 of 24557 matches
Mail list logo