summaryrefslogtreecommitdiff
path: root/web/x86-intr.html
diff options
context:
space:
mode:
authorrsc <rsc>2008-09-03 04:50:04 +0000
committerrsc <rsc>2008-09-03 04:50:04 +0000
commitf53494c28e362fb7752bbc83417b9ba47cff0bf5 (patch)
tree7a7474710c9553b0188796ba24ae3af992320153 /web/x86-intr.html
parentee3f75f229742a376bedafe34d0ba04995a942be (diff)
downloadxv6-labs-f53494c28e362fb7752bbc83417b9ba47cff0bf5.tar.gz
xv6-labs-f53494c28e362fb7752bbc83417b9ba47cff0bf5.tar.bz2
xv6-labs-f53494c28e362fb7752bbc83417b9ba47cff0bf5.zip
DO NOT MAIL: xv6 web pages
Diffstat (limited to 'web/x86-intr.html')
-rw-r--r--web/x86-intr.html53
1 files changed, 53 insertions, 0 deletions
diff --git a/web/x86-intr.html b/web/x86-intr.html
new file mode 100644
index 0000000..0369e25
--- /dev/null
+++ b/web/x86-intr.html
@@ -0,0 +1,53 @@
+<title>Homework: xv6 and Interrupts and Exceptions</title>
+<html>
+<head>
+</head>
+<body>
+
+<h1>Homework: xv6 and Interrupts and Exceptions</h1>
+
+<p>
+<b>Read</b>: xv6's trapasm.S, trap.c, syscall.c, vectors.S, and usys.S. Skim
+lapic.c, ioapic.c, and picirq.c
+
+<p>
+<b>Hand-In Procedure</b>
+<p>
+You are to turn in this homework during lecture. Please
+write up your answers to the exercises below and hand them in to a
+6.828 staff member at the beginning of the lecture.
+<p>
+
+<b>Introduction</b>
+
+<p>Try to understand
+xv6's trapasm.S, trap.c, syscall.c, vectors.S, and usys.S. Skim
+ You will need to consult:
+
+<p>Chapter 5 of <a href="../readings/ia32/IA32-3.pdf">IA-32 Intel
+Architecture Software Developer's Manual, Volume 3: System programming
+guide</a>; you can skip sections 5.7.1, 5.8.2, and 5.12.2. Be aware
+that terms such as exceptions, traps, interrupts, faults and aborts
+have no standard meaning.
+
+<p>Chapter 9 of the 1987 <a href="../readings/i386/toc.htm">i386
+Programmer's Reference Manual</a> also covers exception and interrupt
+handling in IA32 processors.
+
+<p><b>Assignment</b>:
+
+In xv6, set a breakpoint at the beginning of <code>syscall()</code> to
+catch the very first system call. What values are on the stack at
+this point? Turn in the output of <code>print-stack 35</code> at that
+breakpoint with each value labeled as to what it is (e.g.,
+saved <code>%ebp</code> for <code>trap</code>,
+<code>trapframe.eip</code>, etc.).
+<p>
+<b>This completes the homework.</b>
+
+</body>
+
+
+
+
+