diff options
| author | manuel <manuel@mausz.at> | 2012-03-26 12:54:45 +0200 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2012-03-26 12:54:45 +0200 |
| commit | b5f0874cd96ee2a62aabc645b9626c2749cb6a01 (patch) | |
| tree | 1262e4bbe0634de6650be130c36e0538240f4cbf /doc/pintos_fot.html | |
| download | progos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.tar.gz progos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.tar.bz2 progos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.zip | |
initial pintos checkin
Diffstat (limited to 'doc/pintos_fot.html')
| -rw-r--r-- | doc/pintos_fot.html | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/doc/pintos_fot.html b/doc/pintos_fot.html new file mode 100644 index 0000000..820500e --- /dev/null +++ b/doc/pintos_fot.html | |||
| @@ -0,0 +1,79 @@ | |||
| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | ||
| 2 | "http://www.w3.org/TR/html40/loose.dtd"> | ||
| 3 | <HTML> | ||
| 4 | <!-- Created on March, 6 2012 by texi2html 1.66 --> | ||
| 5 | <!-- | ||
| 6 | Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) | ||
| 7 | Karl Berry <karl@freefriends.org> | ||
| 8 | Olaf Bachmann <obachman@mathematik.uni-kl.de> | ||
| 9 | and many others. | ||
| 10 | Maintained by: Many creative people <dev@texi2html.cvshome.org> | ||
| 11 | Send bugs and suggestions to <users@texi2html.cvshome.org> | ||
| 12 | |||
| 13 | --> | ||
| 14 | <HEAD> | ||
| 15 | <TITLE>Pintos Projects: Footnotes</TITLE> | ||
| 16 | |||
| 17 | <META NAME="description" CONTENT="Pintos Projects: Footnotes"> | ||
| 18 | <META NAME="keywords" CONTENT="Pintos Projects: Footnotes"> | ||
| 19 | <META NAME="resource-type" CONTENT="document"> | ||
| 20 | <META NAME="distribution" CONTENT="global"> | ||
| 21 | <META NAME="Generator" CONTENT="texi2html 1.66"> | ||
| 22 | <LINK REL="stylesheet" HREF="pintos.css"> | ||
| 23 | </HEAD> | ||
| 24 | |||
| 25 | <BODY > | ||
| 26 | |||
| 27 | <A NAME="pintos_fot.html"></A> | ||
| 28 | <TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> | ||
| 29 | <TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pintos.html#SEC_Top">Top</A>]</TD> | ||
| 30 | <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pintos.html#SEC_Contents">Contents</A>]</TD> | ||
| 31 | <TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> | ||
| 32 | <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pintos_abt.html#SEC_About"> ? </A>]</TD> | ||
| 33 | </TR></TABLE> | ||
| 34 | <H1>Footnotes</H1> | ||
| 35 | <H3><A NAME="FOOT1" HREF="pintos_2.html#DOCF1">(1)</A></H3> | ||
| 36 | <P>GDB might tell you that | ||
| 37 | <CODE>schedule()</CODE> doesn't exist, which is arguably a GDB bug. | ||
| 38 | You can work around this by setting the breakpoint by filename and | ||
| 39 | line number, e.g. <CODE>break thread.c:<VAR>ln</VAR></CODE> where <VAR>ln</VAR> is | ||
| 40 | the line number of the first declaration in <CODE>schedule()</CODE>. | ||
| 41 | <H3><A NAME="FOOT2" HREF="pintos_2.html#DOCF2">(2)</A></H3> | ||
| 42 | <P>We | ||
| 43 | will treat these terms as synonyms. There is no standard | ||
| 44 | distinction between them, although Intel processor manuals make | ||
| 45 | a minor distinction between them on 80<VAR>x</VAR>86. | ||
| 46 | <H3><A NAME="FOOT3" HREF="pintos_5.html#DOCF3">(3)</A></H3> | ||
| 47 | <P>This is because <CODE>switch_threads()</CODE> takes | ||
| 48 | arguments on the stack and the 80<VAR>x</VAR>86 SVR4 calling convention | ||
| 49 | requires the caller, not the called function, to remove them when the | ||
| 50 | call is complete. See [ <A HREF="pintos_10.html#SysV-i386">SysV-i386</A>] chapter 3 for details. | ||
| 51 | <H3><A NAME="FOOT4" HREF="pintos_5.html#DOCF4">(4)</A></H3> | ||
| 52 | <P>Actually, virtual to physical translation on the | ||
| 53 | 80<VAR>x</VAR>86 architecture occurs via an intermediate "linear | ||
| 54 | address," but Pintos (and most modern 80<VAR>x</VAR>86 OSes) set up the CPU | ||
| 55 | so that linear and virtual addresses are one and the same. Thus, you | ||
| 56 | can effectively ignore this CPU feature. | ||
| 57 | <H3><A NAME="FOOT5" HREF="pintos_8.html#DOCF5">(5)</A></H3> | ||
| 58 | <P><CODE>pintos-gdb</CODE> is a wrapper around | ||
| 59 | <CODE>gdb</CODE> (80<VAR>x</VAR>86) or <CODE>i386-elf-gdb</CODE> (SPARC) that loads | ||
| 60 | the Pintos macros at startup. | ||
| 61 | <H3><A NAME="FOOT6" HREF="pintos_8.html#DOCF6">(6)</A></H3> | ||
| 62 | <P>To be precise, GDB will stop | ||
| 63 | only when running under Bochs. When running under QEMU, you must | ||
| 64 | set a breakpoint in the <CODE>page_fault</CODE> function to stop execution | ||
| 65 | when a page fault occurs. In that case, the <CODE>btpagefault</CODE> macro is | ||
| 66 | unnecessary. | ||
| 67 | <H3><A NAME="FOOT7" HREF="pintos_9.html#DOCF7">(7)</A></H3> | ||
| 68 | <P>This is typically <CODE>vi</CODE>. To | ||
| 69 | exit <CODE>vi</CODE>, type <KBD>: q <KBD>Enter</KBD></KBD>. | ||
| 70 | <HR SIZE=1> | ||
| 71 | <BR> | ||
| 72 | <FONT SIZE="-1"> | ||
| 73 | This document was generated | ||
| 74 | by on <I>March, 6 2012</I> | ||
| 75 | using <A HREF="http://texi2html.cvshome.org"><I>texi2html</I></A> | ||
| 76 | </FONT> | ||
| 77 | |||
| 78 | </BODY> | ||
| 79 | </HTML> | ||
