Page MenuHomeFreeBSD

kvm: Extend feature detection
ClosedPublic

Authored by aokblast on Fri, Jul 10, 9:25 AM.

Details

Summary

KVM does not always use 0x40000000 as its CPUID base. For example, QEMU
adds a 0x100 offset when nested virtualization is detected and the host
exposes Hyper-V enlightenment hints. To accommodate this behavior,
switch the detection logic to use the CPUID leaf returned by do_cpuid(),
making the implementation more flexible.

See:
https://github.com/qemu/qemu/blob/master/target/i386/kvm/kvm.c#L2300

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

aokblast retitled this revision from kvm: Extend feature detect to kvm: Extend feature detection.

This fixes the kvm_clock detection on a guest on KVM on HyperV.

This revision is now accepted and ready to land.Fri, Jul 10, 10:58 AM
This revision was automatically updated to reflect the committed changes.