A few of my own patches made it into this release!
Modernised Hypervisor.framework (HVF) API usage on x86-64 macOS hosts, which gives double-digit percentage point performance improvements on most workloads.
Minor fix to handling of translucent mouse cursors via VNC.
Unfortunately a bunch of others so far haven’t been accepted, I‘ll try again for the 9.2 cycle:
x2apic support when using HVF, which yields double-digit percentage perf gain for VMs with more than 1 core. (Patch has been entirely ignored in the mailing list despite being very simple.)
3D graphics acceleration with macOS guests. (Rejected because you currently can only use it with x86-64 guests on x86-64 hosts; suggestion was I include patches which will allow arm64 macOS guests to boot in Qemu. I’m currently stuck on XHCI not working correctly with those due to a suspected interrupt issue. If anyone knows how MSIs are supposed to work with PCIe devices on arm64 I’d love to know.)
Passing through guest pointers to native host mouse cursors on macOS hosts using the Cocoa UI. (Diverging opinions on whether this is desired behaviour.)
I’ve also been working on support for HVF’s in-kernel APIC support, but that turns out to be buggy, so I’m currently trying to figure out if there’s some baseline feature set that does work reliably…
RISC-V: support for Zve32x, Zve64x, Zimop, Zcmop, Zama16b, Zabha, Zawrs, and Smcntrpmf extensions
These extension names are getting out of hand
Smcntrpmf extension extends the RISC-V Privileged ISA to support privilege mode filtering for the cycle and instret counters. (‘Sm’ for privileged M-mode extension, ‘cntr’ because it extends the ‘Zicntr’ extension, ‘pmf’ for Privilege Mode Filtering). This extension depends on the Zicntr extension.
The single letter extensions are also a bit weird: they proposed a tonne of bitmanip extensions but only four got ratified. Then, this year, they ratified the B extension as enabling only three of those four ratified extensions!
What happens to the fourth ratified extension Zbc and the others still in draft?
A few of my own patches made it into this release!
Unfortunately a bunch of others so far haven’t been accepted, I‘ll try again for the 9.2 cycle:
I’ve also been working on support for HVF’s in-kernel APIC support, but that turns out to be buggy, so I’m currently trying to figure out if there’s some baseline feature set that does work reliably…
These extension names are getting out of hand
I was chatting to a friend about this just yesterday:
(these are REAL extension names, written by REAL isa authors)
An engineer went to the optometrist to get their eyes checked. The doctor showed a slide and asked if they could read the letters:
X S F V F N
R C L I
P X F
Q F
“Read the letters? I wrote the extension!”
Incredible! (btw: to insert a hardbreak at end of line, end it with two spaces or a backslash
\)Thank you!
Similar conversation I had with a coworker recently:
The single letter extensions are also a bit weird: they proposed a tonne of bitmanip extensions but only four got ratified. Then, this year, they ratified the
Bextension as enabling only three of those four ratified extensions!What happens to the fourth ratified extension
Zbcand the others still in draft?This means our ibex core is officially:
… I think. Based on the rules here: https://github.com/riscv/riscv-isa-manual/blob/main/src/naming.adoc