Define and print HV cpuid flag.
authorsf <sf@openbsd.org>
Tue, 16 Dec 2014 21:02:58 +0000 (21:02 +0000)
committersf <sf@openbsd.org>
Tue, 16 Dec 2014 21:02:58 +0000 (21:02 +0000)
This is set by many hypervisors, including kvm, vmware, hyper-v.

sys/arch/amd64/amd64/identcpu.c
sys/arch/amd64/include/specialreg.h

index ed46079..1ddffa9 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: identcpu.c,v 1.56 2014/10/17 18:15:48 kettenis Exp $  */
+/*     $OpenBSD: identcpu.c,v 1.57 2014/12/16 21:02:58 sf Exp $        */
 /*     $NetBSD: identcpu.c,v 1.1 2003/04/26 18:39:28 fvdl Exp $        */
 
 /*
@@ -129,6 +129,7 @@ const struct {
        { CPUIDECX_AVX,         "AVX" },
        { CPUIDECX_F16C,        "F16C" },
        { CPUIDECX_RDRAND,      "RDRAND" },
+       { CPUIDECX_HV,          "HV" },
 }, cpu_ecpuid_ecxfeatures[] = {
        { CPUIDECX_LAHF,        "LAHF" },
        { CPUIDECX_CMPLEG,      "CMPLEG" },
index 735b7cf..c71701a 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: specialreg.h,v 1.29 2014/11/30 18:29:11 mlarkin Exp $ */
+/*     $OpenBSD: specialreg.h,v 1.30 2014/12/16 21:02:58 sf Exp $      */
 /*     $NetBSD: specialreg.h,v 1.1 2003/04/26 18:39:48 fvdl Exp $      */
 /*     $NetBSD: x86/specialreg.h,v 1.2 2003/04/25 21:54:30 fvdl Exp $  */
 
 #define        CPUIDECX_AVX    0x10000000      /* Advanced Vector Extensions */
 #define        CPUIDECX_F16C   0x20000000      /* 16bit fp conversion  */
 #define        CPUIDECX_RDRAND 0x40000000      /* RDRAND instruction  */
+#define        CPUIDECX_HV     0x80000000      /* Running on hypervisor */
 
 /*
  * "Structured Extended Feature Flags Parameters" (CPUID function 0x7, leaf 0)