Clarify purpose and rationale.
[pintos-anon] / src / tests / userprog / sc-bad-sp.c
index 8c42298d7df40149e343cf326ef408cb262913fb..6da4a6e53927b9d8edbd958e949f32ef792c0c39 100644 (file)
@@ -1,9 +1,20 @@
+/* Invokes a system call with the stack pointer (%esp) set to a
+   bad address.  The process must be terminated with -1 exit
+   code. 
+
+   For Project 3: The bad address lies approximately 64MB below
+   the code segment, so there is no ambiguity that this attempt
+   must be rejected even after stack growth is implemented.
+   Moreover, a good stack growth heuristics should probably not
+   grow the stack for the purpose of reading the system call
+   number and arguments. */
+
 #include "tests/lib.h"
 #include "tests/main.h"
 
 void
 test_main (void) 
 {
-  asm volatile ("mov %esp, 0x20101234; int 0x30");
+  asm volatile ("movl . - (64*1024*1024), %esp; int $0x30");
   fail ("should have called exit(-1)");
 }