diff options
author | peter <peter@FreeBSD.org> | 2003-11-17 06:08:10 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-11-17 06:08:10 +0000 |
commit | 38ebd79a92378dac00a8e0c47929a4b05dafe8c4 (patch) | |
tree | b207e3997cb5f553a4f230ff216cf3043d19cce7 | |
parent | 69f4b4a52058d1df6cd90f7309848b41087e74b0 (diff) | |
download | FreeBSD-src-38ebd79a92378dac00a8e0c47929a4b05dafe8c4.zip FreeBSD-src-38ebd79a92378dac00a8e0c47929a4b05dafe8c4.tar.gz |
Expand the argument to the ithread enable/disable helper hooks from an
int to something big enough to hold a pointer. amd64 needs this.
-rw-r--r-- | sys/kern/kern_intr.c | 6 | ||||
-rw-r--r-- | sys/sys/interrupt.h | 12 |
2 files changed, 9 insertions, 9 deletions
diff --git a/sys/kern/kern_intr.c b/sys/kern/kern_intr.c index 0e05df8..e42cd10 100644 --- a/sys/kern/kern_intr.c +++ b/sys/kern/kern_intr.c @@ -58,7 +58,7 @@ __FBSDID("$FreeBSD$"); struct int_entropy { struct proc *proc; - int vector; + uintptr_t vector; }; void *vm_ih; @@ -169,8 +169,8 @@ ithread_update(struct ithd *ithd) } int -ithread_create(struct ithd **ithread, int vector, int flags, - void (*disable)(int), void (*enable)(int), const char *fmt, ...) +ithread_create(struct ithd **ithread, uintptr_t vector, int flags, + void (*disable)(uintptr_t), void (*enable)(uintptr_t), const char *fmt, ...) { struct ithd *ithd; struct thread *td; diff --git a/sys/sys/interrupt.h b/sys/sys/interrupt.h index cdf829d..63e9bac 100644 --- a/sys/sys/interrupt.h +++ b/sys/sys/interrupt.h @@ -67,12 +67,12 @@ struct ithd { LIST_ENTRY(ithd) it_list; /* All interrupt threads. */ TAILQ_HEAD(, intrhand) it_handlers; /* Interrupt handlers. */ struct ithd *it_interrupted; /* Who we interrupted. */ - void (*it_disable)(int); /* Enable interrupt source. */ - void (*it_enable)(int); /* Disable interrupt source. */ + void (*it_disable)(uintptr_t); /* Enable interrupt source. */ + void (*it_enable)(uintptr_t); /* Disable interrupt source. */ void *it_md; /* Hook for MD interrupt code. */ int it_flags; /* Interrupt-specific flags. */ int it_need; /* Needs service. */ - int it_vector; + uintptr_t it_vector; char it_name[MAXCOMLEN + 1]; }; @@ -114,9 +114,9 @@ extern char intrnames[]; /* string table containing device names */ #ifdef DDB void db_dump_ithread(struct ithd *ithd, int handlers); #endif -int ithread_create(struct ithd **ithread, int vector, int flags, - void (*disable)(int), void (*enable)(int), const char *fmt, ...) - __printflike(6, 7); +int ithread_create(struct ithd **ithread, uintptr_t vector, int flags, + void (*disable)(uintptr_t), void (*enable)(uintptr_t), + const char *fmt, ...) __printflike(6, 7); int ithread_destroy(struct ithd *ithread); u_char ithread_priority(enum intr_type flags); int ithread_add_handler(struct ithd *ithread, const char *name, |