summaryrefslogtreecommitdiffstats
path: root/doc/pintos_fot.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/pintos_fot.html')
-rw-r--r--doc/pintos_fot.html79
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<!--
6Written 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.
10Maintained by: Many creative people <dev@texi2html.cvshome.org>
11Send 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.
38You can work around this by setting the breakpoint by filename and
39line number, e.g. <CODE>break thread.c:<VAR>ln</VAR></CODE> where <VAR>ln</VAR> is
40the 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
43will treat these terms as synonyms. There is no standard
44distinction between them, although Intel processor manuals make
45a 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
48arguments on the stack and the 80<VAR>x</VAR>86 SVR4 calling convention
49requires the caller, not the called function, to remove them when the
50call 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
5380<VAR>x</VAR>86 architecture occurs via an intermediate &quot;linear
54address,&quot; but Pintos (and most modern 80<VAR>x</VAR>86 OSes) set up the CPU
55so that linear and virtual addresses are one and the same. Thus, you
56can 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
60the 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
63only when running under Bochs. When running under QEMU, you must
64set a breakpoint in the <CODE>page_fault</CODE> function to stop execution
65when a page fault occurs. In that case, the <CODE>btpagefault</CODE> macro is
66unnecessary.
67<H3><A NAME="FOOT7" HREF="pintos_9.html#DOCF7">(7)</A></H3>
68<P>This is typically <CODE>vi</CODE>. To
69exit <CODE>vi</CODE>, type <KBD>: q <KBD>Enter</KBD></KBD>.
70<HR SIZE=1>
71<BR>
72<FONT SIZE="-1">
73This document was generated
74by on <I>March, 6 2012</I>
75using <A HREF="http://texi2html.cvshome.org"><I>texi2html</I></A>
76</FONT>
77
78</BODY>
79</HTML>