X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Ftour.texi;fp=doc%2Ftour.texi;h=39483a32011d6f64c0a43ac13277105d10436f0b;hb=601d95be13aa18bfdea51930f86cccdde1c01f5e;hp=d1147dde6b0e91d891d5192cbf6bcc841781b920;hpb=24ff01c3b69360c8a7c01d0959f4148688cfeb7a;p=pintos-anon diff --git a/doc/tour.texi b/doc/tour.texi index d1147dd..39483a3 100644 --- a/doc/tour.texi +++ b/doc/tour.texi @@ -782,7 +782,11 @@ In Pintos, @func{intr_init} in @file{threads/interrupt.c} sets up the IDT so that each entry points to a unique entry point in @file{threads/intr-stubs.S} named @func{intr@var{NN}_stub}, where @var{NN} is the interrupt number in -hexadecimal. Because the CPU doesn't give +hexadecimal.@footnote{@file{threads/intr-stubs.S} is so repetitive +that it is actually generated by a Perl script, +@file{threads/intr-stubs.pl}. Thus, you will actually find +@file{threads/intr-stubs.S} in your @file{threads/build/threads} +directory, not in plain @file{threads}.} Because the CPU doesn't give us any other way to find out the interrupt number, this entry point pushes the interrupt number on the stack. Then it jumps to @func{intr_entry}, which pushes all the registers that the processor