Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F163838057
D35386.id106571.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D35386.id106571.diff
View Options
Index: sys/x86/include/intr_machdep.h
===================================================================
--- sys/x86/include/intr_machdep.h
+++ sys/x86/include/intr_machdep.h
@@ -143,12 +143,16 @@
int intr_add_handler(const char *name, int vector, driver_filter_t filter,
driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep,
int domain);
+int intr_add_handler_intsrc(const char *name, struct intsrc *isrc,
+ driver_filter_t filter, driver_intr_t handler, void *arg,
+ enum intr_type flags, void **cookiep, int domain);
#ifdef SMP
int intr_bind(u_int vector, u_char cpu);
#endif
int intr_config_intr(int vector, enum intr_trigger trig,
enum intr_polarity pol);
int intr_describe(u_int vector, void *ih, const char *descr);
+int intr_describe_intsrc(struct intsrc *isrc, void *ih, const char *descr);
void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame);
u_int intr_next_cpu(int domain);
struct intsrc *intr_lookup_source(int vector);
Index: sys/x86/x86/intr_machdep.c
===================================================================
--- sys/x86/x86/intr_machdep.c
+++ sys/x86/x86/intr_machdep.c
@@ -277,11 +277,21 @@
int domain)
{
struct intsrc *isrc;
- int error;
isrc = intr_lookup_source(vector);
if (isrc == NULL)
return (EINVAL);
+ return (intr_add_handler_intsrc(name, isrc, filter, handler, arg,
+ flags, cookiep, domain));
+}
+
+int
+intr_add_handler_intsrc(const char *name, struct intsrc *isrc,
+ driver_filter_t filter, driver_intr_t handler, void *arg,
+ enum intr_type flags, void **cookiep, int domain)
+{
+ int error;
+
error = intr_event_add_handler(isrc->is_event, name, filter, handler,
arg, intr_priority(flags), flags, cookiep);
if (error == 0) {
@@ -541,11 +551,19 @@
intr_describe(u_int vector, void *ih, const char *descr)
{
struct intsrc *isrc;
- int error;
isrc = intr_lookup_source(vector);
if (isrc == NULL)
return (EINVAL);
+
+ return (intr_describe_intsrc(isrc, ih, descr));
+}
+
+int
+intr_describe_intsrc(struct intsrc *isrc, void *ih, const char *descr)
+{
+ int error;
+
error = intr_event_describe_handler(isrc->is_event, ih, descr);
if (error)
return (error);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Jul 27, 1:05 PM (16 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35599054
Default Alt Text
D35386.id106571.diff (2 KB)
Attached To
Mode
D35386: intr/x86: replace use of vector in interface with intsrc
Attached
Detach File
Event Timeline
Log In to Comment