53 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<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>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |