Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F103712476
D5291.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D5291.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D5291: hyperv/vmbus: Select an IDT vector has lower priority than LAPIC timer and IPIs vectors
Attached
Detach File
Event Timeline
Log In to Comment