=== Work done during this 3-day week ===
* TCWG-1428 (Support arithmetic on FileCheck regex variable):
+ continue to rework patch, feature complete and most testcase pass
+ sent another external email to hammer a few details
* Arm new starter welcome and related faff
* GNU Tools Cauldron + travel from Thursday to Sunday
=== Plan for week 37 ===
* TCWG-1428 (Support arithmetic on FileCheck regex variable):
+ fix last bugs, start testing and cleanup
* Try to reproduce perf issue mentioned in week #30's weekly report on
latest perf
* One day off
o LLVM
* Machine Outliner on ARM prototype:
- fixup and testcases work still on-going
- first benchmark results
* Buildbots babysitting
o Misc
* More Jira gardening
* Various meetings and discussions.
Other Tasks
===========
- Continued working on "My Other Machine is Virtual" talk for YVR18
- got working heatmaps for coverage
- writing up TCG memory tracing
Absences
========
- Holiday (16th-28th August 2018)
- YVR18 Connect (17th-21st September 2018)
- KVM Forum 2018 (24th-26th October 2018)
Current Review Queue
====================
* {PATCH 0/6} qht improvements for 3.1
Message-Id: <20180817232923.28899-1-cota(a)braap.org>
* {Qemu-devel} {PATCH 0/3} synchronization profiler
Message-Id: <20180813171132.21939-3-cota(a)braap.org>
* {PATCH 0/6} target/arm: More sve-ish fixes
Message-Id: <20180810193129.1556-1-richard.henderson(a)linaro.org>
* {Qemu-arm} {PATCH 00/10} target/arm: Some pieces of support for 32-bit Hyp mode
Message-Id: <20180814124254.5229-1-peter.maydell(a)linaro.org>
* {PATCH 00/20} target/arm: sve system mode patches
Message-Id: <20180809042206.15726-1-richard.henderson(a)linaro.org>
* {PATCH v4 00/14} fp-test + hardfloat
Message-Id: <1528768140-17894-1-git-send-email-cota(a)braap.org>
--
Alex Bennée
* very short week: off Monday/Tuesday
== Progress ==
* FDPIC
- uClibc-ng: patches committed upstream
- GCC: handling feedback on v2 patches
* GCC upstream validation:
- trunk build broken for a while on RHEL6 (gcc-4.4.7)
- fixed upstream just before I reported the problem
- my scripts now use gcc-5.4.0
* misc (conf-calls, meetings, emails, ....)
- book hotel/plane for GNU Cauldron and Connect
== Next ==
FDPIC:
- GCC: handle v2 patches feedback
- uclibc-ng: look at how to test fdpic mode with openadk
- Connect: prepare hacking room presentation
- GNU Cauldron 2018
=== Work done during this week ===
* TCWG-1379 / GCC PR85434 / CVE-2018-12886: rework needed
+ finished testing and submitted for external review
* TCWG-1428 (Support arithmetic on FileCheck regex variable): address comments
+ continue to rework patch
* Regression testing of LLVM release process:
+ Add support to build from a branch (incl. trunk)
+ Make weekly regression testing from trunk
+ start enabling regression testing of Linaro LLVM release process
when scripts it use change
* Prepare for becoming a line manager next week
=== Plan for week 36 ===
* Welcome new starter
* Finish enabling regression testing of Linaro LLVM release process
when scripts it use change
* DSGHACK-25 (Support arithmetic on FileCheck regex variable): address comments
+ continue to rework patch
* Try to reproduce perf issue mentioned in week #30s weekly report on
latest perf
[VIRT-249 # SVE system mode emulation ]
Fixed a bug in last week's reorg, reported by Laurent.
Fixed a bug in our risu scripts for generating sve memory ops;
I was able to replicate Laurent's failure in risu, finally, and
then fix it. Still need to clean up the risu patch for submission.
[Upstream]
Reviewed mips mxu tcg patch set.
Reviewed s390 afp tcg patch set.
r~
== This Week ==
* TCWG-1234: Hoisting and register pressure (4/10)
- Came up with another heuristic to avoid spill
- Verified it does not regress other test-cases (testsuite + private benchmarks)
* TCWG-319: Use vrecpe / vrecps to implement division (1/10)
- Rebased patch and validated it
- Seems like the issue of bad data alignment is also now seen with
armhf. Investigating
it further.
* PR83661 (2/10)
- Finished with patch prototype
* Public Holiday (2/10)
* Misc (1/10)
- Committed a typo fix in r263819
- Meetings
== Next Week ==
- Continue ongoing tasks
o LLVM
* Machine Outliner on ARM prototype:
- stack fixup support on-going
- test coverage in machine IR
* Buildbots babysitting
o Misc
* Jira gardening
* Various meetings and discussions.
[VIRT-198 # QEMU: SVE Emulation Support ]
Adjusted patch set based on Peter's review and upstreaming.
We talked about a method to initialize cpu config registers.
[Upstream]
Review:
nanomips round 11, now mostly pushed to master.
MPS2 patch set
raspi frame buffer patch set
Partway through a round 6 of the do_syscall split.
r~
Investigated yet another sanitizer related buildbot failure. This time
it looks like latent problems in the compiler-rt/cfi implementation
and tests provoked by the introduction of the Arm LLD bot.
- cfi requires LTO so it requires a bot using LLD or a bot configured
to run gold with the LTO plugin. Raised upstream PR on cfi.
[Linaro Connect]
Made some more progress on a clang-tool example to use for my
presentation on how to build a clang tool. Learned quite a bit more
about ast-matchers and the clang-ast.
[LLD]
Committed support for Armv5 and Armv6 in LLD.
[Miscellaneous]
Quite a heavy patch review week.
Planned absences:
On holiday on Tuesday
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ put some reviewed MPS device patches into master, did a v2 of the
rest and sent them out again; these are now in master
+ ditto with patches for missing AArch32-Hyp features
+ code review:
- rth's patchset fixing float/int-with-scaling conversion
- rth's patchset adding system mode support for SVE
- linux-user: netlink fixes
+ sent out a patchset that wires up the GICv2 virtualization
memory regions and IRQs on the remaining boards that need it;
got this into master
thanks
-- PMM
Note: annual leave tomorrow and Friday, as per my calendar
=== Work done during 3-day week ===
* TCWG-1379 / GCC PR85434 / CVE-2018-12886: rework needed
+ fix 2 more issues with retesting each time
* More knowledge transfer within Arm (writing a script to automate manual
task in GNU Arm Embedded Toolchain release to allow others to do it)
* TCWG-1428 / DSGHACK-25 (Support arithmetic on FileCheck regex variable):
address comments
+ continue to rework patch
* Enable weekly regression testing of LLVM release process jenkins job
* 2 days off annual leave
=== Plan for week 35 ===
* Enable regression testing of Linaro LLVM release process when scripts it
use change
* TCWG-1428 / DSGHACK-25 (Support arithmetic on FileCheck regex variable):
address comments
+ continue to rework patch
* TCWG-1379 / GCC PR85434 / CVE-2018-12886: rework needed
+ submit for external review
* Try to reproduce perf issue mentioned in week #30s weekly report on
latest perf
[VIRT-198 # QEMU: SVE Emulation Support ]
Fixed a double-rounding bug affecting scaled conversion
from integer to float.
[Upstream]
Posted a proposed fix for 128-bit atomic detection.
Posted v4 of linux-user syscall split.
Review of nanomips, round 9.
r~
* One day off
o GNU
* Committed Linaro version string and macros patch in ARM GCC 8 vendor branch
o LLVM
* libcxxabi exception address alignment test failure:
- Committed in trunk and merged into 7.0 branch
* Machine Outliner on ARM prototype:
- LR saving and stack fixup support on-going
* Buildbots babysitting
o Misc
* Jira gardening
* Various meetings and discussions.
Note: I'll be on holidays Thursday and Friday next week.
=== Work done during 3-day week ===
* TCWG-1379 / GCC PR85434 / CVE-2018-12886: rework needed
+ heavy testing
* TCWG-1337 / LLVM PR34170: get backport to LLVM 7 branch
* create design review for -mfpu=auto option in GAS
-> https://confluence.arm.com/display/CTP/Auto+FPU+for+GNU+as
* Knowledge transfer within Arm
* Misc:
+ GCC Linaro sync
* 2 days off taking care of my feverish child
=== Plan for week 34 ===
* Enable regression testing of Linaro release process
* TCWG-1428 (Support arithmetic on FileCheck regex variable): address
comments
+ continue to rework patch
* TCWG-1379 / GCC PR85434 / CVE-2018-12886: rework needed
+ investigate aarch64 glibc regression
* Try to reproduce perf issue mentioned in week #30s weekly report on
latest perf
4 day week, out on holiday Wednesday.
[TCWG Jira]
- Recommendations made on what to do with outstanding epics.
- Will be making the changes on Monday.
[Linaro Connect]
- Research for presentation on libtooling.
- Outline of presentation written and made a start on the first of the examples.
- Will be doing a further presentation in the hack-room on LLVM
profiling and code-size
Involved in more than the usual amount of reviews.
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ got 3.0 release out of the door!
+ code review:
- lots of Cortex-M0 and micro:bit patches
- model of Freescale i.MX6 UltraLite 14x14 EVK Board
- hw/arm: make bitbanded IO optional on ARMv7-M
- imx_spi: Unset XCH when TX FIFO becomes empty
- hw/arm/mps2-tz: Replace init_sysbus_child() with sysbus_init_child_obj()
- imx_serial: Generate interrupt on receive data ready if enabled
- target/arm: Fix crash on conditional instr in it block
- supporting migration of pending-SError state in KVM
+ sent a patchset deleting the now-obsolete MMIO request_ptr APIs
+ some tidyup of JIRA issues
+ trying to add a SPARC box back into our build-and-test set
thanks
-- PMM
Hi, dear toolchain team
I'm working on a Cavium ThunderX and want to install the latest Linaro binary release 7.3.1, but it seems no aarch64 native binaries in https://releases.linaro.org/components/toolchain/binaries/latest/aarch64-li…
Can you help on this, thanks very much!
Best Regards, Yi
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.
SVE Support ([VIRT-198])
========================
- looked at re-factoring fcvt tests to add tests for rth's recent
fixes
- see [my initial test branch]
- the idea is to make adding a new op test case minimal effort
[VIRT-198] https://projects.linaro.org/browse/VIRT-198
[my initial test branch]
https://github.com/stsquad/qemu/tree/testing/generic-op-tester
Other Tasks
===========
- Started working on "My Other Machine is Virtual" talk for YVR18
- use-case: find hot-block in pure CPU code
- use-case: trace disk activity on system boot
- Added another story to the [Instrumentation EPIC]
[Instrumentation EPIC] https://projects.linaro.org/browse/TCWG-1457
Absences
========
- Holiday (16th-28th August 2018)
- YVR18 Connect (17th-21st September 2018)
- KVM Forum 2018 (24th-26th October 2018)
Current Review Queue
====================
* {Qemu-devel} {PATCH 0/3} synchronization profiler
Message-Id: <20180813171132.21939-3-cota(a)braap.org>
* {PATCH 0/6} target/arm: More sve-ish fixes
Message-Id: <20180810193129.1556-1-richard.henderson(a)linaro.org>
* {Qemu-arm} {PATCH 00/10} target/arm: Some pieces of support for 32-bit Hyp mode
Message-Id: <20180814124254.5229-1-peter.maydell(a)linaro.org>
* {PATCH 00/20} target/arm: sve system mode patches
Message-Id: <20180809042206.15726-1-richard.henderson(a)linaro.org>
* {PATCH v4 00/14} fp-test + hardfloat
Message-Id: <1528768140-17894-1-git-send-email-cota(a)braap.org>
* {PATCH 0/5} tests/vm: Improvements when KVM is not available
Message-Id: <20180717024827.27897-1-f4bug(a)amsat.org>
--
Alex Bennée
o GNU
* Submitted Linaro version string and macros patch for ARM GCC 8 vendor branch
o LLVM
* Built LLVM 7.0.0 RC1 ARM and AArch64 binaries
* Investigate infra issues with release builds
* libcxxabi exception address alignment test failure:
- Added some comments to help the review
* Machine Outliner on ARM prototype:
- Implemented saving LR in a register support
o Misc
* Various meetings and discussions.
[VIRT-198 # QEMU: SVE Emulation Support ]
Fixed a dozen-ish bugs pointed out by Laurent in direct email.
Reorganized the patch set, squashing !fixup; posted everything.
r~
[TCWG-1424] Investigation into profile guided information for code size
- Wrote script to process all the data from all the runs and correlate
it with code size.
- Now have some visualisations of some of the data that I can use to
make sense of the output.
- Next step is to prepare a presentation for the Connect hacking room
on the output.
- Jira sweep for TCWG LLVM epics in preparation for upcoming connect.
- Presentation for Linaro connect on Clang Tooling accepted, a
bittersweet moment as I've got to write it now.
SVE Support ([VIRT-198])
========================
- continued looking into Nils's SVE enabled Test_simd from Grid
failure
- __attribute__((noinline)) makes it go away, so subtle code
difference
- looking through side-by-side traces to find where it went wrong
- posted {RFC PATCH 0/4} add hand-rolled fallback when capstone
fails Message-Id: <20180808123934.17450-1-alex.bennee(a)linaro.org>
- finally fixed after Laurent's review comments - see [rth's latest
branch]
[VIRT-198] https://projects.linaro.org/browse/VIRT-198
[rth's latest branch]
https://github.com/stsquad/qemu/tree/testing/tgt-arm-sve-c
SVE Reviews
- reviewed {PATCH 00/11} target/arm: sve linux-user patches
Message-Id: <20180809034033.10579-1-richard.henderson(a)linaro.org>
- started reviewing {PATCH 00/20} target/arm: sve system mode patches
Message-Id: <20180809042206.15726-1-richard.henderson(a)linaro.org>
Upstream Work ([VIRT-109])
==========================
- posted {RFC PATCH 0/3} Tweaks to linux-user -dfilter Message-Id:
<20180809175553.18479-1-alex.bennee(a)linaro.org>
- posted {RFC PATCH 0/3} tweaks for QEMU's C standard Message-Id:
<0180810171102.16451-1-alex.bennee(a)linaro.org>
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
Other Tasks
===========
- Submitted "My Other Machine is Virtual" abstract for YVR18
- this talk has been accepted
- Drafted the [Instrumentation EPIC]
- started added stories for various use-cases
[Instrumentation EPIC] https://projects.linaro.org/browse/TCWG-1457
Completed Reviews [1/1]
=======================
{PATCH 00/11} target/arm: sve linux-user patches
Message-Id: <20180809034033.10579-1-richard.henderson(a)linaro.org>
- CLOSING NOTE [2018-08-09 Thu 12:44]
Looks good, tested on a bunch of stuff
Absences
========
- Holiday (16th-28th August 2018)
- YVR18 Connect (17th-21st September 2018)
- KVM Forum 2018 (24th-26th October 2018)
Current Review Queue
====================
* {PATCH 00/20} target/arm: sve system mode patches
Message-Id: <20180809042206.15726-1-richard.henderson(a)linaro.org>
* {PATCH 0/5} tests/vm: Improvements when KVM is not available
Message-Id: <20180717024827.27897-1-f4bug(a)amsat.org>
* {RFC PATCH 00/12} tests/tcg: Add TriCore tests
Message-Id: <20180501142222.19154-1-kbastian(a)mail.uni-paderborn.de>
* {PATCH v4 00/14} fp-test + hardfloat
Message-Id: <1528768140-17894-1-git-send-email-cota(a)braap.org>
* {Qemu-devel} {RFC PATCH v2 0/7} QEMU binary instrumentation prototype
Message-Id: <152819515565.30857.16834004920507717324.stgit@pasha-ThinkPad-T60>
* {Qemu-devel} {RFC v2 0/2} Add BPF suuport to Qemu
Message-Id: <20180625110706.23332-1-sameeh(a)daynix.com>
--
Alex Bennée
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ found and fixed a last minute couple of bugs with VM migration
for Arm guests, one in the GICv3 and one for M-profile CPUs
+ triaging and applying fixes for last few rc4 bugs
+ sent a patch to make our checkpatch script catch multiline comment
style issues
+ LP:1777672: investigating reported bug in raspi framebuffer emulation
* VIRT-164 [improve Cortex-M emulation]
+ finished, tested, and sent patchset that implements the Master Security
Controller and adds the PL081 DMA and MSCs to the MPS2 AN505 board
+ wrote patches that add the PL022 SPI controllers to the AN505
(fixing some PL022 bugs in the process)
* finished sorting out last bits of travel for Connect and KVM Forum
* various JIRA ticket scrub/fettling
thanks
-- PMM
=== Work done during this week ===
* TCWG-1379 / GCC PR85434 / CVE-2018-12886: rework needed
+ fix issues seen on x86_64 and start a bigger round of testing
* TCWG-1337 / LLVM PR34170: last patch committed to trunk
+ address review comments and commit it once approved, then request
backport to LLVM 7 branch
* Submit and commit patch to clarify what tm.texi needs copying when
tm.texi.in is updated in source tree
* Misc:
+ Linaro syncs
+ 2 days and a half of Linaro JIRA gardening
=== Plan for week 33 ===
* Enable regression testing of Linaro release process
* DSGHACK-25 (Support arithmetic on FileCheck regex variable): address comments
+ continue to rework patch
* GCC PR85434 / CVE-2018-12886: rework needed
+ confirm all regressions are fixed
+ finish testing and submit for review
* Try to reproduce perf issue mentioned in week #30s weekly report on
latest perf
=== Work done during this week ===
* TCWG-1379 / GCC PR85434 / CVE-2018-12886: rework needed
+ commit and revert due to regression on x86 and in glibc for aarch64
-> seems there is at least 2 issues, *sigh*
* TCWG-1337 / LLVM PR34170:
+ track down and fix issue that patch 2/3 uncovered, then reapply 2/3
+ investigate regression from patch 1/3, fixed by patch 3/3
fortunately and believe this is the right fix
* Continue work on TCWG-1428 (Support arithmetic on FileCheck regex variable):
+ start rework patch to follow new syntax and accept numeric
expressions with several variables
* Linaro PR3943:
+ investigate issue, propose several workarounds to customer and
raise need for GCC release with combined multilib
* Misc:
+ Linaro syncs
+ bits of Linaro JIRA gardening
+ new ask question button and typo fix on developer.arm.com's GNU RM page
+ prepare Linaro Connect
=== Plan for week 32 ===
* Summarize state of GNU EPIC in JIRA
* Enable regression testing of Linaro release process
* DSGHACK-25 (Support arithmetic on FileCheck regex variable): address comments
+ continue to rework patch
* GCC PR85434 / CVE-2018-12886: rework needed
+ investigate regressions
* Try to reproduce perf issue mentioned in last weekly report on latest perf
*very short week (1 day) *
== Progress ==
* FDPIC
- uClibc-ng: posted v2 patches
* GCC upstream validation:
- looking at some random noise in testing
- reported a couple of regressions
* Infrastructure:
- misc cleanups
* misc (conf-calls, meetings, emails, ....)
== Next ==
Holidays: back on Aug 29th
o LLVM
* Machine Outliner on ARM prototype:
- Working on saving LR in a register support
- Working on stack fixups mechanism
* libcxxabi exception address alignment test failure:
- Fix submitted upstream
o Misc
* Various meetings and discussions.
== Progress ==
* FDPIC
- uClibc-ng: investigated regression in non-FDPIC code, preparing v2 patches
* GCC upstream validation:
- looking at some random noise in testing
- reported a couple of regressions
* Infrastructure:
- misc cleanups
* misc (conf-calls, meetings, emails, ....)
== Next ==
1-day week, the holidays. Back on Aug 29th
[VIRT-198 # QEMU: SVE Emulation Support ]
Fixed 4 bugs pointed out by Laurent on list.
Dump sve state with -d fpu.
[VIRT-249 # SVE System Mode ]
Clear sve state on vector length change on EL change.
[Upstream]
Finished v5 review of nanomips.
Fixed 4 sparc clone bugs.
Fixed a ppc fp load/store bug I introduced in June.
[Glibc]
Adjusted _dl_runtime_resolve and friends for the new ARM vector ABI;
posted for comment. ARM folk pointed out that I'd have to save even
more state than that, and really the compiler needs fixing to avoid
the PLT completely. The right people are talking about the problem.
r~
SVE Support ([VIRT-198])
========================
- traced the svetest failure from Naoki @ Naist to SVE ABI issue with
dynamic linker
- rth has posted [a fix for glibc] and a bug raised for armclang
w.r.t. noplt
- looking into Nils's SVE enabled Test_simd from Grid failure
- __attribute__((noinline)) makes it go away, so subtle code
difference
- looking through side-by-side traces to find where it went wrong
[VIRT-198] https://projects.linaro.org/browse/VIRT-198
[a fix for glibc]
https://sourceware.org/ml/libc-alpha/2018-08/msg00017.html
SVE Reviews
- reviewed {Qemu-devel} {PATCH 0/4} target/arm sve fixes Message-Id:
<20180801123111.3595-1-richard.henderson(a)linaro.org>
QEMU ARMv8.3 Support ([VIRT-241])
=================================
- had a [quick run at VHE] which crystallised some of the issues with
register aliasing
- obviously need to sit and think about a design for this
[VIRT-241] https://projects.linaro.org/browse/VIRT-241
[ARMv8.1 Mandatory Features]
https://projects.linaro.org/browse/TCWG-1434
[ARMv8.1 optional features] https://projects.linaro.org/browse/TCWG-1435
[quick run at VHE] https://github.com/stsquad/qemu/tree/add-vhe-rfc
Upstream Work ([VIRT-109])
==========================
- posted {PATCH v1 for 3.0 0/2} fix for bug 1783362 Message-Id:
<20180726132947.28538-1-alex.bennee(a)linaro.org>
- started reviewing {PATCH v5 00/24} Fixing record/replay and adding
reverse debugging Message-Id:
<20180725121311.12867.21729.stgit@pasha-VirtualBox>
- number of build issues need to be resolved
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
Completed Reviews [3/3]
=======================
{PATCH 0/3} linux-user/sparc: Fixes for clone
Message-Id: <20180730201553.32423-1-richard.henderson(a)linaro.org>
- CLOSING NOTE [2018-08-01 Wed 14:35]
Still some issues with the tests
{PATCH v5 00/24} Fixing record/replay and adding reverse debugging
Message-Id: <20180725121311.12867.21729.stgit@pasha-VirtualBox>
- CLOSING NOTE [2018-08-01 Wed 14:36]
Bunch of build failures... gave up.
{Qemu-devel} {PATCH 0/4} target/arm sve fixes
Message-Id: <20180801123111.3595-1-richard.henderson(a)linaro.org>
- CLOSING NOTE [2018-08-02 Thu 10:28]
Looks good, but hasn't solved all remaining problems.
Absences
========
- YVR18 Connect (17th-21st September 2018)
- KVM Forum 2018 (24th-26th October 2018)
Current Review Queue
====================
* {PATCH 0/5} tests/vm: Improvements when KVM is not available
Message-Id: <20180717024827.27897-1-f4bug(a)amsat.org>
* {RFC PATCH 00/12} tests/tcg: Add TriCore tests
Message-Id: <20180501142222.19154-1-kbastian(a)mail.uni-paderborn.de>
* {PATCH v4 00/14} fp-test + hardfloat
Message-Id: <1528768140-17894-1-git-send-email-cota(a)braap.org>
* {Qemu-devel} {RFC PATCH v2 0/7} QEMU binary instrumentation prototype
Message-Id: <152819515565.30857.16834004920507717324.stgit@pasha-ThinkPad-T60>
* {Qemu-devel} {RFC v2 0/2} Add BPF suuport to Qemu
Message-Id: <20180625110706.23332-1-sameeh(a)daynix.com>
* {PATCH 0/4} tests/vm: various trivial fixes
Message-Id: <20180628153535.1411-1-f4bug(a)amsat.org>
--
Alex Bennée
[TCWG-1450] Support for Tag_ABI_VFP_args in LLD
Needed by FreeBSD in order to switch to LLD for Arm.
[TCWG-1451] Support for v5 and v6 Arm in LLD
Tidied up and submitted patches for v5/v6 (branch encoding and
compatible thunks), in upstream review.
[TCWG]
- Started doing some Jira gardening in preparation for status report
- Went back to libfuzzer hang on AArch64 buildbot. Looks like failure
to converge on -O2 and above, from the logs and code-generation I
suspect that it isn't handling the CINC instruction well (not
increasing coverage when the condition passes).
Progres:s
* VIRT-65 [QEMU upstream maintainership]
+ some time spent getting testing on BSD VMs working again (the box I
use for this was replaced with new hardware, which seemed like a good
time to shift to the support for this we have in upstream QEMU)
+ pre-Connect scrub of Linaro JIRA tasks to check they're up to date
+ sent some more "convert devices away from old_mmio API" patches
+ usual release work
* VIRT-164 [improve Cortex-M emulation]
+ finished, tested and sent patchset implementing MPS2 FPGAIO counters
and the CMSDK dual-timer device
+ implemented model of CMSDK watchdog timer
+ implemented minimal version of IoTKit system control element registers
+ started on modelling the Master Security Controller (which gates
transactions from bus master peripherals like DMA controllers)
thanks
-- PMM
=== Work done during this 4day week ===
* Continued looking into MCF branch prediction overload due to too
many consecutive branches:
+ managed to get reproducible results
-> was missing --buildid-dir option when invoking perf
-> above flag seems ignored if a binary with same path exists
where the initial binary was built
+ rerun again sampling only one event to confirm I get # of samples
* sampling freq = run time
-> conclusion: LLVM as good as GCC for SPEC2006 MCF, profile
different because LLVM inlines one of the hot functions
* GCC PR85434 / CVE-2018-12886: upstream review
+ finish testing and submit for external review
* LLVM PR34170:
+ address comments and commit once approved
-> most build bot failed to run the test the commit added, got
reverted before I could
+ investigate test failure -> does not fail when LLVM compiled with
GCC or in Debug mode
* Continue work on DSGHACK-25 (Support arithmetic on FileCheck regex variable):
+ hammer out syntax based on upstream feedback about what would be
desirable as FileCheck expressions
* Misc:
+ Linaro LLVM buildbot babysitting
+ upstream code review
* One day off on Friday
=== Plan for week 31 ===
* TCWG-1428 (Support arithmetic on FileCheck regex variable): address comments
+ rework patch once syntax is agreed
* Track down what causes testcase added for patch 2/3 for LLVM PR34170
* Try to reproduce perf issue mentioned above on latest perf
o Back from vacation Thu 24th
o LLVM Machine Outliner on ARM
* Caught up with upstream developments
* Rebased prototype on upstream
* Committed patch to assert when liveness tracking is not accurate
o Misc
* Various meetings and discussions.
[VIRT-198 # QEMU: SVE Emulation Support ]
Added sve-max-vq cpu property to adjust the sve vector length
from the qemu command-line, a-la "-cpu max,sve-max-vq=N".
[VIRT-249 # SVE System Mode ]
Reorganized all of the load/store helpers to handle bi-endian,
and pass in TCGMemOpIdx for use by softmmu.
[Upstream]
Round 3 of nanomips review.
Other review of -rc3 and 3.1 patches.
r~
4 day week.
[TCWG-1424] Investigate profile feedback on codesize
Have now got all the data I need, started the process of tidying up
scripts to analyse whether it is worth posting upstream and what the
best default parameters are.
[Misc]
Track down problem on AArch64 build-bot to a likely code-gen problem
in Clang 3.8 for AArch64 only. Wrote a patch to use clang 6.0 on all
the Linaro buildbots rather than just the libcxx builder. Will
hopefully get deployed next week.
[LLD] Work on adding support for EF_ARM_ABI_FLOAT_HARD and EF_ARM_ABI_FLOAT_SOFT
Needed to unblock freebsd from moving onto trunk
Mostly done, just need to finish adding tests. Might be a good jumping
off point to implement full build attributes support.
SVE Support ([VIRT-198])
========================
- posted {PATCH} tcg/aarch64: limit mul_vec size Message-Id:
<20180719154248.29669-1-alex.bennee(a)linaro.org> : done
- finished preparing [talk for HPC workshop on 26th]
- delivered it Thursday evening, recording will go online in due
course
- blog post is now [live on linaro.org]
[VIRT-198] https://projects.linaro.org/browse/VIRT-198
[talk for HPC workshop on 26th]
https://docs.google.com/presentation/d/1Jz9ePpJ_YGd3vPXMj090VwRwPfBSYWHlSiz…
[live on linaro.org] https://www.linaro.org/blog/sve-in-qemu-linux-user/
Write and submit Connect abstract
- submitted abstract: My other machine is virtual for YVR18
SVE Reviews
- finished reviewing {RFC PATCH 00/16} KVM: arm64: Initial support for
SVE guests Message-Id:
<1529593060-542-1-git-send-email-Dave.Martin(a)arm.com>
QEMU ARMv8.3 Support ([VIRT-241])
=================================
- had a [quick run at VHE] which crystallised some of the issues with
register aliasing
- obviously need to sit and think about a design for this
[VIRT-241] https://projects.linaro.org/browse/VIRT-241
[ARMv8.1 Mandatory Features]
https://projects.linaro.org/browse/TCWG-1434
[ARMv8.1 optional features] https://projects.linaro.org/browse/TCWG-1435
[quick run at VHE] https://github.com/stsquad/qemu/tree/add-vhe-rfc
Upstream Work ([VIRT-109])
==========================
- posted {PATCH v1 for 3.0 0/2} fix for bug 1783362 Message-Id:
<20180726132947.28538-1-alex.bennee(a)linaro.org>
- started reviewing {PATCH v5 00/24} Fixing record/replay and adding
reverse debugging Message-Id:
<20180725121311.12867.21729.stgit@pasha-VirtualBox>
- number of build issues need to be resolved
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
[v2 of docker fixes]
https://github.com/stsquad/qemu/tree/testing/docker-fixes-for-3.0-v2
[debootstrap master]
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903657
Testing and CI
==============
- finish converting the CI RISU jobs to submit via qa-reports :todo
- got a Packet.net machine for QEMU/Docker testing
- posted {PATCH RFC 00/10} docker on non-x86 hosts Message-Id:
<20180718100505.7546-1-alex.bennee(a)linaro.org>
QEMU CI Loop ([VIRT-187])
- investigating porting existing RISU tests via qa-reports
- add additional test patterns :todo
[VIRT-187] https://projects.linaro.org/browse/VIRT-187
KVM CI Loop ([VIRT-2])
- need to sync-up on the current state of this work :todo
- started looking at Xiang's latest auto setup scripts
[VIRT-2] https://projects.linaro.org/browse/VIRT-2
[our wiki] https://wiki.linaro.org/Core/Virtualization
MTTCG tests ([VIRT-52])
- need to dust these off and get up-streamed if I'm going to add new
tests :todo
[VIRT-52] https://projects.linaro.org/browse/VIRT-52
Other Tasks
===========
- Submitted "My Other Machine is Virtual" abstract for YVR18
- Create an Instrumentation EPIC :todo
[arm64 story a bit more desktopy]
https://github.com/stsquad/gentoo/tree/arm-keywords-so-far
[Kata Containers] https://katacontainers.io/
[CrosVM] https://chromium.googlesource.com/chromiumos/platform/crosvm/
Completed Reviews [2/2]
=======================
{RFC PATCH 00/16} KVM: arm64: Initial support for SVE guests
Message-Id: <1529593060-542-1-git-send-email-Dave.Martin(a)arm.com>
- CLOSING NOTE [2018-07-26 Thu 11:18]
Did about 2/3rds of series, drew did the top few - re-spin on it's
way.
{PATCH v4 00/19} reverse debugging
Message-Id: <20180528071332.9424.27343.stgit@pasha-VirtualBox>
- CLOSING NOTE [2018-07-26 Thu 15:06]
v5 posted
Absences
========
- YVR18 Connect (17th-21st September 2018)
- KVM Forum 2018 (24th-26th October 2018)
Current Review Queue
====================
* {PATCH v5 00/24} Fixing record/replay and adding reverse debugging
Message-Id: <20180725121311.12867.21729.stgit@pasha-VirtualBox>
* {PATCH 0/5} tests/vm: Improvements when KVM is not available
Message-Id: <20180717024827.27897-1-f4bug(a)amsat.org>
* {RFC PATCH 00/12} tests/tcg: Add TriCore tests
Message-Id: <20180501142222.19154-1-kbastian(a)mail.uni-paderborn.de>
* {PATCH v4 00/14} fp-test + hardfloat
Message-Id: <1528768140-17894-1-git-send-email-cota(a)braap.org>
* {Qemu-devel} {RFC PATCH v2 0/7} QEMU binary instrumentation prototype
Message-Id: <152819515565.30857.16834004920507717324.stgit@pasha-ThinkPad-T60>
* {Qemu-devel} {RFC v2 0/2} Add BPF suuport to Qemu
Message-Id: <20180625110706.23332-1-sameeh(a)daynix.com>
--
Alex Bennée
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ investigated required work for implementing HCR_EL2.TGE (the "trap
general exceptions" bit); identified what we've already implemented,
wrote patches for the other parts, and sent them out for review
+ sent patch to fix GICv3 emulation bug where we checked the wrong
HCR_EL2 bit when deciding whether to route IRQs to EL2
+ usual release-cycle related work
* VIRT-164 [improve Cortex-M emulation]
+ sent patch to fix a bug where we could escalate to the wrong HardFault
when AIRCR.BFHFNMINS is set
+ fixed bug where we had miswired the IoTKit timer1 IRQ line
+ fixed bug preventing VM state save/load for the NVIC with Security
extensions enabled
+ fixed "use of uninitialized memory" bug in the TZ-MPC model
+ had another look at the requirements for v8M stack-limit checking
+ implemented missing support for MPS2 FPGAIO up/down counter registers
+ started on a model of the CMSDK "dual-timer" module (as part of
looking at what remaining devices in the MPS2 are easy/worth
modelling so we can close out VIRT-182)
thanks
-- PMM
Following on from last weeks discussion here is an alternative abstract
which instead of looking to the future with where QEMU can go would
concentrate on what you can do with QEMU now. What do you think?
_____________________________
MY OTHER MACHINE IS VIRTUAL
Alex Bennée
_____________________________
YVR18
When working with new architectures there is often a scramble for
getting access to hardware. However hardware comes with it's own
problems - especially when it's new. It's hard to upgrade, hard to poke
around inside and hard to experiment with.
This is an area where QEMU can help. Thanks to it cross-architecture
emulation and ability to run full-system emulation it provides a
platform for experimentation without the potential consequences of
turning your new board into a inanimate brick.
This talk will start with an overview of QEMU and how various
configurations can be setup. We'll then examine various features
available that allow us to examine the run time behaviour of code inside
QEMU as well as discuss some of its limitations. Finally we'll look at
some experiments that would be hard to do with real hardware and what
they can tell us about the code we are running.
--
Alex Bennée
[Upstream]
Spent several days working with Alex and his docker testing bits.
Reproduced the reported ppc32 test failure. Wrote a patch to
implement the swapcontext syscall, which has now been merged.
Round 3 review of nanoMIPS submission.
Fixed a tricky issue wrt call-clobbered vector registers.
[VIRT-198 # QEMU: SVE Emulation Support ]
Some back and forth with Nils Meyer wrt SVE vs Grid.
TODO: Let the SVE vector length be selectable from the command-line.
r~
=== Work done during this 4.5day week ===
* TCWG-1062 (MCF branch prediction overload due to too many
consecutive branches):
+ rework reproduction steps around an existing script that does all
the steps of downloading and installing the benchmark and run it under
perf
+ gather what was observed that triggered the ticket I'm working on
-> narrowed down to 2/3 functions to be on the lookout
+ benchmark GCC and LLVM and compare the profile for these functions
-> bingo, I can see a branch issue
+ try to get assembly files to add nop and test performance again
-> code in assembly file is different from output of perf report,
need to rerun benchmark again to make sure I didn't fail there (sigh)
* TCWG-1379 / GCC PR85434 / CVE-2018-12886: upstream review
+ reply to upstream review comments
+ start to test tightening predicate for new instruction pattern
-> weird build error when trying to bootstrap unrelated to my
changes (missing header issues in stage 1 libgcc build)
* TCWG-1337 / LLVM PR34170:
+ respond to upstream review comments
* Continue work on TCWG-1428 (Support arithmetic on FileCheck regex variable):
+ hammer out syntax based on upstream feedback about what would be
desirable as FileCheck expressions
* Misc:
+ Linaro LLVM buildbot babysitting
+ Arm internal presentation
* Half a day off on Friday
=== Plan for week 30 ===
* TCWG-1428 (Support arithmetic on FileCheck regex variable): address comments
+ rework patch once syntax is agreed
* TCWG-1062 (MCF branch prediction overload due to too many
consecutive branches):
+ find out why assembly file from -save-temps is different from perf
report output
+ check performance when adding padding
+ start to investigate a solution
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ code review
- another pass of the GICv2 virt support
- IMX6UL SoC support
- more patches for v6M support in core and NVIC
- PMU emulation improvements
+ rolled another 3.0 release candidate
* VIRT-164 [improve Cortex-M emulation]
+ implemented and sent a patchset for doing tailchaining of pending
exceptions during exception return
thanks
-- PMM
SVE Support ([VIRT-198])
========================
- converted [post on SVE development] to jekyl blog format
- a little fighting with the tooling but [draft on staging]
- trying to get compilers set-up to debug failing Grid Test_simd
testcase
- now have full 1yr armclang license for me and rth
- Test_simd passes with fresh build and current master
- not sure old binary fails - but Nils happy with current state
- fixed vector multiply bug on aarch64 backend
- posted {PATCH} tcg/aarch64: limit mul_vec size Message-Id:
<20180719154248.29669-1-alex.bennee(a)linaro.org>
- drafting [talk for HPC workshop on 26th]
- currently 11 minutes talking, need to expand
[VIRT-198] https://projects.linaro.org/browse/VIRT-198
[post on SVE development]
https://docs.google.com/document/d/15v1asqk-6de2RtA7ZWdIQ29PkY92gl3nlwG7_Se…
[draft on staging]
https://staging.linaro.org/blog/sve-in-qemu-linux-user/
[talk for HPC workshop on 26th]
https://docs.google.com/presentation/d/1Jz9ePpJ_YGd3vPXMj090VwRwPfBSYWHlSiz…
Write and submit Connect abstract
- "How-to use QEMU to test my software on no-silicon hardware"? :todo
- amalgamate HPC talk and blog post
SVE Reviews
- finish reviewing {RFC PATCH 00/16} KVM: arm64: Initial support for
SVE guests Message-Id:
<1529593060-542-1-git-send-email-Dave.Martin(a)arm.com> :todo
- stalled this week due to other activities
QEMU ARMv8.3 Support ([VIRT-241])
=================================
- had a [quick run at VHE] which crystallised some of the issues with
register aliasing
- obviously need to sit and think about a design for this
[VIRT-241] https://projects.linaro.org/browse/VIRT-241
[ARMv8.1 Mandatory Features]
https://projects.linaro.org/browse/TCWG-1434
[ARMv8.1 optional features] https://projects.linaro.org/browse/TCWG-1435
[quick run at VHE] https://github.com/stsquad/qemu/tree/add-vhe-rfc
Upstream Work ([VIRT-109])
==========================
- posted {PATCH v3 for 3.0 00/18} docker fixes (and one tcg test
tweak) Message-Id: <20180717195553.9111-1-alex.bennee(a)linaro.org>
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
[v2 of docker fixes]
https://github.com/stsquad/qemu/tree/testing/docker-fixes-for-3.0-v2
[debootstrap master]
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903657
Testing and CI
==============
- started looking at converting the CI RISU jobs to submit via
qa-reports
- got a Packet.net machine for QEMU/Docker testing
- posted {PATCH RFC 00/10} docker on non-x86 hosts Message-Id:
<20180718100505.7546-1-alex.bennee(a)linaro.org>
QEMU CI Loop ([VIRT-187])
- investigating porting existing RISU tests via qa-reports
- add additional test patterns :todo
[VIRT-187] https://projects.linaro.org/browse/VIRT-187
KVM CI Loop ([VIRT-2])
- need to sync-up on the current state of this work :todo
- started looking at Xiang's latest auto setup scripts
[VIRT-2] https://projects.linaro.org/browse/VIRT-2
[our wiki] https://wiki.linaro.org/Core/Virtualization
MTTCG tests ([VIRT-52])
- need to dust these off and get up-streamed if I'm going to add new
tests :todo
[VIRT-52] https://projects.linaro.org/browse/VIRT-52
Other Tasks
===========
- Create an Instrumentation EPIC :todo
[arm64 story a bit more desktopy]
https://github.com/stsquad/gentoo/tree/arm-keywords-so-far
[Kata Containers] https://katacontainers.io/
[CrosVM] https://chromium.googlesource.com/chromiumos/platform/crosvm/
Completed Reviews [6/6]
=======================
{PATCH v2 00/13} iommu: support txattrs, support TCG execution, implement TZ MPC
Message-Id: <20180604152941.20374-10-peter.maydell(a)linaro.org>
- CLOSING NOTE [2018-06-14 Thu 19:27]
Looks good.
{PATCH 0/8} Docker improvements
Message-Id: <20180628164643.9668-1-f4bug(a)amsat.org>
- CLOSING NOTE [2018-06-29 Fri 21:38]
Grabbed some patches, commented on others
{Qemu-arm} {PATCH v6 00/35} target/arm SVE patches
Message-Id: <20180627043328.11531-1-richard.henderson(a)linaro.org>
- CLOSING NOTE [2018-06-29 Fri 21:39]
Looks good
{Qemu-devel} {PATCH v5 00/35} target/arm SVE patches
Message-Id: <20180621015359.12018-1-richard.henderson(a)linaro.org>
- CLOSING NOTE [2018-06-29 Fri 21:39]
Looking good, stopped to move to v6
{PATCH 0/4} KVM: arm64: FPSIMD/SVE fixes for 4.17
Message-Id: <1528976039-25826-1-git-send-email-Dave.Martin(a)arm.com>
- CLOSING NOTE [2018-06-29 Fri 21:40]
Seems sane to me.
{Qemu-arm} {PATCH v3-a 00/27} target/arm: Scalable Vector Extension
Message-Id: <20180516223007.10256-1-richard.henderson(a)linaro.org>
- CLOSING NOTE [2018-07-13 Fri 20:02]
Already merged
Absences
========
- Friday 20th July
- YVR18 Connect (17th-21st September 2018)
- KVM Forum 2018 (24th-26th October 2018)
Current Review Queue
====================
* {RFC PATCH 00/16} KVM: arm64: Initial support for SVE guests
Message-Id: <1529593060-542-1-git-send-email-Dave.Martin(a)arm.com>
* {PATCH 0/5} tests/vm: Improvements when KVM is not available
Message-Id: <20180717024827.27897-1-f4bug(a)amsat.org>
* {PATCH v4 00/19} reverse debugging
Message-Id: <20180528071332.9424.27343.stgit@pasha-VirtualBox>
* {RFC PATCH 00/12} tests/tcg: Add TriCore tests
Message-Id: <20180501142222.19154-1-kbastian(a)mail.uni-paderborn.de>
* {PATCH v4 00/14} fp-test + hardfloat
Message-Id: <1528768140-17894-1-git-send-email-cota(a)braap.org>
* {Qemu-devel} {RFC PATCH v2 0/7} QEMU binary instrumentation prototype
Message-Id: <152819515565.30857.16834004920507717324.stgit@pasha-ThinkPad-T60>
--
Alex Bennée
[TCWG-1424] Using profile feedback to investigate code size
- Have most of the information I need to draw some conclusions. Should
have the remaining runs I need over the weekend.
- Next step is to analyse the data a bit more formally and write up.
- Discuss next steps. It may be worth polishing up the pass and
posting upstream as an RFC.
- Would like to wrap the investigation up by the end of July
On holiday on Friday 20th July and Monday 23rd July, back in the
office on Tuesday 24th.
[Upstream]
Fixed an arm32 host linux-user bug affecting shmat.
Added a ppc guest linux-user missing syscall, swapcontext.
Patch review for hardfreeze.
[VIRT-198 # QEMU: SVE Emulation Support ]
Fixed a LD1W (scalar plus vector) typo.
De-macro-ising sve_helper.c to aid debugging.
r~
SVE Support ([VIRT-198])
========================
- wrote up abstract for HPC workshop on 26th July
- started on presentation for workshop
- convert [post on SVE development] to jekly blog format and re-check
steps :todo
- trying to get compilers set-up to debug failing Grid Test_simd
testcase
- now have full 1yr armclang license for me and rth
[VIRT-198] https://projects.linaro.org/browse/VIRT-198
[post on SVE development]
https://docs.google.com/document/d/15v1asqk-6de2RtA7ZWdIQ29PkY92gl3nlwG7_Se…
SVE Reviews
- finish reviewing {RFC PATCH 00/16} KVM: arm64: Initial support for
SVE guests Message-Id:
<1529593060-542-1-git-send-email-Dave.Martin(a)arm.com> :todo
- stalled this week due to other activities
Upstream Work ([VIRT-109])
==========================
- posted {PATCH for 3.0 00/10} various docker fixes Message-Id:
<20180709152117.21585-1-alex.bennee(a)linaro.org>
- worked on [v2 of docker fixes]
- fixed recent regression in [debootstrap master] which we use
- and then fixed our scripts so we don't *always* use master
- posted {PATCH v2 for 3.0 00/16} various docker fixes Message-Id:
<20180713121741.19262-1-alex.bennee(a)linaro.org>
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
[v2 of docker fixes]
https://github.com/stsquad/qemu/tree/testing/docker-fixes-for-3.0-v2
[debootstrap master]
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903657
Testing and CI
==============
- started looking at converting the CI RISU jobs to submit via
qa-reports
- applied for packet.net bare metal machine for docker/kvm testing
QEMU CI Loop ([VIRT-187])
- investigating porting existing RISU tests via qa-reports
- add additional test patterns :todo
[VIRT-187] https://projects.linaro.org/browse/VIRT-187
KVM CI Loop ([VIRT-2])
- need to sync-up on the current state of this work :todo
- started looking at Xiang's latest auto setup scripts
[VIRT-2] https://projects.linaro.org/browse/VIRT-2
[our wiki] https://wiki.linaro.org/Core/Virtualization
MTTCG tests ([VIRT-52])
- need to dust these off and get up-streamed if I'm going to add new
tests :todo
[VIRT-52] https://projects.linaro.org/browse/VIRT-52
Other Tasks
===========
- Create an Instrumentation EPIC :todo
[arm64 story a bit more desktopy]
https://github.com/stsquad/gentoo/tree/arm-keywords-so-far
[Kata Containers] https://katacontainers.io/
[CrosVM] https://chromium.googlesource.com/chromiumos/platform/crosvm/
Completed Reviews [6/6]
=======================
{PATCH v2 00/13} iommu: support txattrs, support TCG execution, implement TZ MPC
Message-Id: <20180604152941.20374-10-peter.maydell(a)linaro.org>
- CLOSING NOTE [2018-06-14 Thu 19:27]
Looks good.
{PATCH 0/8} Docker improvements
Message-Id: <20180628164643.9668-1-f4bug(a)amsat.org>
- CLOSING NOTE [2018-06-29 Fri 21:38]
Grabbed some patches, commented on others
{Qemu-arm} {PATCH v6 00/35} target/arm SVE patches
Message-Id: <20180627043328.11531-1-richard.henderson(a)linaro.org>
- CLOSING NOTE [2018-06-29 Fri 21:39]
Looks good
{Qemu-devel} {PATCH v5 00/35} target/arm SVE patches
Message-Id: <20180621015359.12018-1-richard.henderson(a)linaro.org>
- CLOSING NOTE [2018-06-29 Fri 21:39]
Looking good, stopped to move to v6
{PATCH 0/4} KVM: arm64: FPSIMD/SVE fixes for 4.17
Message-Id: <1528976039-25826-1-git-send-email-Dave.Martin(a)arm.com>
- CLOSING NOTE [2018-06-29 Fri 21:40]
Seems sane to me.
{Qemu-arm} {PATCH v3-a 00/27} target/arm: Scalable Vector Extension
Message-Id: <20180516223007.10256-1-richard.henderson(a)linaro.org>
- CLOSING NOTE [2018-07-13 Fri 20:02]
Already merged
Absences
========
- Two days out due to illness
- YVR18 Connect (17th-21st September 2018)
- KVM Forum 2018 (24th-26th October 2018)
Current Review Queue
====================
* {RFC PATCH 00/16} KVM: arm64: Initial support for SVE guests
Message-Id: <1529593060-542-1-git-send-email-Dave.Martin(a)arm.com>
* {PATCH v4 00/19} reverse debugging
Message-Id: <20180528071332.9424.27343.stgit@pasha-VirtualBox>
* {RFC PATCH 00/12} tests/tcg: Add TriCore tests
Message-Id: <20180501142222.19154-1-kbastian(a)mail.uni-paderborn.de>
* {PATCH v4 00/14} fp-test + hardfloat
Message-Id: <1528768140-17894-1-git-send-email-cota(a)braap.org>
* {Qemu-devel} {RFC PATCH v2 0/7} QEMU binary instrumentation prototype
Message-Id: <152819515565.30857.16834004920507717324.stgit@pasha-ThinkPad-T60>
* {Qemu-devel} {RFC v2 0/2} Add BPF suuport to Qemu
Message-Id: <20180625110706.23332-1-sameeh(a)daynix.com>
--
Alex Bennée
4 day week, on holiday monday
Submitted a Linaro Connect presentation.
[TCWG-1424] Investigate profile feedback for code-size
Frustrating week trying to plug profile feedback into builds and
benchmarks and get sensible results
- First attempt was to use clang 2 stage pgo build
-- New pass manager has a bug that prevents clang from linking when I
enable clang instrumented profiling (local ref into discarded comdat
group containing counters)
-- Sample based profiling requires building create_llvm_prof from
Google's autofdo repository. Does not build out of the box after it
switched to using git submodules for its dependencies, managed to fix
up makefile to get it built.
-- Tried a sample profiling run but with perf's sampling rate and
clang's running time mean that the number of samples is too small to
give meaningful results.
-- The version of perf on my machine doesn't support incremental
profiling so I can't accumulate data from multiple runs.
-- Inlining before my pass to mark functions for size optimisation
accounts for majority of code size increase.
- Second attempt was integrating clang/llvm profiling into spec
-- Spent way longer than I'd expected working out how to write a
config file that handles sample and instrumentation based profile
runs. Both forms require the profile generated from perf or an
instrumented build to be post-processed before being used as an input
for the next stage. The sample profiling also needs the path to the
training executable which isn't obvious how to do.
-- Got SpecInt running with all the various combinations that I want
to run, haven't had time to do full runs to get results yet
== Progress ==
* FDPIC
- GCC: posted patch series v2.
* GCC upstream validation:
- looking at some random noise in testing
- reported a couple of regressions
* Infrastructure:
- prototyped native toolchain build job
- misc cleanups
* misc (conf-calls, meetings, emails, ....)
== Next ==
Holidays for 2 weeks, back on July 30th
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ tracked down and sent fix for bug in MPU handling of exception
frame unstacking that broke a Zephyr test case
+ sent some patches for minor GICv2 bugs
+ code review:
- large series adding virtualization support to GICv2
* VIRT-164 [improve Cortex-M emulation]
+ completed patchset that implements execution from small MPU regions
and MMIO regions, and sent it out for review
+ found and fixed a few bugs in the code I was modifying in the process
thanks
-- PMM