From 3bee885ed7b5d39341a24a7d64959f54ddf45bab Mon Sep 17 00:00:00 2001
From: Robert Morris <rtm@csail.mit.edu>
Date: Fri, 2 Aug 2019 14:51:04 -0400
Subject: some XXX questions

---
 labs/syscall.html | 27 +++++++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)

(limited to 'labs/syscall.html')

diff --git a/labs/syscall.html b/labs/syscall.html
index 67f800e..26cb573 100644
--- a/labs/syscall.html
+++ b/labs/syscall.html
@@ -231,13 +231,15 @@ alarmtest starting
 <p>To get started, the best strategy is to first pass test0, which
   will force you to handle the main challenge above. Here are some
   hints how to pass test0:
+
+<p><b>XXX alarm() needs to be defined somewhere.</b><br>
   
 <ul>
 
 <li>You'll need to modify the Makefile to cause <tt>alarmtest.c</tt>
 to be compiled as an xv6 user program.
 
-<li>The right declarations to put in <tt>user/user.h</tt> is:
+<li>The right declaration to put in <tt>user/user.h</tt> is:
 <pre>
     int sigalarm(int ticks, void (*handler)());
 </pre>
@@ -249,7 +251,7 @@ to be compiled as an xv6 user program.
 
 <li>Your <tt>sys_sigalarm()</tt> should store the alarm interval and
 the pointer to the handler function in new fields in the <tt>proc</tt>
-structure; see <tt>kernel/proc.h</tt>.
+structure, defined in <tt>kernel/proc.h</tt>.
 
 <li>You'll need to keep track of how many ticks have passed since the
 last call (or are left until the next call) to a process's alarm
@@ -277,12 +279,29 @@ use only one CPU, which you can do by running
     make CPUS=1 qemu
 </pre>
 
+<li><b>XXX we need to somehow convey what it is they don't
+       need to do here, i.e. what part is to be left to
+       the next section.</b>
+
+<li><b>XXX it's not clear how they can tell whether they
+are passing test0(), and should proceed to the next section.
+do they need to make sure at this point that they see multiple
+alarm! printouts? or is it OK if they see one alarm! and
+then a crash?</b>
+
 </ul>
 
 <h3>test1(): resume interrupted code</h3>
 
-<p>Test0 doesn't tests whether the handler returns correctly to
-  interrupted instruction in test0.  If you didn't get this right, it
+<p><b>XXX it is surprising that test0() appears to work
+perfectly, even though something is seriously wrong
+with the way periodic() returns. we should recognize
+that something odd is happening, maybe ask them to think
+about it, and hint or say why they are not done even though
+test0() works.</b>
+
+<p>Test0 doesn't test whether the handler returns correctly to
+  the interrupted instruction.  If you didn't get this right, it
   is likely that test1 will fail (the program crashes or the program
   goes into an infinite loop).
 
-- 
cgit v1.2.3