On Thu, 27 May 2010 12:33:48 -0400 Glauber Costa wrote: > This patch adds a file that documents the usage of KVM-specific > MSRs. > > [ v2: added comments from Randy ] > [ v2: added comments from Avi ] > > Signed-off-by: Glauber Costa <glommer@xxxxxxxxxx> Reviewed-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> > --- > Documentation/kvm/msr.txt | 152 +++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 152 insertions(+), 0 deletions(-) > create mode 100644 Documentation/kvm/msr.txt > > diff --git a/Documentation/kvm/msr.txt b/Documentation/kvm/msr.txt > new file mode 100644 > index 0000000..8cdcb6d > --- /dev/null > +++ b/Documentation/kvm/msr.txt > @@ -0,0 +1,152 @@ > +KVM-specific MSRs. > +Glauber Costa <glommer@xxxxxxxxxx>, Red Hat Inc, 2010 > +===================================================== > + > +KVM makes use of some custom MSRs to service some requests. > +At present, this facility is only used by kvmclock. > + > +Custom MSRs have a range reserved for them, that goes from > +0x4b564d00 to 0x4b564dff. There are MSRs outside this area, > +but they are deprecated and their use is discouraged. > + > +Custom MSR list > +-------- > + > +The current supported Custom MSR list is: > + > +MSR_KVM_WALL_CLOCK_NEW: 0x4b564d00 > + > + data: physical address of a memory area which must be in guest RAM. > + This memory is expected to hold a copy of the following structure: > + > + struct pvclock_wall_clock { > + u32 version; > + u32 sec; > + u32 nsec; > + } __attribute__((__packed__)); > + > + whose data will be filled in by the hypervisor. The hypervisor is only > + guaranteed to update this data at the moment of MSR write. > + Users that want to reliably query this information more than once have Users who want > + to write more than once to this MSR. Fields have the following meanings: > + > + version: guest has to check version before and after grabbing > + time information and check that they are both equal and even. > + An odd version indicates an in-progress update. > + > + sec: number of seconds for wallclock. > + > + nsec: number of nanoseconds for wallclock. Thanks. --- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code *** -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html