Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
- Returned to implementing support for changing SVE vector length in
remote debugging. The patch series I sent earlier this year used an
approach that some maintainers weren't enthusiastic about (modifying
the Remote Serial Protocol to request XML target descriptions). Now
trying the approach they suggested, which is to extend target
descriptions to support expressing vector registers whose length is
given by the contents of another register.
# TCWG CI
- Following Maxim's suggestion, sent and merged Gerrit review requests
to increase chance of tcwg_gdb_check jobs to be faster at detecting
new or newly expired flaky tests:
- 45151: tcwg_gdb: Increase job frequency
- 45152: round-robin.sh (build_abe): Increase time to re-detect GDB
flaky tests
- Implemented change in ABE to support glibc's TIMEOUTFACTOR environment
variable for DejaGnu testsuites. Testing on armv8l and aarch64.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- code review, notably:
+ RTH's setnegcond series
+ Jean-Philippe's fixes for various FEAT_RME bugs
+ Akihiko's series to make KVM '-machine none' not default to 40 bits
of IPA space if the host doesn't supoprt that (like the Apple CPUs)
- sent a patch to catch the illegal exception return case from
EL3 with bad SCR_EL3.{NSE,NS}
- respin and resend of ptw cleanup patchset
- tidied another 'BiteSizedTask' entry into a gitlab issue
- went back to an old minor cleanup task: getting rid of the
last dozen or so uses of variable-length arrays in the codebase
(so we can enforce not using them in the compiler, and avoid
unchecked-on-stack-allocation security bugs). Sent patches to
zap a few more.
* QEMU-530 [QEMU ARM v9.4 Baseline CPU for TCG]
- thinking a bit more about FEAT_MOPS and MTE checks, but ultimately
not much progress: didn't find enough hours with a sufficiently
alert mind...
-- PMM
Hello,
# TCWG CI
- Implemented increasing testsuite timeout for each testsuite try in GDB
check jobs. Sent a Gerrit review request for it but then found out that
it makes armhf jobs take a lot longer, so abandoned it.
# Community
- Finished reviewing SME patches for GDB and gdbserver.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- some bits and pieces for release
- code review, notably:
+ raspberry pi 4 support patchseries (a big 44-patch set)
+ Xilinx Versal CFI support patches
* QEMU-530 [QEMU ARM v9.4 Baseline CPU for TCG]
- more work on FEAT_MOPS: tested my memset implementation, and
fixed various bugs. Still no MTE tag checking support.
-- PMM
Hello,
# TCWG CI
- CI Babysitting: Worked on two regressions detected at the end of last
week.
- Enabled precommit testing for GDB patches.
# Misc
- Reviewing SME patches for GDB and gdbserver.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- release related stuff: handling merge requests, etc (now passed
back to RTH again)
- sent some patches for a few easy coverity issues
- worked through some code review (in particular some patches
from new contributors)
- created a gitlab "bite sized task" issue that better explains
and has more detail on the "convert from malloc to g_malloc"
suggested task for new contributors
* QEMU-530 [QEMU ARM v9.4 Baseline CPU for TCG]
- a little more progress with FEAT_MOPS. I now have an untested
implementation of the memset insns which I think is complete
except for MTE tag checking
-- PMM
Hello,
# TCWG CI
- Babysat the CI: Investigated 9 regressions in GCC, 2 in GDB, 1 in LLVM
and 1 in glibc. Reported 4 in GCC (GNU-855, GNU-857, GNU-858 and
GNU-859). 3 of which are fixed and another has a tentative fix.
- Reviewed a couple of Gerrit requests.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- fixed some places in our RTC device models where we were
putting a time_t or time_t offset into a 32-bit variable
- took over from RTH briefly for pullreq merge handling
- sent some patches fixing minor Coverity issues
- investigated a couple of "test case fails on big-endian host"
errors: sent patches for Sparc FPRS handling and for
the Arm SMMUv3 model
- Investigated report that our MPS2/3 M-profile models don't
have the same number of MPU regions configured as the real FPGA
images, and so you can't run the same Zephyr binary on both.
Have some preliminary patches to correct the number of regions.
* QEMU-530 [QEMU ARM v9.4 Baseline CPU for TCG]
- finally got back to FEAT_MOPS work; wrote a skeleton of code
for the memset operations that's about right up to the point
where it needs to actually do the memset...
-- PMM
Hi everyone,
I'm not 100% sure whether this is a bot misconfiguration issue, but couldn't find any other source of this failure:
```
******************** TEST 'test-suite :: MultiSource/Applications/ClamAV/clamscan.test' FAILED ********************
Executable '/home/tcwg-buildbot/worker/clang-aarch64-sve-vla/test/sandbox/build/MultiSource/Applications/ClamAV/clamscan' is missing
********************
```
Link: https://lab.llvm.org/buildbot/#/builders/197/builds/8209
Would anyone be able to take a look?
Thank you :)
-Andrzej
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Progress:
* UM-2 [QEMU upstream maintainership]
- investigated and fixed a bug in page-table-walk handling of
debug accesses that was introduced by the FEAT_RME changes
- that prompted me to look at a cleanup of some of the ptw code
so that we consistently look at "which space is this walk for"
and don't carry around a parallel boolean "secure/non-secure"
that duplicates that information
- found and fixed a few other ptw bugs along the way
-- PMM
Hello,
# TCWG CI
- Changed tcwg_gnu-build.sh to apply GDB patch adding
'--with-additional-debug-dirs' option, and ABE's gdb.conf to use it.
Also changed both to add '--prefix /usr' option to GDB's configure.
Both changes to fix ld.so debug info issues in GDB testsuite runs on
armhf.
- Testing changes to validate_failures.py and jenkins-scripts to handle
empty gdb.sum.
- Reviewed a few Gerrit requests.
--
Thiago
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