Robert Henry <robhe...@microsoft.com> writes: > QEMU plugin experts: > > A few years I wrote a plugin for QEMU that saves the instruction stream to a > file for offline analysis. QEMU could fly along at > about 10MIPS and the disk would soon fill up with large protobuf files. The > offline analysis runs at about 50kIPS, and does a > variety of analyses, such as simple disassembly that includes kernel source > file name and line number, popcount analyses of > displacements, Markov chain probabilities, etc. > > To get the speed up, I narrowed the scope of the plugin to only work with > ARM64, although there's still a lot of support for > x86_64. > > I have not kept pace with the QEMU plugin API changes, if any, to > support vectors, masks, and so forth.
The most recent changes are making the inline ops always thread safe (as scoreboards) and a new STORE_U64 op and a conditional callback which allows for a bit more efficient in-plugin processing. > > * I did this work for my current employer, Microsoft. > * I will retire in 3 weeks.` > * Nobody in Microsoft seems interested in picking up this work. > * I'm working with our open source office to get this more widely released. > > The plugin code that runs in QEMU is complex, but relatively straightforward. > The offline analysis code is idiosyncratic and > somewhat fragile. > > Do the QEMU plugin experts (cc'ed here mostly) have a suggestion for which > public git repository service has worked "best" > for other plugins that are not currently part of the QEMU source tree? I don't really track out of tree plugins. But worst case you can post the patch with the plugin against contrib/plugins and then it will be available in the archive/patchew should anyone want to pick it up afterwards. > > I will try to get a repo in github.com/microsoft/ but I do not know what is > involved. > > Robert Henry > robhe...@microsoft.com > rrh.he...@gmail.com > https://github.com/robertHenry6bev -- Alex Bennée Virtualisation Tech Lead @ Linaro