X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fthreads%2Fintr-stubs.h;h=116b637e3cd0b7560f4a5d3dae57b475f80ba0db;hb=5a121c17dc3088074ff51b99dbe353b25e7adff1;hp=5ff91649a6fcdfd2c322acdba277556e33de3c0e;hpb=1824e4d39b4f042474d29ac91ee59b326ab00da1;p=pintos-anon diff --git a/src/threads/intr-stubs.h b/src/threads/intr-stubs.h index 5ff9164..116b637 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 +#ifndef THREADS_INTR_STUBS_H +#define THREADS_INTR_STUBS_H -extern void (*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 */ +#endif /* threads/intr-stubs.h */