Progress (short week, 3 days):
* UM-2 [QEMU upstream maintainership]
- softfreeze is next week, so spent some time putting together
a pull request, fixing the bugs which the CI tests found in
it, etc
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
- now that we implement all the necessary features (excluding
some trace/profiling type stuff that is out-of-scope for
QEMU, and also FEAT_NV that we might come back to later), sent
out the patchset to define a 'neoverse-v1' CPU type for QEMU
-- PMM
Hello,
# TCWG Infrastructure
- Investigated why the CI didn't recover from empty gdb.sum, since it
was supposed to.
- Fixing validate_failures.py and tcwg_gnu-build.sh to correctly handle
empty gdb.sum.
- Fixing GDB armhf CI jobs to find distro's debug info.
# CI Babysitting
- Verified that a couple of regressions I reported last week were fixed
in trunk.
--
Thiago
Hello,
# TCWG CI — GDB
- Investigated why the GDB check jobs stopped succeeding, as reported by
Maxim. It turns there was an upstream commit (which was soon reverted)
that broke generation of the gdb.sum file and consequently our
baseline results became empty. Theoretically the CI should recover
from that but we don't deal well with this corner case. With Maxim's
help, restored the baseline and now things should be back to normal.
Will improve our scripts to avoid this trap.
# CI Babysitting
This week was my turn to baby sit the CI.
- Investigated 12 regressions in GCC and reported 3. The others were
already fixed.
- Investigated 1 regression in GDB but it wasn't actually one.
- Investigated 1 regression in QEMU but it was already fixed.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- catch up on email after a week away
- Put together some arm pull requests
- sent out draft QEMU summit minutes for review
- sent patch to avoid using the buggy __builtin_subcll in
Apple Clang 14
- sent patch fixing build error with newer xkeyboard-data
- some gardening of Coverity issue reports
Last week was KVM Forum in Brno -- here's a quick trip summary:
This year KVM Forum was a slightly smaller conference (2 days, single-track),
as we are now organizing it independently of the Linux Foundation. The
independent organization went pretty well this year (despite the slightly
awkward short notice) and the conference was very useful both for the
talks and for the hallway track.
Interesting talks (just a sampling biased to my interests):
* KVM: Arm Confidential Compute Architecture Support
Suzuki Poulose presented a summary of FEAT_RME and the CCA hardware
and software architecture, and how it's intended to fit into KVM
* KVM/arm64: Episode V - The Blob Strikes Back
Immediately following was Marc Zyngier and Oliver Upton from Google:
their talk was a pretty strong critique of the CCA software stack
architecture. Their central point is that having the RMM be "part of
the firmware" rather than "part of the hypervisor" is going to cause
a rerun of all the issues we've seen with dubious and non-upgradable
vendor code in EL3. Secondly, having the fixed API between the
hypervisor and the RMM restricts to least-common-denominator and
provides no room for experimentation and optimizations. They want an
architected way to deploy an RMM at boot time.
* Handling complex guest exits with eBPF
Will Deacon presented what he described as "conference driven
development" -- an interesting prototype of having device models in
the host kernel that are implemented in eBPF. This (in theory) gives
you the performance gains of an in-kernel device without it putting
a lot of C code onto the security boundary between the guest and host.
* Challenges Revisited in Supporting Virt CPU Hotplug on architectures
that don't Support CPU Hotplug (like ARM64)
James Morse (Arm) and Salil Mehta (Huawei) presented on CPU hotplug.
The underlying problem here remains that Arm has no hardware hotplug
handling, so there's no clear model for what hotplug on a VM should
look like. Cloud vendors have an obvious desire for the x86-style
tooling to Just Work on Arm too. The gap between "we have a prototype
that seems to work" and "upstreamable maintainable code" has not
yet been bridged, though...
* QEMU Arm CPU models and KVM
Cornelia Huck (RedHat) had a talk that was intended as a statement of
the problem rather than a proposed solution. At the moment we only
let a KVM guest see the same CPU type as the host and don't have a
mechanism for presenting a subset of features to it. KVM is about to
get support for letting the VMM define what the guest should see in
the ID registers, but how should we expose that to QEMU users without
ending up with a thousand command line sub-options to turn on and off
every architectural FEAT_FOO? And how do we deal with errata
workarounds, which the guest currently selects based on the MIDR value?
As usual, we held the QEMU Summit (an hour-long maintainer discussion
mostly about process and organizational issues) during KVM Forum. I
still need to write up the minutes for this, but they'll be published
on the qemu-devel list shortly.
thanks
-- PMM
Hi,
In binutils I need to write an offset between two symbols shifted right by 2 bits. This offset is written to the xdata section. My
code currently looks like this:
exp.X_op = O_subtract;
exp.X_add_symbol = symbol1;
exp.X_op_symbol = symbol2;
emit_expr (&exp, 2);
This works fine but obviously the result value is not shifted. Anyone have a good option is to shift the output of emit_expr at
write time?
I cannot use resolve_expression because the symbols do not have correct addresses at the time this code executes.
Any help appreciated,
Zac
Hello,
# TCWG CI — GDB
- Changed tcwg_gnu-build.sh to apply GDB testsuite patch to avoid infinite
loop in tcwg_gdb_check--master-arm jobs, while it isn't committed
upstream.
- Started investigating corrupt gdb.sum.1 file in
tcwg_gdb_check--master-arm jobs. I can't reproduce it by manually
running the CI's "make check-gdb" command line, nor by using ABE. I can
reproduce it with tcwg_gnu-build.sh though.
- Came up with validate_failures.py change to make it cope with the
corrupt gdb.sum.1 file, while the underlying cause isn't known.
Submitted the change upstream.
# TCWG Infrastructure
- Reviewed some Gerrit requests for our CI scripts.
# Misc
- Did some travel planning for Linaro Employee Meeting and GNU Tools
Cauldron.
--
Thiago
Project Orko
============
- more virtio-gpu discussion, blog post soon
Enable Arm Architecture in QEMU
===============================
- prep for KVM Forum talk
Other
=====
- various syncs
Absences
========
- KVM Forum next week
Current Review Queue
====================
TODO [RFC v2 0/6] Native Library Calls
Message-Id: <20230607164750.829586-1-fufuyqqqqqq(a)gmail.com>
=================================================================================================
TODO [PATCH] Add virtio-sound and virtio-sound-pci devices
Message-Id: <20230526204845.673031-1-manos.pitsidianakis(a)linaro.org>
==============================================================================================================================
TODO [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once
Message-Id: <20230524093744.88442-1-philmd(a)linaro.org>
======================================================================================================================================
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Progress:
* UM-2 [QEMU upstream maintainership]
- code review (including a new board-and-devices
patchseries for a TI Tiva C devboard)
- Put together an arm pull request
- Investigated some bug reports, sent patches:
* regression in Allwinner A10 interrupt controller
* hang in icount mode on microbit with Zephyr guest
* LDG doesn't return the right values when ATA==0
- prep for next week's KVM Forum trip
* QEMU-530 [QEMU ARM v9.4 Baseline CPU for TCG]
- handling review comments and rebasing of decodetree
load/store conversion
- investigating a few issues I noticed in the process
-- PMM
Hello,
# TCWG CI — GDB
- Addressed review comments and sent v2 and v3 of the patch fixing loop
in gdb.reverse/step-reverse.exp. The testcase's original author gave his
Reviewed-by, now waiting for approval by a maintainer. In the meantime,
set up our CI to apply the patch locally.
- Sent patch to the GDB mailing list implementing configure option
'--with-additional-debug-dirs' to allow building a GDB binary with a
custom install prefix but which also looks for debug info in
/usr/lib/debug. This should solve the SIGILL issue on armhf-linux in our
CI, and allow a few more tests to run on aarch64-linux.
# TCWG Infrastructure
- Reviewed some Gerrit requests related to notification and baseline
updating.
--
Thiago