kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Glauber Costa <glommer@redhat.com>
To: kvm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, avi@redhat.com, zamsden@redhat.com
Subject: [PATCH 9/9] Add cpuid.txt file
Date: Tue, 11 May 2010 12:17:47 -0400	[thread overview]
Message-ID: <1273594667-17175-10-git-send-email-glommer@redhat.com> (raw)
In-Reply-To: <1273594667-17175-9-git-send-email-glommer@redhat.com>

This file documents cpuid bits used by KVM.

Signed-off-by: Glauber Costa <glommer@redhat.com>
---
 Documentation/kvm/cpuid.txt |   44 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/kvm/cpuid.txt

diff --git a/Documentation/kvm/cpuid.txt b/Documentation/kvm/cpuid.txt
new file mode 100644
index 0000000..ca1e89f
--- /dev/null
+++ b/Documentation/kvm/cpuid.txt
@@ -0,0 +1,44 @@
+KVM CPUID bits
+Glauber Costa <glommer@redhat.com>, Red Hat Inc, 2010
+=====================================================
+
+A guest running on a kvm host, can check some of its features using
+cpuid. This is not always guaranteed to work, since userspace can
+mask-out some, or even all KVM-related cpuid features before launching
+a guest.
+
+KVM cpuid functions are:
+
+function: KVM_CPUID_SIGNATURE (0x40000000)
+returns : eax = 0,
+          ebx = 0x4b4d564b,
+          ecx = 0x564b4d56,
+          edx = 0x4d.
+Note that this value in ebx, ecx and edx corresponds to the string "KVMKVMKVM".
+This function queries the presence of KVM cpuid leafs.
+
+
+function: define KVM_CPUID_FEATURES (0x40000001)
+returns : ebx, ecx, edx = 0
+          eax = and OR'ed group of (1 << flag), where each flags is:
+
+
+flag                               || value || meaning
+=============================================================================
+KVM_FEATURE_CLOCKSOURCE            ||     0 || kvmclock available at msrs
+                                   ||       || 0x11 and 0x12. 
+------------------------------------------------------------------------------
+KVM_FEATURE_NOP_IO_DELAY           ||     1 || not necessary to perform delays
+                                   ||       || on PIO operations.
+------------------------------------------------------------------------------
+KVM_FEATURE_MMU_OP                 ||     2 || deprecated.
+------------------------------------------------------------------------------
+KVM_FEATURE_CLOCKSOURCE2           ||     3 || kvmclock available at msrs
+                                   ||       || 0x4b564d00 and 0x4b564d01
+------------------------------------------------------------------------------
+KVM_FEATURE_CLOCKSOURCE_STABLE_BIT ||    24 || host will wanr if no guest-side
+                                   ||       || per-cpu warps are expected in
+                                   ||       || kvmclock.
+------------------------------------------------------------------------------
+
+
-- 
1.6.2.2

  reply	other threads:[~2010-05-11 16:17 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-11 16:17 [PATCH 0/9] pvclock misc fixes - v4 Glauber Costa
2010-05-11 16:17 ` [PATCH 1/9] Enable pvclock flags in vcpu_time_info structure Glauber Costa
2010-05-11 16:17   ` [PATCH 2/9] Add a global synchronization point for pvclock Glauber Costa
2010-05-11 16:17     ` [PATCH 3/9] change msr numbers for kvmclock Glauber Costa
2010-05-11 16:17       ` [PATCH 4/9] add new KVMCLOCK cpuid feature Glauber Costa
2010-05-11 16:17         ` [PATCH 5/9] export paravirtual cpuid flags in KVM_GET_SUPPORTED_CPUID Glauber Costa
2010-05-11 16:17           ` [PATCH 6/9] Try using new kvm clock msrs Glauber Costa
2010-05-11 16:17             ` [PATCH 7/9] don't compute pvclock adjustments if we trust the tsc Glauber Costa
2010-05-11 16:17               ` [PATCH 8/9] Tell the guest we'll warn it about tsc stability Glauber Costa
2010-05-11 16:17                 ` Glauber Costa [this message]
2010-05-11 18:25 ` [PATCH 0/9] pvclock misc fixes - v4 Avi Kivity
2010-05-12  3:33 ` Zachary Amsden
2010-05-12  5:47   ` Alexander Graf
2010-05-12  6:33     ` Avi Kivity
2010-05-12  6:35       ` Alexander Graf
2010-05-12 17:04     ` Glauber Costa
2010-05-12 20:33 ` Marcelo Tosatti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1273594667-17175-10-git-send-email-glommer@redhat.com \
    --to=glommer@redhat.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=zamsden@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).