Well presumably Vp/Pr => Sp? Is is true that from the guest's perspective, all of the 'p' states are identical to the 'r' states?
Vp should never happen, since you'd never preserve a V page. And surely it would be Pr -> Sr, since the hypervisor wouldn't push the page to backing store when you change the client state.
Do the host states even really need visibility to the guest at all? It may be useful for the guest to be able to distinguish between Ur and Uz but it doesn't seem necessary.
Well, you implicitly see the hypervisor state. If you touch a [UV]z page then you get a fault telling you that the page has been taken away from you (I think). And it would definitely help with debugging (seems likely there's lots of scope for race conditions if you prematurely tell the hypervisor you don't need the page any more...).
BTW Jeremy, the .dot was very useful!Yes, there's no way I'd be able to get my head around this otherwise. BTW, here's an updated one with the host-driven events as dashed lines, and a couple of extra transitions I think should be in there (but waiting for Martin's confirmation).
J