Page MenuHomeFreeBSD

D55429.id173782.diff
No OneTemporary

D55429.id173782.diff

diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c
--- a/sys/x86/x86/local_apic.c
+++ b/sys/x86/x86/local_apic.c
@@ -73,6 +73,7 @@
#include <machine/specialreg.h>
#include <x86/init.h>
#include <x86/kvm.h>
+#include <contrib/xen/arch-x86/cpuid.h>
#ifdef DDB
#include <sys/interrupt.h>
@@ -2100,6 +2101,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)
+ apic_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
Thu, Apr 30, 5:30 AM (2 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29877418
Default Alt Text
D55429.id173782.diff (647 B)

Event Timeline