Robert Henry <[email protected]> writes:

> Our approach to this problem was to make the plugin sensitive to the 
> execution of well-chosen instructions to turn on/turn off the actions of the 
> plugin. The plugin will still be called (don't unregister it) but should 
> return immediately if the on/off state is off.  This will still slow the 
> emulation down.
>
> My guest ISA is arm64.  For that ISA, we made these choices; perhaps 
> something else is better:
>   asm("hint 0b0010001");  // arm64 PSB Profile Sync Buffer (turn on)
>   asm("hint 0b0010010");  // arm64 TSB Trace Sync Buffer (turn off)
>
> Put these instructions in a library and arrange to have your
> application call the library functions as appropriate for the
> application's programming language.

Yeah this is the mechanism I was about to suggest. If you can guarantee
your library function is called before any of the code you want to
instrument then this can be used as a "trigger". 

> ________________________________
> From: Qemu-discuss <[email protected]> 
> on behalf of Kamil Garifullin <[email protected]>
> Sent: Wednesday, July 29, 2020 1:35 AM
> To: [email protected] <[email protected]>
> Subject: [EXTERNAL] QEMU plugin system
>
> Hi,
>
> I'm trying to create a plugin which will track an activity during a 
> particular period of time.
>
> Can I somehow send a signal from the guest to the instrumentation plugin?
>
> For example, I want to boot linux, do some preparations, then start a 
> targeted application and start my tracking. It can be both: do not inject 
> instrumentation until special indication or just a special plugin event to 
> set up some flags.
>
> My thoughts were to have an event which will indicate that pmon was touched. 
> It allows you to do all the preparations in the guest machine, then dump 
> pmons as an indicator to start tracking and then run the target application.


-- 
Alex Bennée

Reply via email to