Re: NOVA, NUL, snapshotting
Udo Steinberg <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <20130823132357.50fccae9@x220> |
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
functions like:
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.
Cheers,
Udo
_______________________________________________
l4-hackers mailing list
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
signature.asc
(application/pgp-signature, 198 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) iEYEARECAAYFAlIXRk0ACgkQnhRzXSM7nSnGDQCdHUsLDSGpul0qATQbz4sfytzy VcEAn3e6C+HvGzz5QskmIzV4vp0+Rkb8 =LuT4 -----END PGP SIGNATURE-----