[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: QEMU plugin past, present and future examples
From: |
Alex Bennée |
Subject: |
Re: QEMU plugin past, present and future examples |
Date: |
Wed, 12 Jun 2024 14:41:29 +0100 |
Robert Henry <robhenry@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
> robhenry@microsoft.com
> rrh.henry@gmail.com
> https://github.com/robertHenry6bev
--
Alex Bennée
Virtualisation Tech Lead @ Linaro