Progress:
* UM-2 [QEMU upstream maintainership]
-- the usual release cycle work. Looks relatively quiet this
time around.
-- taking the opportunity to try to catch up on some of the for-8.0
code review
* QEMU-471 [QEMU ARM v9.0 Baseline CPU for TCG]
-- started thinking about how to implement FEAT_FGT. Looking at
the code where this ought to go, I found a minor bug with how
we implement the existing HSTR_EL2 traps, and a case where we
trap AArch32 ATS12NSO* with the wrong syndrome.
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
- Working on v2 of the gdbserver patches improving SVE support. Tested new
code for regressions in different systems and configurations and found
none. Preparing new version of the patches for upstream submission. Will
likely post them early next week.
--
Thiago
Project Stratos
===============
- finished [blog post for virtio-camera]
- did a review of [virtio-loopback]
[blog post for virtio-camera]
<https://linaro.atlassian.net/jira/core/projects/LBO/board?selectedIssue=LBO…>
[virtio-loopback] <https://git.virtualopensystems.com/virtio-loopback>
vhost-device maintainer effort ([UM-196])
- review work
Single Binary ([QEMU-487])
==========================
- cleaning up current_cpu in [with mxtxattrs]
- stumbled into regressions in the way of testing
- posted [PATCH for 8.0 v5 00/20] use MemTxAttrs to avoid current_cpu
in hw/ Message-Id: <20221111182535.64844-1-alex.bennee(a)linaro.org>
[QEMU-487] <https://linaro.atlassian.net/browse/QEMU-487>
[with mxtxattrs]
<https://github.com/stsquad/qemu/tree/memtxattrs/cpuid-v5>
QEMU Upstream Work ([UM-2])
===========================
- posted [PATCH for 7.2-rc1 v2 00/12] testing, docs, plugins, arm
pre-PR Message-Id: <20221111145529.4020801-1-alex.bennee(a)linaro.org>
[UM-2] <https://linaro.atlassian.net/browse/UM-2>
Other
=====
- hackbox2 upgrade follow-up
- health check content
Completed Reviews [7/7]
=======================
[PATCH 00/24] accel/tcg: Rewrite user-only vma tracking
Message-Id: <20221006031113.1139454-1-richard.henderson(a)linaro.org>
[PATCH v1 00/12] Introduce xenpv machine for arm architecture
Message-Id: <20221015050750.4185-1-vikram.garhwal(a)amd.com>
[PATCH] Run docker probe only if docker or podman are available
Message-Id: <20221030083510.310584-1-sw(a)weilnetz.de>
[PULL 3/3] linux-test (tests/tcg/multiarch/linux-test.c) add check
Message-Id: <1626902375-7002-4-git-send-email-tsimpson(a)quicinc.com>
[PATCH v5 00/18] tests/qtest: Enable running qtest on Windows
Message-Id: <20221006151927.2079583-3-bmeng.cn(a)gmail.com>
[PATCH v1 00/12] Introduce xenpv machine for arm architecture
Message-Id: <20221015050750.4185-1-vikram.garhwal(a)amd.com>
[PATCH RFC 0/1] tcg: add perfmap and jitdump
Message-Id: <20221012051846.1432050-1-iii(a)linux.ibm.com>
Absences
========
Current Review Queue
====================
TODO [PATCH for-8.0 v3 00/45] tcg: Support for Int128 with helpers
Message-Id: <20221111074101.2069454-1-richard.henderson(a)linaro.org>
=====================================================================================================================================
TODO [PATCH v3 0/7] memory: prevent dma-reentracy issues
Message-Id: <20221028191648.964076-1-alxndr(a)bu.edu>
===========================================================================================================
TODO [QEMU][PATCH v2 0/5] Introduce Xilinx Versal CANFD
Message-Id: <20221022054746.28217-1-vikram.garhwal(a)amd.com>
==================================================================================================================
--
Alex Bennée
Progress:
* UM-2 [QEMU upstream maintainership]
-- identified another piece of the reset mechanics that can be
tractably cleaned up: I think we should be able to get
everything (effectively) moved over to the 3-phase reset system
-- sent out various for-8.0 patchsets that convert devices that
were using device_class_set_parent_reset(), since getting rid
of that function is step 1 of that cleanup
-- code review etc
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
- Confirmed that gdbserver doesn't send a new XML target description
over the wire when the vector length changes, so there's no impact of
these patches on the amount of remote protocol traffic, which was a
concern for GDB maintainers.
- Started doing some up code cleanup and regression tests to prepare for
submitting v2 of the patches.
# [GNU-796] Stabilise GDB testsuite results in the CI
- Committed Gerrit change request adding the new CI job¹ to run fast
subset of GDB tests, which also has stable results. The list of tests
comes from Sourceware's builder project.
--
Thiago
¹ https://ci.linaro.org/view/tcwg_gnu_native/job/tcwg_gnu_native_fast_check_g…
Progress:
* UM-2 [QEMU upstream maintainership]
-- investigated and thought a bit more about a race condition involving
display devices. I know think I understand the problem but the
best idea I could come up with for a solution is pretty painful...
(Still hoping for feedback on whether I've missed something.)
-- collated and sent out a pull request with various bug fixes for rc0
-- sent some more reset-cleanup patches (these will be for 8.0)
-- PMM
Hi guys,
I will attempt to join today, but we've been finding that connectivity is dependent on the
number of rain drops and/or hail in between here and the mast. So I'm not overly hopeful
for later this evening.
Status report:
- Fixed a failure in my x86 TARGET_TB_PCREL patches, which caused
non-booting of some images (in today's tcg PR).
- Revised the TCGv_i128 patch set (not yet posted).
- Lots of work on accel/tcg/{cputlb,user-exec}.c, to honor
atomicity requirements of FEAT_LSE2.
Next up: Adding qemu_ld/st helpers and patterns for i128.
r~
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
- Finished implementing Luis' idea of having a process-wide target
description in addition to the thread-specific one. Started checking
changes for regressions.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- Usual code review and patch handling work
- Cross-checked our boot.c code against the kernel's booting.rst,
and sent patch fixing a few EL3 config bits we weren't setting
- Sent out the minutes from QEMU Summit
* QEMU-471 [QEMU ARM v9.0 Baseline CPU for TCG]
- Wrote and sent out patches to implement the extra traps
required for FEAT_EVT
-- PMM
Hello,
# [GNU-796] Stabilise GDB testsuite results in the CI
- Reworked and committed Gerrit change request for jenkins-scripts
adding a new CI job definition in tcwg_gnu-build.sh.
- Also reworked and committed another one to the same script adding a
default manifest file if one isn't specified on the command line.
# [GNU-767] Support changing SVE vector length in remote debugging
- Implemented Luis' suggestion of assuming that if ptrace can't read the
SVE state, then SVE is disabled (which is what gdbserver does before
my patches). It turns out that the only situation where this happens,
gdbserver doesn't actually care about the target description.
- Started exploring/implementing Luis' idea of having a process-wide
target description in addition to the thread-specific one. As Luis
suggests, it may simplify the code.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- Usual code review and patch handling work
- Spent a couple of days investigating a long-standing intermittent
test case failure booting a kernel on the raspberry pi. This turned
out to be caused by two linked bugs:
- the test framework unhelpfully disconnects immediately from the
guest serial console when the test ends, rather than staying
connected until the QEMU process exits to capture all the output
- QEMU's socket chardev loses data when the remote end closes the
connection if the guest UART hasn't read all of it
So the test was failing because the guest sometimes only saw
the 'h' of the final 'halt' command the test sent...
- Investigated and fixed a regression caused by some of last week's
reset patches. (Turns out the patch to fix it had been sent back
in 2021 but we accidentally dropped it on the floor. Oops.)
thanks
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
- Continued incorporating suggestions from Luis' review of the patches.
Working on a few regressions I introduced in the process.
# [GNU-796] Stabilise GDB testsuite results in the CI
- Started addressing Maxim's comments to my change requests for
jenkins-scripts.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- Started looking again at QEMU's rather messy set of reset related APIs.
Dug out the half-a-plan I wrote up a long time back and refreshed my
memory of what I was hoping we might be able to do.
- As an initial step, wrote some patches to get rid of uses of
several deprecated reset-related functions so that I only have to
think about one set of functions and not two...
-- PMM
Hello,
I haven't sent a report since week #36. For that reason, this report
covers three weeks.
# [GNU-796] Stabilise GDB testsuite results in the CI
- Implemented CI job to run fast GDB tests based on the list from
Sourceware's builder. Submitted Gerrit change requests for
jenkins-scripts and ci/job/configs.
- Posted Gerrit change request for jenkins-scripts with an improvement
to tcwg_gnu-build.sh to use a default path for the artifacts file if
one isn't given on the command line.
# [GNU-767] Support changing SVE vector length in remote debugging
- Started incorporating suggestions from Luis' review of the patches.
# Community participation
- Reviewed mailing list patch “[PATCH v3] gdb/arm: Handle lazy FPU
register stacking”
- Attended GNU Tools Cauldron 2022.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- sent out patch which adds a retry-on-EINTR loop to KVM_CREATE_VM ioctls
- wrote up the draft of the minutes for the QEMU Summit for review
- more code review and pullrequest collation (notably the Arm v8R support
patchset)
* QEMU-471 [QEMU ARM v9.0 Baseline CPU for TCG]
- read up on the remaining unimplemented features under this epic;
closed out one we'd already implemented, and wrote up enough detail
on the others to be happy with putting them all into the current
sprint (they're all small features)
- started looking at FEAT_GTG
thanks
-- PMM
Project Stratos
===============
- held poll for next meeting
- started planning for virtio-camera/sensor
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
- posted [PATCH v1 00/10] plugins/next (disas, monitor, docs, execlog)
Message-Id: <20220921160801.1490125-6-alex.bennee(a)linaro.org>
- posted [PULL 00/30] testing updates (docker, avocado, deprecate
32bit BE MIPS) Message-Id:
<20220920171533.1098094-4-alex.bennee(a)linaro.org>
[UM-2] <https://linaro.atlassian.net/browse/UM-2>
Update docs
- mention -d plugin
- document features of tests/plugin plugins
- clean up command lines to drop builddir
KVM Forum
=========
- Attended KVM forum, gave a talk, helper with another
Completed Reviews [3/3]
=======================
[PATCH 00/62] target/arm: Implement FEAT_HAFDBS
Message-Id: <20220703082419.770989-1-richard.henderson(a)linaro.org>
[RFC PATCH v2] gdbstub: only send stop-reply packets when allowed to
Message-Id: <ba99db564c3aeb1812bdfbc9116849092334482f.1661362557.git.quic_mathbern(a)quicinc.com>
[RFC 0/4] Support interactions between TCG plugins
Message-Id: <20220901182734.2987337-1-fasano(a)mit.edu>
Absences
========
Current Review Queue
====================
TODO [PATCH v4 0/7] tcg: pc-relative translation blocks
Message-Id: <20220906091126.298041-1-richard.henderson(a)linaro.org>
=========================================================================================================================
TODO [PATCH 00/51] tests/qtest: Enable running qtest on Windows
Message-Id: <20220824094029.1634519-1-bmeng.cn(a)gmail.com>
========================================================================================================================
TODO [PATCH v2 00/33] accel/tcg + target/arm: pc-relative translation
Message-Id: <20220816203400.161187-1-richard.henderson(a)linaro.org>
=======================================================================================================================================
--
Alex Bennée
Progress:
* UM-2 [QEMU upstream maintainership]
- attended KVM Forum
- catching up with code review, email, etc...
- sent out an Arm pullreq now 7.2 has opened up for development
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
- diagnosed a regression caused by the recent FEAT_PMUv3p5 changes
and sent out a fix
KVM Forum trip highlights:
* it was good to be able to meet people face-to-face again after
several years
* Cloud use of Arm hardware has now got to the point where big cloud
companies are working through performance issues and then coming to
present about it; e.g. Google did a talk about perf issues during
migration on an Ampere Altra setup. The solutions seem to be a mix
of "apply the lessons and fixes we already went through with x86"
and "architecture fixes coming down the pipe" (in this case
FEAT_TLBIRANGE and FEAT_BBM).
* lots of Google talks about pKVM (using hypervisor hardware on
Android to improve security). In fact lots of Google all over --
apparently they've made a big push to do more upstream kernel work
and as a result a large chunk of the kernel KVM commits come from
them...
* talk from Xilinx (now with AMD) about doing co-simulation of QEMU
and RTL -- basically (with the aid of a lot of non-upstream stuff)
having QEMU talk to a SystemC environment so you can have eg an
emulated ethernet card in FPGA that plugs into a QEMU VM. This kind
of thing is a use-case which historically upstream have not really
been interested in addressing.
* Which brings me to the BoF session on emulation, perhaps the most
interesting bit of the conference for me. There was a lot of
discussion about whether QEMU might move closer to what I call the
"bag of lego bricks" paradigm, where it provides device models and
users might be able to configure it at runtime to stitch them
together, perhaps adding out-of-tree devices of their own. There is
clearly interest in this (eg from attendees from Xilinx and
Qualcomm); the sticking point is that from upstream's perspective
this seems like "you should do this thing that will benefit us and
not you". My take is that whether this goes anywhere will depend on
whether those who would like this are prepared to coordinate
together to present themselves as a group who are willing to dig in
to the necessary upstream refactoring and cleanup that would be a
precondition for having something like this be anywhere near
supportable, i.e. that they're a group who will come and help
rather than merely consume...
* There was also a shorter discussion in the BoF about the idea of
"heterogenous CPU emulation", eg one QEMU model with both Arm and
Microblaze CPUs. This is not conceptually controversial, it's just
a lot of work. It seemed like maybe a few folk now care enough to
have a go at it.
-- PMM
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
- Made a few last-minute adjustments to the code and fixed a couple of
regressions on x86_64-linux. Re-ran regression tests on x86_64-linux and
aarch64-linux. Wrote cover letter and descriptions for all the patches.
- Finally posted the patch series upstream¹.
# [GNU-796] Stabilize GDB testsuite results in the Linaro CI
- Started working on this issue. Currently adding a new CI job to run the
same small subset of GDB testcases that Sourceware's buildbot runs. This
subset runs quickly and has stable results so the job will be a good
canary to check that the CI infrastructure is working correctly.
--
Thiago
¹https://inbox.sourceware.org/gdb-patches/20220908064151.3959930-1-thiago.b…
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
- Cleaned up code for upstream submission, and divided it into patches.
A couple of the patches affect other architectures and OSes, so made
sure the code builds on as many combinations I can test, and now doing
final regression testing on some of them. I'm hoping to finally send
the patches upstream early next week.
--
Thiago
Hello,
# [GNU-767] Support changing SVE vector length in remote debugging
- Finished fixing regressions in my changes to gdbserver for debugging an
inferior which changes the SVE length.
- Started cleaning up code for upstream submission and dividing it into
patches.
# Community participation
- Reviewed mailing list patches:
- [PATCH,v3] [aarch64] Fix removal of non-address bits for PAuth
- [PATCH 1/2] gdb: Fix deleted thread when issuing next command
- [PATCH 2/2] gdb: Improve the resuming of the stepped thread
--
Thiago