X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fthreads%2Fintr-stubs.h;h=3f2db7e1870d5d0401ef63dd821b73b878a34804;hb=beddf03109baecfdda77c6e4478ac975e49faf73;hp=b1f503943a852b23909d569c76756e9731cd47ec;hpb=447755c02e674e65801fbb783823009e32458753;p=pintos-anon diff --git a/src/threads/intr-stubs.h b/src/threads/intr-stubs.h index b1f5039..3f2db7e 100644 --- a/src/threads/intr-stubs.h +++ b/src/threads/intr-stubs.h @@ -1,9 +1,20 @@ #ifndef HEADER_INTR_STUBS_H #define HEADER_INTR_STUBS_H -extern void (*const intr_stubs[256]) (void); +/* Interrupt stubs. -void intr_entry (void); + These are little snippets of code in intr-stubs.S, one for + each of the 256 possible x86 interrupts. They just push the + interrupt vector number on the stack (and, for interrupts that + don't have an error code, a fake error code), then jump to + intr_entry(). + + This array points to each of the interrupt stub entry points + so that intr_init() can easily find them. */ +typedef void intr_stub_func (void); +extern intr_stub_func *intr_stubs[256]; + +/* Interrupt return path. */ void intr_exit (void); #endif /* intr-stubs.h */