diff options
author | jhb <jhb@FreeBSD.org> | 2005-12-05 22:39:09 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2005-12-05 22:39:09 +0000 |
commit | c77d4150b7c5ce1e4aa2a4f96822eca488501c18 (patch) | |
tree | 9cdb8f0e463918252ebdbf20d8430b6bc7d2687e /sys/i386/include/intr_machdep.h | |
parent | 39d2052828536052e8b0193965215fdb8b5684ea (diff) | |
download | FreeBSD-src-c77d4150b7c5ce1e4aa2a4f96822eca488501c18.zip FreeBSD-src-c77d4150b7c5ce1e4aa2a4f96822eca488501c18.tar.gz |
Change the i386 code to pass the interrupt vector as a separate argument
rather than embedding it in the intrframe as if_vec. This reduces diffs
with amd64 somewhat.
- Remove cf_vec from clockframe (it wasn't used anyway) and stop pushing
dummy vector arguments for ipi_bitmap_handler() and lapic_handle_timer()
since clockframe == trapframe now.
- Fix ddb to handle stack traces across interrupt entry points that just
have a trapframe on their stack and not a trapframe + vector.
- Change intr_execute_handlers() to take a trapframe rather than an
intrframe pointer.
- Change lapic_handle_intr() and atpic_handle_intr() to take a vector and
trapframe rather than an intrframe.
- GC struct intrframe now that nothing uses it anymore.
- GC CLOCK_TO_TRAPFRAME() and INTR_TO_TRAPFRAME().
Reviewed by: bde
Requested by: peter
Diffstat (limited to 'sys/i386/include/intr_machdep.h')
-rw-r--r-- | sys/i386/include/intr_machdep.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/i386/include/intr_machdep.h b/sys/i386/include/intr_machdep.h index d174ed0..4d5743a 100644 --- a/sys/i386/include/intr_machdep.h +++ b/sys/i386/include/intr_machdep.h @@ -107,7 +107,7 @@ struct intsrc { u_int is_index; }; -struct intrframe; +struct trapframe; extern struct mtx icu_lock; extern int elcr_found; @@ -121,7 +121,7 @@ int intr_add_handler(const char *name, int vector, driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep); int intr_config_intr(int vector, enum intr_trigger trig, enum intr_polarity pol); -void intr_execute_handlers(struct intsrc *isrc, struct intrframe *iframe); +void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame); struct intsrc *intr_lookup_source(int vector); int intr_register_source(struct intsrc *isrc); int intr_remove_handler(void *cookie); |