HomeFreeBSD

xen: fix setting legacy PVH vcpu id

Description

xen: fix setting legacy PVH vcpu id

The recommended way to obtain the vcpu id is using the cpuid
instruction with a specific leaf value. This leaf value must be
obtained at runtime, and it's done when populating the hypercall page.

Legacy PVH however will get the hypercall page populated by the
hypervisor itself before booting, so the cpuid leaf was not actually
set, thus preventing setting the vcpu id value from cpuid.

Fix this by making sure the cpuid leaf has been probed before
attempting to set the vcpu id.

Approved by: re (gjb)
Sponsored by: Citrix Systems R&D

Details

Provenance
roygerAuthored on
Parents
rS338628: xen: limit the usage of PIRQs to a legacy PVH Dom0
Branches
Unknown
Tags
Unknown