Page MenuHomeFreeBSD

D5291.diff
No OneTemporary

D5291.diff

Index: sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c
===================================================================
--- sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c
+++ sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c
@@ -382,8 +382,12 @@
#ifdef HYPERV
extern inthand_t IDTVEC(rsvd), IDTVEC(hv_vmbus_callback);
+#define VMBUS_IDT_START IDT_DTRACE_RET
+#define VMBUS_IDT_END APIC_TIMER_INT
+
/**
* @brief Find a free IDT slot and setup the interrupt handler.
+ * range: (VMBUS_IDT_START, VMBUS_IDT_END)
*/
static int
vmbus_vector_alloc(void)
@@ -397,8 +401,8 @@
* as vmbus channel callback vector. We install 'hv_vmbus_callback'
* handler at that vector and use it to interrupt vcpus.
*/
- vector = APIC_SPURIOUS_INT;
- while (--vector >= APIC_IPI_INTS) {
+ vector = VMBUS_IDT_END;
+ while (--vector > VMBUS_IDT_START) {
ip = &idt[vector];
func = ((long)ip->gd_hioffset << 16 | ip->gd_looffset);
if (func == (uintptr_t)&IDTVEC(rsvd)) {
@@ -428,7 +432,7 @@
if (vector == 0)
return;
- KASSERT(vector >= APIC_IPI_INTS && vector < APIC_SPURIOUS_INT,
+ KASSERT(vector > VMBUS_IDT_START && vector < VMBUS_IDT_END,
("invalid vector %d", vector));
ip = &idt[vector];

File Metadata

Mime Type
text/plain
Expires
Fri, Nov 29, 8:55 AM (21 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14925181
Default Alt Text
D5291.diff (1 KB)

Event Timeline