From 2bb16c6352494bf7aba92be700908ddf01e0c08b Mon Sep 17 00:00:00 2001 From: Elliott Mitchell Date: Thu, 6 Oct 2022 20:23:34 -0700 Subject: [PATCH] x86: retire use of intr_bind `intr_bind(u_int vector, u_char cpu);` looked suspicious since everywhere else "cpu" is a u_int and >256 processors isn't unreasonable now. Reviewed by: mjg Differential Revision: https://reviews.freebsd.org/D36901 --- sys/x86/x86/nexus.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/x86/x86/nexus.c b/sys/x86/x86/nexus.c index 332b1527efb..b57bda82453 100644 --- a/sys/x86/x86/nexus.c +++ b/sys/x86/x86/nexus.c @@ -615,7 +615,12 @@ nexus_resume_intr(device_t dev, device_t child, struct resource *irq) static int nexus_bind_intr(device_t dev, device_t child, struct resource *irq, int cpu) { - return (intr_bind(rman_get_start(irq), cpu)); + struct intsrc *isrc; + + isrc = intr_lookup_source(rman_get_start(irq)); + if (isrc == NULL) + return (EINVAL); + return (intr_event_bind(isrc->is_event, cpu)); } #endif