diff options
author | Mike Frysinger <vapier@chromium.org> | 2018-03-21 18:05:43 -0400 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-03-21 20:48:40 -0700 |
commit | 63be8cb9d3dbcb283d096e56846c5577a66c78e4 (patch) | |
tree | 66352f5c065d20fb356d3eced2832c4e0e7bdd0b | |
parent | e4fc0fecad75b4959220df91d37501551b9773b2 (diff) | |
download | crosvm-63be8cb9d3dbcb283d096e56846c5577a66c78e4.tar crosvm-63be8cb9d3dbcb283d096e56846c5577a66c78e4.tar.gz crosvm-63be8cb9d3dbcb283d096e56846c5577a66c78e4.tar.bz2 crosvm-63be8cb9d3dbcb283d096e56846c5577a66c78e4.tar.lz crosvm-63be8cb9d3dbcb283d096e56846c5577a66c78e4.tar.xz crosvm-63be8cb9d3dbcb283d096e56846c5577a66c78e4.tar.zst crosvm-63be8cb9d3dbcb283d096e56846c5577a66c78e4.zip |
x86_64: improve documentation for cpuid vendor
BUG=None TEST=None Change-Id: Id274c361d10be00d5d7279765a2e90ad5ecb4112 Reviewed-on: https://chromium-review.googlesource.com/974314 Commit-Ready: Mike Frysinger <vapier@chromium.org> Tested-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Stephen Barber <smbarber@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org>
-rw-r--r-- | x86_64/src/cpuid.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/x86_64/src/cpuid.rs b/x86_64/src/cpuid.rs index f1c7b56..1efb667 100644 --- a/x86_64/src/cpuid.rs +++ b/x86_64/src/cpuid.rs @@ -9,9 +9,12 @@ use std::error::{self, Error as CpuidError}; use kvm; use sys_util; -const VENDOR_EBX_VAL: u32 = 0x534f5243; -const VENDOR_ECX_VAL: u32 = 0x4d56534f; -const VENDOR_EDX_VAL: u32 = 0x52434d56; +// Query the CPU vendor. ebx/ecx/edx pack an ASCII string into these 3 regs +// in little endian format. We set to "CrOSVMBestVM". +// https://en.wikipedia.org/wiki/CPUID#EAX=0:_Get_vendor_ID_(including_EAX=1:_Get_CPUID) +const VENDOR_EBX_VAL: u32 = 0x4d567473; // MVts +const VENDOR_ECX_VAL: u32 = 0x65424d56; // eBMV +const VENDOR_EDX_VAL: u32 = 0x534f7243; // SOrC #[derive(Debug, PartialEq)] pub enum Error { @@ -52,7 +55,7 @@ fn filter_cpuid(cpu_id: u64, cpu_count: u64, kvm_cpuid: &mut kvm::CpuId) -> Resu for entry in entries.iter_mut() { match entry.function { 0 => { - // Vendor name "CROSVMCROSVM" in little endian. + // Vendor name. entry.ebx = VENDOR_EBX_VAL; entry.ecx = VENDOR_ECX_VAL; entry.edx = VENDOR_EDX_VAL; |