Index: sys/arch/amd64/amd64/vmm.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/vmm.c,v
retrieving revision 1.245
diff -u -p -r1.245 vmm.c
--- sys/arch/amd64/amd64/vmm.c 17 May 2019 19:07:15 -0000
1.245
+++ sys/arch/amd64/amd64/vmm.c 27 May 2019 09:44:07 -0000
@@ -238,6 +238,7 @@ extern uint64_t tsc_frequency;
extern int tsc_is_invariant;
const char *vmm_hv_signature = VMM_HV_SIGNATURE;
+const char *kvm_hv_signature = KVM_HV_SIGNATURE;
const struct kmem_pa_mode vmm_kp_contig = {
.kp_constraint = &no_constraint,
@@ -6433,7 +6434,14 @@ vmm_handle_cpuid(struct vcpu *vcpu)
*rcx = *((uint32_t *)&vmm_hv_signature[4]);
*rdx = *((uint32_t *)&vmm_hv_signature[8]);
break;
+ case 0x40000100: /* KVM CPUID signature */
+ *rax = 0;
+ *rbx = *((uint32_t *)&kvm_hv_signature[0]);
+ *rcx = *((uint32_t *)&kvm_hv_signature[4]);
+ *rdx = *((uint32_t *)&kvm_hv_signature[8]);
+ break;
case 0x40000001: /* KVM hypervisor features */
+ case 0x40000101:
*rax = (1 << KVM_FEATURE_CLOCKSOURCE2) |
(1 << KVM_FEATURE_CLOCKSOURCE_STABLE_BIT);
*rbx = 0;
Index: sys/arch/amd64/include/vmmvar.h
===================================================================
RCS file: /cvs/src/sys/arch/amd64/include/vmmvar.h,v
retrieving revision 1.66
diff -u -p -r1.66 vmmvar.h
--- sys/arch/amd64/include/vmmvar.h 17 May 2019 19:07:16 -0000
1.66
+++ sys/arch/amd64/include/vmmvar.h 27 May 2019 09:44:07 -0000
@@ -22,6 +22,7 @@
#define _MACHINE_VMMVAR_H_
#define VMM_HV_SIGNATURE "OpenBSDVMM58"
+#define KVM_HV_SIGNATURE "KVMKVMKVM\0\0\0"
#define VMM_MAX_MEM_RANGES 16
#define VMM_MAX_DISKS_PER_VM 4
Index: sys/arch/i386/include/vmmvar.h
===================================================================
RCS file: /cvs/src/sys/arch/i386/include/vmmvar.h,v
retrieving revision 1.19
diff -u -p -r1.19 vmmvar.h
--- sys/arch/i386/include/vmmvar.h 18 Jan 2019 01:34:50 -0000
1.19
+++ sys/arch/i386/include/vmmvar.h 27 May 2019 09:44:07 -0000
@@ -15,3 +15,4 @@
*/
#define VMM_HV_SIGNATURE "OpenBSDVMM58"
+#define KVM_HV_SIGNATURE "KVMKVMKVM\0\0\0"
Index: sys/dev/pv/pvbus.c
===================================================================
RCS file: /cvs/src/sys/dev/pv/pvbus.c,v
retrieving revision 1.19
diff -u -p -r1.19 pvbus.c
--- sys/dev/pv/pvbus.c 13 May 2019 15:40:34 -0000
1.19
+++ sys/dev/pv/pvbus.c 27 May 2019 09:44:08 -0000
@@ -85,7 +85,7 @@ struct pvbus_type {
void (*init)(struct pvbus_hv *);
void (*print)(struct pvbus_hv *);
} pvbus_types[PVBUS_MAX] = {
- { "KVMKVMKVM\0\0\0", "KVM", pvbus_kvm },
+ { KVM_HV_SIGNATURE, "KVM", pvbus_kvm },
{ "Microsoft Hv", "Hyper-V", pvbus_hyperv,
pvbus_hyperv_print },
{ "VMwareVMware", "VMware" },
{ "XenVMMXenVMM", "Xen", pvbus_xen, pvbus_xen_print
},
--
Renato Aguiar