Page MenuHomeFreeBSD

D55429.id172428.diff
No OneTemporary

D55429.id172428.diff

diff --git a/sys/x86/x86/msi.c b/sys/x86/x86/msi.c
--- a/sys/x86/x86/msi.c
+++ b/sys/x86/x86/msi.c
@@ -60,6 +60,7 @@
#include <machine/specialreg.h>
#include <dev/pci/pcivar.h>
#include <x86/kvm.h>
+#include <contrib/xen/arch-x86/cpuid.h>
/* Fields in address for Intel MSI messages. */
#define MSI_INTEL_ADDR_DEST 0x000ff000
@@ -394,6 +395,11 @@
/* Check if we support extended destination IDs. */
switch (vm_guest) {
+ case VM_GUEST_XEN:
+ cpuid_count(hv_base + 4, 0, regs);
+ if (regs[0] & XEN_HVM_CPUID_EXT_DEST_ID)
+ ext_dest_id = 1;
+ break;
case VM_GUEST_KVM:
kvm_cpuid_get_features(regs);
if (regs[0] & KVM_FEATURE_MSI_EXT_DEST_ID)

File Metadata

Mime Type
text/plain
Expires
Mon, Jul 20, 4:23 PM (5 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35278278
Default Alt Text
D55429.id172428.diff (668 B)

Event Timeline