Re: [PATCH v3] Add Documentation/kvm/msr.txt

From: Randy Dunlap
Date: Thu May 27 2010 - 13:42:17 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/