Page MenuHomeFreeBSD

D55429.diff
No OneTemporary

D55429.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,12 @@
/* Check if we support extended destination IDs. */
switch (vm_guest) {
+ case VM_GUEST_XEN:
+ cpuid_count(hv_base + 4, 0, regs);
+ if ((ext_dest_id == -1) &&
+ (regs[0] & XEN_HVM_CPUID_EXT_DEST_ID))
+ ext_dest_id = 1;
+ break;
case VM_GUEST_KVM:
kvm_cpuid_get_features(regs);
if ((ext_dest_id == -1) &&

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 9, 6:14 AM (21 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28978276
Default Alt Text
D55429.diff (684 B)

Event Timeline