NOVA, NUL, snapshotting
udo at hypervisor.org
Fri Aug 23 13:23:57 CEST 2013
On Fri, 23 Aug 2013 15:13:35 +0400 Sartakov A. Vasily (SAV) wrote:
SAV> Could you please describe how to get access to a context of virtual machine?
SAV> How can I modify context of virtual machine from Vancouver?
SAV> When system switches into Vancouver, for example by pressing a special keyboard key, where is stored context of VM? in allocated VMCB? Can I read and modify its from Vancouver?
If you look at git/nul/vancouver/apps/vancouver/vancouver.cc you'll see
VM_FUNC(PT_VMX + 31, vmx_rdmsr, MTD_RIP_LEN | MTD_GPR_ACDB | MTD_TSC | MTD_SYSENTER | MTD_STATE,
handle_vcpu(pid, true, CpuMessage::TYPE_RDMSR, tls, utcb);)
This is the handler for VMX portal 31, which handles emulation of the RDMSR
instruction (see NOVA specification Section 7.2 for a list of intercepts).
The portal is configured to transfer a subset of the architectural state
according to the MTD bits (see Section 7.4). The hypervisor stores the
requested state into the UTCB, where the VMM can read and modify it. Section
7.3 shows the layout of the UTCB with all the state fields.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 198 bytes
Desc: not available
More information about the l4-hackers