== Progress ==
* GCC:
- FDPIC: Whole series now committed. Reverted one patch (aiming at
cortex-M, caused problems in ARM mode, investigating)
* GCC upstream validation:
- reported a couple of issues. Helped with testing.
- getting ready to add cortex-m33 validation with qemu
* Binutils:
- Non-contiguous memory regions support in the BFD linker: not started yet.
* misc:
- infra fixes / troubleshooting / reviews
== Next ==
Linaro Connect San Diego
== Progress ==
* Out of office on Friday
* Use newer perf for benchmarking [TCWG-1512]
- Switched benchmarking to use bionic containers, with perf 4.18.0;
seems to work
* Investigate running benchmarks in containers [TCWG-1513]
- Done
* Uploaded LLVM 9.0.0-rc5 and rc6
* SVE IR fuzzer [LLVM-586]
- Unblocked my work on this, need to give it a serious spin
== Plan ==
* Buildbot babysitting this week
* LLVM-586
* Try to build LLDB
[VIRT-327 # Richard's upstream QEMU work ]
Convert notdirty and rom handling to cputlb; lots of cleanup around
that area. Version 3 is the first version that worked; two previous
RFCs took quite a bit of effort to work out why they didn't work.
[GCC]
Committed the lse out-of-line patch set.
Posted patches for two follow-on bugs affecting aarch64-elf.
r~
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ sent v2 of the semihosting v2 API implementation patchset
+ sent patch to fix a Makefile bug I introduced that broke in-tree builds
+ code review etc
thanks
-- PMM
[VIRT-327 # Richard's upstream QEMU work ]
Posted v2 of fixing tlb bswap.
Fixed a regression in arm SMLAL*
Reviewed v2 of risc-v vector extension (ugh).
Created pull for Sven's target/hppa fixes.
[GNU Cauldron]
* Project Ranger: New extensible representation for value ranges.
* Lightning talks, a new gdbserver.
- too short to have enough details to be useful.
- incomplete enough that no demo possible.
- maybe look back at this when it's more developed.
* Register allocation BOF
* ARM BOF
- MTE is alive! In that there are now RFC patches for glibc and gcc.
It's probably time to revive my MTE patch set, at least for system mode.
I spent quite a long time talking with Richard Earnshaw about the
current state of affairs. I'm hoping that we can get the kernel folk
to agree on some fundamentals of the userland ABI, even perhaps before
the final support is in the kernel, so that we can implement the
linux-user side, which would probably be most helpful for glibc+gcc work.
* GCC Steering Committee
* Rethinking GCC development process + continuous testing
* Truly interprocedural IPA-SRA
* Lightning talks,
- EmBench
- Combined elimination for -Os.
* RISC-V BOF
r~
o LLVM:
* Buildbots babysitting:
- Reported a kernel build issue after clang handling of
-march/-mfpu and crypto option was changed.
* Machine Outliner:
- Disabling Thumb1 outlining until we find a better way to handle tailcalls
- Working on Connect slides
o Misc
* Various meetings and discussions.
== Progress ==
* GCC:
- FDPIC: Committed the whole series, expect for one testsuite patch,
pending final review.
* GCC upstream validation:
- reported a couple of issues. Helped with testing.
- getting ready to add cortex-m33 validation with qemu
* Binutils:
- Non-contiguous memory regions support in the BFD linker: not started yet.
* misc:
- infra fixes / troubleshooting / reviews
== Next ==
- binutils/linker support for non-contiguous memory regions
- FDPIC: work on gdb
- GCC upstream validation: Add a config for cortex-m33 (v8-m)
LLVM-579 Implement -fix-cortex-a8 in LLD. Keeping up with review
comments, I think this is getting close now.
Connect slides moving forwards. Now have 2 out of 3 presenters done.
Rest of the week taken up by investigations and LLD reviews.
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ implemented and sent patchset for semihosting v2 API
+ target-arm pullreq, patch review, etc
+ got the QEMU Summit invite list finalised and sent invites
+ some internal meetings
thanks
-- PMM
== Progress ==
* Investigate running benchmarks in containers [TCWG-1513]
- Finally merged, after a few more iterations and testing!
- Doesn't work for AArch32 yet but I think I have a fix
* Use newer perf for benchmarking [TCWG-1512]
- Tried 4.15.0-62 generic on the TK1, doesn't seem to work; investigating
* SVE IR fuzzer [LLVM-586]
- Didn't get to work much on it
* Uploaded LLVM 9.0.0-rc4
== Plan ==
* Fix AArch32 benchmarking
* TCWG-1512 and LLVM-586
o LLVM:
* Buildbots babysitting
* Machine Outliner:
- Experiments on Zephyr exposed some issues w/r to unwinding and
relocation overflow, working on these.
o Misc
* Various meetings and discussions.
Hi guys. Due to unfortunate baggage handling, I don't have my laptop and
won't be able to log in Monday. I should be back online Tuesday, all going
well.
r~
Progress:
+ usual upstream maintainership stuff
+ notably, finished review of RTH's decodetree conversion patchset,
got it into master
+ started on implementing semihosting v2 API (the most interesting
new feature of which is support for AArch32 binaries exiting with
a specified exit status)
thanks
-- PMM
== Progress ==
* GCC:
- FDPIC: almost OK. Found minor issues with testcases
* GCC upstream validation:
- reported a couple of issues. Helped with testing.
- getting ready to add cortex-m33 validation with qemu
* Binutils:
- Non-contiguous memory regions support in the BFD linker: not started yet.
* misc:
- infra fixes / troubleshooting / reviews
- a bit of Jira
== Next ==
GCC:
- commit FDPIC patches after final validation
- binutils/linker support for non-contiguous memory regions
- GCC upstream validation: Add a config for cortex-m33 (v8-m)
== Progress ==
* Investigate running benchmarks in containers [TCWG-1513]
- Addressed review comments, merged changes to dockerfiles
- Fixed mcf on AArch64; also managed to run on armv7 but with some failures
* SVE IR fuzzer [LLVM-586]
- Didn't get to work much on it, but rebuilt it with debug info
* Uploaded LLVM 9.0.0-rc3
== Plan ==
* Investigate armv7 failures in docker
* Iterate on benchmarking patches
* Figure out why the fuzzer almost never introduces new code
* 2 vacation days left this month
[VIRT-327 # Richard's upstream QEMU work ]
Fix two ppc fp launchpad bugs.
Resurect patches for openrisc v1.3
Once-over review of risc-v vector extension.
Posted v3 of a32 coversion to decodetree.
Started poking at neon conversion to decodetree,
as a prerequisite to a32 support for fp16.
Some cleanups to watchpoints. Generic stuff now queued to tcg-next.
DavidH is taking care of target/s390x updates, but there are some
changes wanted within target/arm SVE code.
r~
== Progress ==
* GCC:
- FDPIC: sent updated patches, already got feedback on them. almost OK
* GCC upstream validation:
- reported a couple of issues. Helped with testing.
- getting ready to add cortex-m33 validation with qemu
* Binutils:
- Non-contiguous memory regions support in the BFD linker: not started yet.
* misc:
- infra fixes / troubleshooting / reviews
- a bit of Jira
== Next ==
GCC:
- handle feedback on FDPIC patches
- binutils/linker support for non-contiguous memory regions
- GNU-583
- GCC upstream validation: Add a config for cortex-m33 (v8-m)
== This Week ==
* GCC:
(i) PR86753 - Addressing upstream suggestions, pivoted to another approach.
(ii) PR91272 - Patch fixes issue but not correct approach, need to rework it.
(iii) PR78736 - Submitted patch upstream.
== Next Week ==
- Continue ongoing tasks.
== Progress ==
* Investigate running benchmarks in containers [TCWG-1513]
- Cleaned and uploaded scripts for comments
- mcf still hangs, but only when run with clang; investigating root cause
* SVE IR fuzzer [LLVM-586]
- Made some progress with the prototype but it still needs work
* Re-running 8.0.1 release on AArch64 since the archive on
llvm.org/releases seems to be broken
[VIRT-263 # ARMv8.1-VHE Virtual Host Extensions ]
Reorg ARMMMUIdx again; this time, do not overlap
EL1&0 and EL2&0 mmu_idx. This makes debugging a
bit easier.
Fix one more bug in EL2&0 selection. This was not
the last, because a nested kernel does not yet boot.
[VIRT-327 # Richard's upstream QEMU work ]
Another round of aa32 decodetree patches.
Another round of arm hflags patches.
Review of and some patches for cpu watchpoints.
r~
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ sent fix for LP:1840922 (incorrect handling of branches to
M-profile exception-return magic addresses in linux-user mode)
+ some more work on requirements for JIRA KVM related issues
+ started reviewing RTH's monster decodetree conversion patchset
(and made it nearly halfway through it)
thanks
-- PMM
== Progress ==
* GCC:
- FDPIC: handling feedback.
* GCC upstream validation:
- no issue to report this week.
* Binutils:
- Non-contiguous memory regions support in the BFD linker: not started yet.
* misc:
- infra fixes / troubleshooting
- qemu-4.1 confirmed OK for GCC validations
- trying validations for cortex-m33, found a few issues in GCC and a
small one in QEMU
- a bit of Jira
== Next ==
GCC:
- handle feedback on FDPIC patches
- binutils/linker support for non-contiguous memory regions
- GNU-583
- GCC upstream validation: Add a config for cortex-m33 (v8-m)
- Reorganised buildbots to remove some of the duplication between v7
and v8 AArch32 to free up more v7 hardware.
- Got final code-size information and wrote my slides for Linaro Connect
- Track down an AArch64 specific LLD problem due to a recent change,
now resolved.
- Wrote worst case thunk/veneer convergence patch to help move through
an iterative symbol assignment algorithm.
UK Bank Holiday Monday
== This Week ==
* GCC :
(i) PR83756: Addressing feedback from upstream.
(ii) PR90724: Committed to trunk.
(iii) PR91272: Started working on patch.
(iv) PR88839: Merged fix from sve-acle-branch to trunk.
* Validation
(i) Patch to separate build and test steps in tcwg_gnu.
(ii) SVE validation
== Next Week ==
- Continue ongoing tasks
== Progress ==
* Investigate running benchmarks in containers [TCWG-1513]
- Discussed the noise levels with the team and we decided to
continue with this
- mcf hangs, need to investigate the cause
- WIP: cleaning up the scripts so I can send a sensible patch for review
* IR SVE reviews [LLVM-545]
- Looked at some patches but didn't have much to add to what other people said
* SVE IR fuzzer [LLVM-586]
- Started prototyping
- The fuzzer relies a lot on inserting constants, and since we can't
produce SVE constants yet I'll have to dig in and get it to also use
function parameters
- Need to add operation descriptions for SVE
* Buildbot babysitting
- Reported an issue
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ unfortunately a late-breaking security-bug meant we needed an rc5, but
we put out the final 4.1.0 release on Thursday
+ code review:
- RTH's set of minor cleanups to the 32-bit arm codegen
+ sent out patches which fix our emulation of ATS instructions so
they cause exceptions when the spec says they should (a cleanup
of a change I'd half-implemented a year or so ago)
+ put together and sent the first target-arm pullreq for 4.2
* booked travel/hotel for KVM Forum; did some other prep like working
out a preliminary list of QEMU Summit invitees, and emailing people
whose GPG keys I need to sign to find out if they're going.
thanks
-- PMM
* Thursday off
== Progress ==
* GCC:
- FDPIC: handling feedback.
- noinit attribute: committed (ld patch too)
* GNU-583 (Fix Linux kernel built for Thumb-2 with GCC using LTO)
- no progress this week
* GCC upstream validation:
- a few issues reported this week.
* Binutils:
- Non-contiguous memory regions support in the BFD linker: not started
yet.
* misc:
- infra fixes / troubleshooting
== Next ==
GCC:
- handle feedback on FDPIC patches
- binutils/linker support for non-contiguous memory regions
- GNU-583
- GCC upstream validation: Add a config for cortex-m33 (v8-m)
QEMU Tooling ([VIRT-252])
=========================
QEMU plugin support ([VIRT-280])
- continued working through v4 comments on [next version branch]
- did some benchmarking to justify no fast path in translator_ld
[VIRT-280] https://projects.linaro.org/browse/VIRT-280
[next version branch]
https://github.com/stsquad/qemu/tree/plugins/plugins-v5
GSoC Mentoring ([VIRT-348])
- spent some time reviewing the current state and experimenting
[VIRT-348] https://projects.linaro.org/browse/VIRT-384
Upstream Work ([VIRT-109])
==========================
- more work on [my docker fixup branch]
- now can run make docker-test-build on qemu-test
- posted {PATCH v3 00/13} softfloat updates (include tweaks, rm LIT64)
Message-Id: <20190813124946.25322-1-alex.bennee(a)linaro.org>
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
[my docker fixup branch]
https://github.com/stsquad/qemu/tree/testing/docker-def-and-buster-fixes
Completed Reviews [6/6]
=======================
{Qemu-devel} {PATCH v5 00/10} Measure Tiny Code Generation Quality
Message-Id: <20190815021857.19526-1-vandersonmr2(a)gmail.com>
- CLOSING NOTE [2019-08-15 Thu 20:45]
Looks pretty good but some racy crashes need to be fixed.
{Qemu-devel} {PATCH v1 0/2} Integrating qemu to Linux Perf
Message-Id: <20190815023725.2659-1-vandersonmr2(a)gmail.com>
- CLOSING NOTE [2019-08-15 Thu 20:46]
Needs a v2 with compile fixes
Absences
========
- Moving house & office ~20th/21st Aug
Current Review Queue
====================
* {PATCH v3 00/34} target/arm: Implement ARMv8.1-VHE
Message-Id: <20190803184800.8221-1-richard.henderson(a)linaro.org>
* {Qemu-devel} {PATCH v4 00/22} target/arm: Implement ARMv8.5-MemTag, system mode
Message-Id: <20190307170440.3113-1-richard.henderson(a)linaro.org>
* {Qemu-devel} {RFC PATCH} Implement qemu_thread_yield for posix, use it in mttcg to handle EXCP_YIELD
Message-Id: <20190717054655.14104-1-npiggin(a)gmail.com>
* {PATCH v3 0/6} tests/docker: add podman support
Message-Id: <20190713143311.17620-1-marcandre.lureau(a)redhat.com>
* {PATCH 0/2} tests/acceptance: Add test of NeXTcube framebuffer using OCR
Message-Id: <20190629150056.9071-1-f4bug(a)amsat.org>
* {Qemu-devel} {PATCH 0/4} Introduce the microvm machine type
Message-Id: <20190628115349.60293-1-slp(a)redhat.com>
--
Alex Bennée
- Fixed LLD segfault when exceptions.
- Implement large code model TLSLD relocations in LLD.
- More thoughts on MOVK prel relocations in the ABI as there looks to
be a use case for them in HWASAN that isn't covered by the existing
relocations.
- Some thoughts on how TCWG LLVM Jira initiatives could be worded and
how we may want to word them in the next cycle.
- Initial thoughts written down on Connect presentation, need to flesh
out more this week.
- Upgraded machine to 18.04, almost managed to break it in the process
but luckily it was recoverable. Will likely have some teething
problems.
o LLVM:
* Machine Outliner:
- Improved stack fixup handling (remove cnadidates when it is not
bebeficial)
- Fixing an issue related to R12 usage.
o Misc
* Various meetings and discussions.
[VIRT-327 # Richard's upstream QEMU work ]
Posted v4 of arm hflags reorg.
Split out 3 minor patch sets from the larger aa32 decodetree set.
Reviewed v6 of invert-endian tlb patch set.
Reviewed ajb's fpu header reorg.
Posted an RFC vs Andrew Jones' SVE-in-KVM patch set.
r~
QEMU Tooling ([VIRT-252])
=========================
- working through v4 comments on [next version branch]
[next version branch]
https://github.com/stsquad/qemu/tree/plugins/plugins-v5
Upstream Work ([VIRT-109])
==========================
- spent some more time looking at TCG EL2 behaviour
- there is something not working properly even without the VHE
patches
- need to do some tooling work to be able to properly debug HYP code
- posted {PATCH v1 0/7} softfloat header cleanups Message-Id:
<20190808164117.23348-1-alex.bennee(a)linaro.org>
- posted {PATCH v2 0/7} softfloat includes cleanup Message-Id:
<20190809091940.1223-1-alex.bennee(a)linaro.org>
- posted {PATCH v1 0/2} docker DEF_TARGET_LIST cleanup Message-Id:
<20190809155047.24526-1-alex.bennee(a)linaro.org>
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
Completed Reviews [6/6]
=======================
{Qemu-arm} {PATCH 0/2} target/arm: Fix routing of singlestep exceptions
Message-Id: <20190805130952.4415-1-peter.maydell(a)linaro.org>
- CLOSING NOTE [2019-08-07 Wed 11:47]
Looks good, would be nice to integrate a better testcase
{PATCH} gdbstub: Fix handling of '!' packet with new infra
Message-Id: <20190805190901.14072-1-ramiro.polla(a)gmail.com>
- CLOSING NOTE [2019-08-07 Wed 11:59]
Queued to my tree
{PATCH 0/3} tests/tcg: disentangle makefiles
Message-Id: <20190730123759.21723-1-pbonzini(a)redhat.com>
{Qemu-devel} {PATCH v2 00/29} Tame a few "touch this, recompile the world" headers
Message-Id: <20190806151435.10740-1-armbru(a)redhat.com>
- CLOSING NOTE [2019-08-07 Wed 17:32]
Looks OK but breaks a lot of cross compiles. More subtly to fix.
{Qemu-devel} {PATCH untested for-4.2} memory: fix race between TCG and accesses to dirty bitmap
Message-Id: <20190729214717.6616-1-pbonzini(a)redhat.com>
{PATCH v3 00/29} Tame a few "touch this, recompile the world" headers
Message-Id: <87k1bmpn7y.fsf(a)dusky.pond.sub.org>
Current Review Queue
====================
* {PATCH v3 00/34} target/arm: Implement ARMv8.1-VHE
Message-Id: <20190803184800.8221-1-richard.henderson(a)linaro.org>
* {Qemu-devel} {PATCH v4 00/22} target/arm: Implement ARMv8.5-MemTag, system mode
Message-Id: <20190307170440.3113-1-richard.henderson(a)linaro.org>
* {Qemu-devel} {RFC PATCH} Implement qemu_thread_yield for posix, use it in mttcg to handle EXCP_YIELD
Message-Id: <20190717054655.14104-1-npiggin(a)gmail.com>
* {PATCH v3 0/6} tests/docker: add podman support
Message-Id: <20190713143311.17620-1-marcandre.lureau(a)redhat.com>
* {PATCH 0/2} tests/acceptance: Add test of NeXTcube framebuffer using OCR
Message-Id: <20190629150056.9071-1-f4bug(a)amsat.org>
* {Qemu-devel} {PATCH 0/4} Introduce the microvm machine type
Message-Id: <20190628115349.60293-1-slp(a)redhat.com>
--
Alex Bennée
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ we needed an rc4 for 4.1.0 (predictably), so herded the necessary
fixes into it
+ bug fixing:
- LP:1838913 : single-step exceptions were always being taken to EL1,
even if the guest configured debug exceptions to go to EL2 or EL3
- LP:1815423 : x86 TCG bug where we were giving the wrong result for
SSE float-to-int conversions that raised the 'invalid' exception
- LP:1796520 and LP:1839325 : started investigating some sh4 linux-user bugs
+ code review:
- patch to implement aspeed SD controller model
- Eric Auger's patchset of minor SMMUv3 fixes
- Aspeed GPIO controller model
- v3 of the GreenSocs reset-handling refactoring
- RTH's preliminary cleanup of handling of PC in arm decoder
thanks
-- PMM
[VIRT-263 # ARMv8.1-VHE Virtual Host Extensions ]
Posted a couple of revisions. Good feedback between this
and MemTag, both of which need to adjust the set of TLBs.
[VIRT-339 # ARMv8.5-BTI, Branch Target Identification ]
Posted v7.
[VIRT-344 # ARMv8.5-MemTag, Memory Tagging Extension ]
Rebased upon current VHE+BTI work. Updated from beta manuals
to the ARM ARM issue E.a manual.
[VIRT-327 # Richard's upstream QEMU work ]
Reviewed v1 x86 gen_sse rewrite.
Reviewed Alex's v4 plugin patchset.
r~
o LLVM:
* Bots babysitting
* Machine Outliner:
- Rebased branch on upstream
- Working on stack fixup limits test cases
o Misc
* Various meetings and discussions.
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ QEMU 4.1.0 rc3 sent out. As usual, we've found some last minute
bugs and we'll need an rc4 next week...
+ patch review:
- series from Philippe making some cleanups to use object_initialize_child()
and friends
- Alex's patch "generate a custom MIDR for -cpu max"
- made a start on reviewing RTH's 32-bit arm decodetree conversion
+ bug fixing:
- LP:1838277 : we were taking exceptions caused by BRK instructions at
EL2 to EL1, rather than to EL2; sent a patch fixing this
- LP:1838475 : FPU register stacking in M-profile CPUs without the
Security Extensions was incorrectly failing an NSACR check and
taking a bogus exception: sent a patch to fix
+ wrote a patchset that converts the sparc target away from the
deprecated and broken do_unassigned_access hook to use the new-in-2017
do_transaction_failure hook instead; one step closer to being able
to remove the old hook entirely...
+ did the same for the mips target
thanks
-- PMM
== This Week ==
* PR86753
- Working on approach suggested by Richard.
* PR90724
- Pinged upstream.
* Validation
- Merged patch to jenkins-scripts to add testsuite comparison to tcwg_gnu.
- Submitted patch for separating build and test steps in tcwg_gnu.
== Next Week ==
- Continue ongoing tasks.
== Progress ==
* LLVM 9.0.0 rc1 binaries uploaded
- Ran into one cross-platform issue (x86, AArch64, ARM etc)
- Opened a bug for libfuzzer tests on AArch64
* Use ninja in release job [LLVM-536]
- Done
* Investigate running benchmarks in containers [TCWG-1513]
- Seems to work, except for mcf which errors out; will investigate next week
* IR SVE reviews [LLVM-545]
- Another round of feedback to D53137
== Plan ==
* Review D47770
* Upcoming vacation: 6 - 13 August
* Friday off
== Progress ==
* GCC:
- FDPIC: started taking feedback into account. Changes under test.
- noinit attribute: posted a new version
* GNU-583 (Fix Linux kernel built for Thumb-2 with GCC using LTO)
- no progress this week
* GCC upstream validation:
- no new issue this week.
* Binutils:
- Non-contiguous memory regions support in the BFD linker: not started
yet. Received a few "warnings" as feedback.
* misc:
- infra fixes / troubleshooting
== Next ==
GCC:
- handle feedback on FDPIC and noinit patches
- binutils/linker support for non-contiguous memory regions
- GNU-583
- GCC upstream validation: Add a config for cortex-m33 (v8-m)
== Holidays ==
Aug 2-11 (next week)
[PR42719] BasicAA UnitTest failure on AArch64 when compiled with GCC
- Patch submitted upstream
[PR42853] LLD support for TPREL_G0 relocations
- In theory a simple change, but llvm-mc seems to be deliberately
doing something strange with MOVZ encodings fixMOVZ and I haven't
worked out why it is needed.
Investigations with respect to inline assembler constraints.
- Some patch review comments for my ABE (Linaro GCC build system)
patch for GCC RM multilibs
- LLD review for smaller AArch64 images.
- Wrote a summary of what TCWG do for the upstream community, may turn
into a Linaro blogpost
- Raised GCC PR91299 to cover incorrect weak definition inlining in
GCC LTO in presence of non-weak definition.
On holiday Friday 2nd August, back in the office on Monday.
[VIRT-263 # ARMv8.1-VHE Virtual Host Extensions ]
Merged some fixes from Alex.
Starting to test kvm-inside-tcg.
[VIRT-327 # Richard's upstream QEMU work ]
Posted v1 of aa32 base isa conversion to decodetree.
Reviewed v5 of the sparc64 invert endian tlb bit patches.
r~