Project Stratos
===============
- continued working on [adding vhost-user-rng to crosvm]
- this is to demo Stratos on Gunyah
- re-built guest kernel with known working backend
- it works :-)
- initial review of Viresh's slides for KVM Forum talk
[adding vhost-user-rng to crosvm]
<https://github.com/stsquad/crosvm/tree/add-vhost-user-rng>
vhost-device maintainer effort ([UM-196])
- prepared a clean-up [branch for new queue interface]
- spent time testing and realised it had broken things
[branch for new queue interface]
<https://github.com/stsquad/vhost-device/tree/update-queue-interface>
QEMU Upstream Work ([UM-2])
===========================
- posted [PULL for 7.1 0/3] memory leak and testing tweaks Message-Id:
<CAFEAcA8oPjTq9quHxOCSczckwmmBSP0fY6dtCzwrNs59pMrNCw(a)mail.gmail.com>
- sadly one patch had to be reverted as it exposed another race
[UM-2] <https://linaro.atlassian.net/browse/UM-2>
Completed Reviews [1/1]
=======================
[PATCH 00/62] target/arm: Implement FEAT_HAFDBS
Message-Id: <20220703082419.770989-1-richard.henderson(a)linaro.org>
Absences
========
- will take a long w/e for August BH
Current Review Queue
====================
TODO [PATCH v2 00/33] accel/tcg + target/arm: pc-relative translation
Message-Id: <20220816203400.161187-1-richard.henderson(a)linaro.org>
=======================================================================================================================================
TODO [PATCH for-7.2 00/21] accel/tcg: minimize tlb lookups during translate + user-only PROT_EXEC fixes
Message-Id: <20220812180806.2128593-22-richard.henderson(a)linaro.org>
===========================================================================================================================================================================
--
Alex Bennée
Progress:
* UM-2 [QEMU upstream maintainership]
- respin and resend for a few patchsets after code review
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
- identified what the old ARMv8.5-CMODX feature is now
("prefetch speculation protection") and confirmed that
QEMU is already compliant with the instruction fetch ordering
requirements so there's no coding work required here
- Checked that we implement FEAT_ETS already and sent patches
to advertise it in the ID registers
- Checked that we already conform to the ordering rules required
by "prefetch speculation protection"
- Discovered that we accidentally fail to RAZ for a big chunk
of the reserved-for-new-AArch32-ID-registers space for v8 CPUs;
sent patches fixing that
thanks
-- PMM
Hello Linaro Toolchain Working Group,
clang-arm64-windows-msvc is red for 12 days. The host is missing a correct
version of msvc.
Is somebody looking at this?
Thanks
Galina
Progress:
* UM-2 [QEMU upstream maintainership]
- usual release cycle work: rounded up a couple of last-minute
fixes for "whoops, this crashes" bugs and some safe changes like
docs typo fixes.
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
- Finished implementing the FEAT_PMUv3p5 work. In the process of
testing it I found a handful of bugs in our existing PMU
emulation code. Sent out the patchset which fixes those bugs and
adds FEAT_PMUv3p5.
- Cleaned up the epic to remove subtasks we aren't going to
implement (FEAT_SPE, FEAT_TRF), and added one for "actually
define the new CPU model"
- FEAT_LSE2 is the only remaining real work here, and it is
probably going to be seriously tricky...(i.e. I hope to leave
it to RTH ;-))
-- PMM
Project Stratos
===============
- continued working on [adding vhost-user-rng to crosvm]
- this is to demo Stratos on Gunyah
- backend comes up and device is detected but queues are not
consumed
- had some initial discussions with Viresh about talk structure for
KVM Forum
[adding vhost-user-rng to crosvm]
<https://github.com/stsquad/crosvm/tree/add-vhost-user-rng>
vhost-device maintainer effort ([UM-196])
- prepared a clean-up [branch for new queue interface]
[UM-196] <https://linaro.atlassian.net/browse/UM-196>
[branch for new queue interface]
<https://github.com/stsquad/vhost-device/tree/update-queue-interface>
QEMU Upstream Work ([UM-2])
===========================
- posted [PATCH for 7.1 v1 0/8] memory leaks and speed tweaks
Message-Id: <20220811151413.3350684-8-alex.bennee(a)linaro.org>
- will drop most of the speed tweaks until 7.2 opens
[UM-2] <https://linaro.atlassian.net/browse/UM-2>
Completed Reviews [1/1]
=======================
[PATCH 00/62] target/arm: Implement FEAT_HAFDBS
Message-Id: <20220703082419.770989-1-richard.henderson(a)linaro.org>
Absences
========
- 2 day week next week
- will take a long w/e for August BH
--
Alex Bennée
Hello,
I noticed that I didn't send a report for week #30. Sorry about that. For
that reason, this report covers two weeks.
# [GNU-767] Support changing SVE vector length in remote debugging
- Prepared and submitted upstream a fix and a testcase for a small SVE bug
when debugging in native mode an inferior which changes the SVE length.
Luis reviewed it and I submitted v2 addressing his comments.
# Misc
- Was out for 2 days.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- more investigation, triage and fixing of minor bugs in run-up to release
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
- starting working on the PMUv8p5 enhancements. These consist of a couple
of new cycle-counter-disable bits (easy) and extension of the event
counters to 64 bits (more tricky). So far I have code for the easy part
and have made a start on the hard part...
-- PMM
Progress:
* UM-2 [QEMU upstream maintainership]
- debugged and sent patch to fix a bug in timer_create
syscall support in linux-user on certain host libcs
- tried and failed to repro a bug where semihosting SYS_HEAPINFO
was returning addresses in the flash rom
- more Coverity issue triage -- now have finished triage of
everything that isn't either in the test suite or an
"insecure data handling" issue. Sent patches for a few
issues, prodded other people about some more...
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
* Fixed last bug which prevented the sve-ioctls QEMU testcase to be
correctly stepped through in gdbserver. The next step is checking
whether any regression was introduced by my changes, and clean up the
code.
* In the process, spotted small bug in GDB when stepping through the
sve-ioctls QEMU testcase using the existing native support. Started
preparing a patch to submit upstream.
# [LLVM-769] Linaro CI
* Increased tcwg-fx-02 ccache max size to 40 GB.
* Learned a bit about Zorg and started adding “depends_on_projects”
field to builders running on Linaro workers.
--
Thiago
Hi,
I noticed that bots like flang-aarch64-latest-gcc are quite slow and could
benefit from enabling ccache. Could you make it available on the system so
it could be turned on for all these builds?
Thanks,
--
Mehdi
Progress:
* UM-2 [QEMU upstream maintainership]
- softfreeze this week; lots of pullrequest merging
- spent some time going through our backlog of Coverity Scan issues, triaging
them and sending patches for some of them
- sent a patchset fixing portability issues in our configure script which
had crept in recently and were causing problems on OpenBSD and NetBSD
- sent out the invite emails for QEMU Summit
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
* Rebased the actual SVE vector length changes on top of the stabilised
per-thread target descriptions changes. Now stabilising the result. Fixed
a couple of problems found when remote-debugging QEMU's sve-ioctls test
binary, currently looking into a third one.
# Linaro CI's GDB testsuite results
* Updated and expanded the LLVM Docker Buildbot Maintenance wiki page with
the information about ccache setup I gathered in the past few days. Also
added a link to it to the Buildkite Bot Maintenance wiki page since
libstdc++ buildkites uses the same configuration.
* Increased ccache max size in GNU build jobs on tcwg-jade-02.
* Updated ABE repo's tested branch with my commits from last week to
improve the GDB testsuite results. Confirmed that the GDB testsuite went
from 538 unexpected failures to 307. There's still room for improvement
though.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- took over pullreq handling from RTH for the next couple of weeks
- wrote and sent patches that fix a mishandling of Secure stage 2
translation caused by QEMU not noticing that some config bits are
in VTCR_EL2 and some in VSTCR_EL2. Removed an ancient microoptimization
that was getting in the way of fixing that.
- sent patch fixing incorrect syndrome value for data abort on some
post-indexed load/store insns
- RTH's SME patchset is now upstream, so now would be a good time to
test it if anybody has compiler test cases or similar they were
thinking of running under QEMU
- softfreeze next Tuesday: started reviewing and collecting up
minor patches for a pre-freeze pullreq
-- PMM
Hello,
I went through the LLVM build bots (and also the libc++ buildkites) and
increased their ccache max size. There was a big impact on the flang
builds on tcwg-jade-01 (which went from 1h–2h to 10min–30min), but not
on other builds. One reason is probably that since I made this change
earlier today, there wasn't time yet to finish enough several-hours-long
builds to warm up the caches.
Since different machines have different disk sizes and free space I
chose different ccache max sizes for them, as follows:
* tcwg-fx-02 hosts the following build bots:
- clang-aarch64-sve-vls-2stage
- clang-aarch64-sve-vls
- clang-aarch64-sve-vla-2stage
- clang-aarch64-sve-vla
All share the same ccache. I changed its max size to 20 GB. It's not a
lot, but this machine is also used as a dev box so I though it would
be good to preserve a fair amount of space.
* tcwg-jade-01 hosts the following build bots:
- clang-armv8-lld-2stage
- clang-armv7-vfpv3-2stage
- clang-armv7-global-isel
- clang-armv7-quick
- clang-armv7-2stage
- clang-armv7-lnt
- flang-aarch64-latest-gcc
- flang-aarch64-rel-assert
- flang-aarch64-release
- flang-aarch64-latest-clang
- flang-aarch64-debug
- flang-aarch64-out-of-tree
- flang-aarch64-sharedlibs
- flang-aarch64-dylib
- clang-aarch64-full-2stage
- clang-aarch64-global-isel
- clang-aarch64-lld-2stage
- clang-aarch64-quick
All armv7 and armv8 bots share one ccache, and all aarch64 bots share
another. I changed the max size of each one to 100 GB.
* tcwg-jade-04 hosts the following build bots:
- lldb-aarch64-ubuntu
- lldb-arm-ubuntu
- buildkite-linaro-armv8-libcxx-01
- buildkite-linaro-armv8-libcxx-02
- buildkite-linaro-armv8-libcxx-03
- buildkite-linaro-armv8-libcxx-04
The buildkite bots share a 50 GB ccache, while lldb-arm-ubuntu uses
another 50 GB ccache due to being based on a different distro version.
And lldb-aarch64-ubuntu also uses its own 50 GB ccache.
* tcwg-llvmbot_tk1-01.tcwglab hosts the following build bot:
- silent-linaro-tk1-01
I changed the max cache size to 10 GB. There's not a lot of free space
on the machine.
* tcwg-llvmbot_tk1-03.tcwglab hosts the following build bot:
- normal-linaro-tk1-02
I changed the max cache size to 20 GB.
* tcwg-llvmbot_tk1-05.tcwglab hosts the following build bot:
- silent-linaro-tk1-08
I changed the max cache size to 10 GB.
* The following tcwg-llvmbot_tk1-* machines are currently unreachable so
I couldn't examine them:
- tcwg-llvmbot_tk1-02.tcwglab
- tcwg-llvmbot_tk1-04.tcwglab
* The following tcwg-llvmbot_tk1-* machines are running an llvmbot
container but no builder container, so I didn't change their ccache
configuration:
- tcwg-llvmbot_tk1-06.tcwglab
- tcwg-llvmbot_tk1-07.tcwglab
- tcwg-llvmbot_tk1-08.tcwglab
- tcwg-llvmbot_tk1-09.tcwglab
* tcwg-jade-02 is a GNU builder, and from peeking into a few containers
running build jobs I have the impression that it doesn't use ccache.
Should I look into it?
* Going through our ssh config file I didn't find these build bots that
are listed at http://llvm.validation.linaro.org/ so I didn't check
their ccache usage:
- clang-arm64-windows-msvc-2stage
- clang-arm64-windows-msvc
- clang-arm64-windows-msvc-2stage
- clang-arm64-windows-msvc
- clang-native-arm-lnt-perf
- clang-armv7-vfpv3-full-2stage
- clang-thumbv7-full-2stage
- libcxx aarch64
- libcxx aarch64 -fno-exceptions
--
Thiago
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
* Analysed and fixed a couple more regressions in my branch. The change to
per-thread target descriptions in gdbserver (which was the more
challenging part) is now free of regressions. Now cleaning up the part
that actually deals with the SVE vector length change.
# Linaro CI's GDB testsuite results
* Increased ccache's max size on most build bots. Sent email to the
linaro-toolchain list summarising the current status of their ccache
setup.
* Started looking more closely into how ccache configuration is put
together in our container scripts to document it on the wiki (together
with the steps I took to change the ccache max size).
--
Thiago
Hello Linaro Toolchain Working Group,
linaro-clang-armv8-lld-2stage <https://lab.llvm.org/buildbot/#/workers/140>
has been red since June 7th.
Is anybody looking at the issue?
Thanks
Galina
Progress: (short week, 3 days)
* UM-2 [QEMU upstream maintainership]
- More code review, as softfreeze is now quite close. I think we've
finally got there with the SME patchset (the remaining problems
with v5 were very minor)
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
- QEMU-315 OS Lock/DoubleLock work now upstream
-- PMM
Hello,
# Linaro CI's GDB testsuite results
* Implemented new version of change in the Abe shell script to correctly
set auto-load-safe-path so that GDB can load libthread_db.so.1. Since
GDB's configure script needs to be passed an argument containing
literal dollar signs, use '@@' instead of '$' to avoid the shell
misinterpreting it and substitute at the point of use. This version
worked and was merged to the Abe repo.
* Implemented and merged change in the Abe shell script to set variables
pointing to language-specific target tools only if they are present in
the path. This fixes Ada test failures in the GDB testsuite.
* Implemented and merged improvement to our tcwg_gnu-build.sh script to
allow specifying on the command line the Abe repo and branch to use.
# [GNU-767] Support changing SVE vector length in remote debugging
* Analysed and fixed a couple more regressions in my branch.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- Code review (misc, plus another round on the SME patchset)
- KVM Forum programme committee work
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
- Wrote and sent patches that deal with the last of the "small and
uninteresting" dependencies of the V1 support epic (this one covers
Feat_DoubleLock, which lets guest OSes suppress debug events as
part of their power-down-a-CPU sequence)
-- PMM
Hi guys. I just realized that today's meeting will be right in the middle of dinner
plans. I'll organize better next week. Anyway, here's my status:
- Fourth SME patch set -- parts merged, and some bugs fixed.
- Base/arm-compat portion of semihosting rewrite now upstream.
Target-specific bits for m68k, mips, nios2, xtensa outstanding.
- Almost done with FEAT_HAFDBS (hardware access/dirty updates).
Big changes to ptw.c to make that work: 50+ patches.
The reorg should make FEAT_RME easier though.
r~
Hello,
I just noticed that I didn't send a report for week #24. Sorry about
that. For that reason, this report covers two weeks.
# Linaro CI's GDB testsuite results
* Submitted upstream patch fixing gdb_compile regexp to account for our
GNATMAKE_FOR_TARGET value containing spaces. This should solve the Ada
test failures in our CI.
* Fixed the Abe shell script to correctly set auto-load-safe-path so
that GDB can load libthread_db.so.1. Unfortunately the CI detected a
problem with using the generated manifest to reproduce the toolchain
build, so I'm back to the drawing board on this one.
* Sent a Gerrit change request for the Abe script updating it to use
release 12's branch and tag for GDB and gdbserver, and another one
removing a workaround for a build problem fixed in GDB 9.
* Sent a Gerrit change request for tcwg-dev-build.sh fixing a couple of
issues I found when using it to build and test GDB.
# [GNU-767] Support changing SVE vector length in remote debugging
* Analysed and fixed a couple more regressions in my branch.
# Misc
* Attended a few online sessions from Linaro San Francisco Get Together.
* Sent Gerrit change request updating the TCWG script that generates our
SSH known_hosts file to include the Ed25519 host keys, which are now
preferred in Ubuntu 22.04.
* Was out one day due to “Corpus Christi” public holiday.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- First week back after holiday: lots of catchup
- Good progress with the code review queue, including getting
rid of a few things that had been lurking in it for too
long, and another pass through the latest SME series
- KVM Forum programme committee work
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
* Debugged and fixed a few issues in my code where gdbserver was having
trouble with setting the target description for new threads. Also
fixed regressions in a couple more testcases.
# Linaro CI's GDB testsuite results
* Luis commented on IRC that the GDB testsuite results from the Linaro CI
seemed a bit high with about 540 failures, so I set out to investigate.
The two biggest sources of failures are:
1. Ada tests were failing because they can't build their test
executables. This is expected because we don't have the Ada compiler
in the CI, but normally these testcases would just bail out as
unsupported. Found out that there was a regex in the GDB testsuite
that was (IMHO) too strict for our particular setup and fixed it.
2. All CTF tests are failing. The compiler in the CI seems to be
building test executables with CTF debug info, so we do seem to have a
problem there.
The CI's GDB is also not loading libthread_db.so because of a GDB
security setting, so I fixed that as well and expect some more tests
to pass now.
I still haven't submitted my fixes for 1. to upstream and for the
libthread_db.so.1 issue to our CI scripts because I'm still working
with jenkins-scripts and Abe to reproduce the CI environment to verify
the fixes.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- This week was almost entirely code review and similar upstream tasks
- managed to review all the preliminary parts of the SME patchset
- reviewed several other refactoring series from rth
- reviewed a big PS/2 keyboard emulation refactoring patchset
- prep for KVM Forum program committee session
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
- FEAT_RASv1p1 and FEAT_DoubleFault now upstream
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
* Debugged and fixed issues in my code where gdbserver was in some cases
trying to read inferior registers before aarch64_target was fully
initialised, and also while the inferior thread was running. This
improved reliability but there are still some testsuite regressions to
look into.
# Sourceware bug 28561 - [gdb/testsuite] Error due to not reading \r\n
at end of mi prompt
* Posted comment to the bug report summarising my current results.
* Tried to reproduce the bug using the upstream v5.3 kernel (since I was
able to see it with openSUSE Leap's v5.3 kernel), but failed. Still
trying to understand what that implies.
--
Thiago
Progress (covers two half-weeks):
* UM-2 [QEMU upstream maintainership]
- investigating a reported bug with semihosting syscalls over gdbstub
- reviewed a massive series from RTH refactoring our SVE code
in preparation for handling SME
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
- looking at exactly what FEAT_RASv1p1 and FEAT_DoubleFault require
of a minimal RAS implementation like QEMU's
- sent a patch implementing FEAT_RASv1p1 (a no-op for QEMU)
- sent a patch implementing FEAT_DoubleFault (turns out to be
simpler than I initially feared it might be)
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
* Found out that one issue I was having with gdbserver was caused by an
incompatibility it has with zsh (sourceware bug 26116).
* Fixed a gdbserver crash in my code where a register set was NULL in
the target description.
* Now working on an issue where the target description says SVE isn't
supported, but the regsets information says they are. This is caused
by my code sometimes moving the first ptrace call to get the inferior
registers to a time before it is properly stopped.
# Sourceware bug 28561 - [gdb/testsuite] Error due to not reading \r\n
at end of mi prompt
* Set up a few containers and KVM guests to attempt to reproduce this
bug on different environments. Reproduced it successfully on an
openSUSE Leap 15.3 guest, as well as Ubuntu 20.04 and 22.04 containers
in said guest. I wasn't able to reproduce on Ubuntu 20.04 nor 22.04
guests. Suspecting it's a kernel issue where the fix was backported to
the Ubuntu kernels.
--
Thiago
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
- Rebased my code on current master branch.
- Ran into issues with running the GDB testsuite against gdbserver, both
on my branch and on master. Currently investigating.
- Regarding the ptrace issues I'm running into, at Richard's suggestion
I checked the errno and it's ESRCH. This means that the inferior isn't
in a state where gdbserver can fetch its registers. So maybe there's
a race condition in gdbserver itself and it's trying to do that before
the inferior is stopped. Currently investigating.
# Sourceware bug 28561 - [gdb/testsuite] Error due to not reading \r\n
at end of mi prompt
* Luis mentioned this bug so I started investigating it. Tried
reproducing it on Ubuntu 20.04 and 22.04 but without success.
Also tried setting up an openSUSE Leap 15.3 KVM guest to try to
reproduce it there, but the distro's installer hangs.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- Joint Linaro/Arm meeting on the Realm Management Extension (RME).
Mostly this was "how the software stack is going to work"; some
useful discussion on how this intersects with QEMU, both as a
potential emulation platform for software development and also
as the VMM for a realm-using KVM virtual machine.
- Kicked off a discussion thread on getting rid of the last parts
of our "ad-hoc CI" this release cycle. The main thing that's
not yet handled by Gitlab CI is FreeBSD and NetBSD hosts.
We might be able to do this if we can find an x86 Linux machine
to act as a gitlab runner (it needs to be able to run guest
BSD VMs).
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
- Several small features have now made it upstream so those
subtasks have been closed out
- Looking at FEAT_RASv1p1 and FEAT_DoubleFault. The first of these
is easy because we only model the minimal "no error records"
RAS: I think we can simply bump the ID register fields to
indicate support. The second is a little bit more interesting
because the new SCR_EL3.EASE bit means we suddenly have a
source of physical SErrors (from synchronous external aborts)
when we previously could not have any...
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
* Continued working on the testsuite regressions introduced by my code.
- Found out that the crash I was investigating (which happens when
gdbserver thinks that the kernel doesn't support SVE and crashes)
only occurs with kernel v5.4 from Ubuntu 20.04 and not with
Ubuntu 22.04's v5.15. In the former version,
ptrace(PTRACE_GETREGSET, …, NT_ARM_SVE, …) often returns -1 (but not
always) and gdbserver interprets this as meaning that SVE isn't
supported. The newer kernel always returns successfully from this
call. gdbserver still acts weird so there's more digging to do, but
at least it doesn't crash.
# Misc
- Took one day of vacation.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
+ had a look at adding an option to allow semihosting from
userspace (handy for some test case purposes); have a working
prototype which I used to test the FEAT_IDST patch, but
probably won't pursue further until some refactoring of the
whole semihosting code has landed, to avoid conflicts
+ reading through the Realm Management Extension documentation:
there's a Linaro Kernel Working Group sprint in Cambridge
next week, and possible QEMU RME support is on the agenda
+ back before QEMU 6.0 we tried to fix a bug where QEMU always
provided 4 PMU counters, not the number the emulated CPU really
has. We had to revert that change before the 6.0 release, but
then forgot to go back and revisit it afterwards. Alex
reminded me of it this week, so I rebased it, fixed the problem
that meant it got reverted, and sent it out for review.
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
+ sent patch implementing FEAT_IDST
+ next up: FEAT_DoubleFault (likely a no-op for us, as we don't
ever have physical SErrors)
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
* Continued working on the testsuite regressions introduced by my code.
- Currently investigating a crash that happens when for some reason
gdbserver thinks that the kernel doesn't support SVE and crashes
while building the internal representation of the regular vector
registers.
# Misc
- Attended Google's Fuchsia boot camp.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
+ tracked down the UEFI crash with KVM on AArch64 to a combination of
(a) host system was heterogenous and user hadn't restricted QEMU to
only running on one set of cores and (b) QEMU silently throws away
the error it gets from KVM in this situation, resulting in most
things seeming to work except that vcpu power on/off state isn't
written to KVM and so the guest starts with all vcpus running
instead of just the primary. We should really improve the error
handling, but I worry that that might break previously functional
setups...
+ tidied up some patches I wrote while doing the GICv4 work that
fix an odd inconsistency in our GIC emulation where we correctly
implement the right number of virtual priority bits for the CPU
but always provide 8 bits of physical priority regardless of what
the real CPU implementation should have, and sent them out for review
+ usual code review and pullreq management
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
+ Implemented support for FEAT_S2FWB and sent patches to the list
+ Next up is probably FEAT_IDST (ID space trap handling)
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
* Continued working on the testsuite regressions introduced by my code.
- Realised that gdbserver uses “thread->tdesc != NULL” as a proxy of
whether it has already attached to the inferior process. My change to
track the target description per-thread instead of per-process
invalidated this equivalence. Fixed a few places to use “proc->attached”
instead, which is the direct way of testing that condition.
- Now looking into an issue with gdbserver loading libthread_db.so.
# Misc
- Reviewed Tom Tromey's “[PATCH 00/36] C++-ify breakpoints” patch series¹.
Spotted one bug.
--
Thiago
¹ https://sourceware.org/pipermail/gdb-patches/2022-January/185256.html
msgid:20220118194007.2853108-1-tom@tromey.com
Progress:
* UM-2 [QEMU upstream maintainership]
+ investigating a bug report about the guest UEFI crashing on
startup when using KVM on AArch64 with an SMP guest (sadly I haven't
been able to repro it myself thus far)
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
+ audited code to check we can enable FEAT_TTL in QEMU (ie we ignore the
new TTL hint field in TLB invalidate operations)
+ audited code to check we can enable FEAT_BBM level 2 in QEMU
(our TLB implementation never allows multiple clashing TLB entries)
+ audited code to check we can enable SMMUv3.2-BBML2 in our SMMUv3
(our SMMU TLB does allow multiple entries but will always select
the one for the lowest level and ignore the others)
+ sent patches to advertise FEAT_TTL, FEAT_BBM, SMMUv3.2-BBML2 in
CPU and SMMU ID registers
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
* Found and fixed problem with the gdbserver prototype: it didn't clear the
registers cache when the target description changed. The prototype is
working now.
* Turned my attention to the testsuite regressions introduced by my changes.
Fixed one where gdbserver was crashing when debugging multi-threaded
programs, and now investigating one where gdbserver returns an error when
handling the ‘vRun’ remote protocol packet.
# Misc
* Public holiday on Thursday — but I took it on Friday instead.
--
Thiago