[vbox-dev] How to Register Write Monitoring Page Handlers

Klaus Espenlaub klaus.espenlaub at oracle.com
Mon Oct 22 02:45:12 PDT 2012

On 22.10.2012 07:02, Adam Pridgen wrote:
> I am trying to monitor page writes that happen on in VM's physical
> memory.  After a few weeks of digging, I think I have found the 3 API's
> that might be helpful for this task, but I am not sure if these APIs are what
> I should be looking at.  I guess the two questions I have are:
> 1) What is the best way to register a write handler over a guest's
> physical RAM?
> Here are the APIs I have identified:
> include/VBox/vmm/pgm.h:522:PGMR3HandlerVirtualRegister
> include/VBox/vmm/pgm.h:518:PGMR3HandlerPhysicalRegister
> include/VBox/vmm/pgm.h:349:PGMHandlerPhysicalRegisterEx

Impossible to tell without context. "trying to monitor page writes" is 
much too vague to tell what you really need. Especially as you ask for 
"best way". Also keep in mind that monitoring large areas will kill 
performance, no matter how little you do in reaction to each write.

> 2) Can I register a page handler from something like a COM handler?

Depends what you mean by "a COM handler". It has to be in a VM process, 
so only the COM API methods which live on the client side are candidates 
(i.e. not part of VBoxSVC).

However from the above it looks like you want some new virtualization 
core feature, which often cannot be done by simply adding/extending COM 
API methods.


> Thanks for your help, and I appreciate any advice or help.
> -- Adam

More information about the vbox-dev mailing list