Rewrite of multi-oom. Now descends 10 times and expects to reach the same
[pintos-anon] / src / tests / userprog / sc-boundary.c
1 /* Invokes a system call with the system call number and its
2    argument on separate pages.  This must work. */
3
4 #include <syscall-nr.h>
5 #include "tests/userprog/boundary.h"
6 #include "tests/lib.h"
7 #include "tests/main.h"
8
9 void
10 test_main (void) 
11 {
12   /* Put a syscall number at the end of one page
13      and its argument at the beginning of another. */
14   int *p = get_boundary_area ();
15   p--;
16   p[0] = SYS_EXIT;
17   p[1] = 42;
18
19   /* Invoke the system call. */
20   asm volatile ("movl %0, %%esp; int $0x30" :: "g" (p));
21   fail ("should have called exit(42)");
22 }