CS318 - Pintos
Pintos source browser for JHU CS318 course
src
tests
userprog
sc-boundary-2.c
Go to the documentation of this file.
1
/** Invokes a system call with one byte of the system call's
2
argument on a separate page from the rest of the bytes. This
3
must work. */
4
5
#include <
syscall-nr.h
>
6
#include "
tests/userprog/boundary.h
"
7
#include "
tests/lib.h
"
8
#include "
tests/main.h
"
9
10
void
11
test_main
(
void
)
12
{
13
/* Make one byte of a syscall argument hang over into a second
14
page. */
15
int
*p = (
int
*) ((
char
*)
get_boundary_area
() - 7);
16
p[0] =
SYS_EXIT
;
17
p[1] = 67;
18
19
/* Invoke the system call. */
20
asm
volatile
(
"movl %0, %%esp; int $0x30"
: :
"g"
(p));
21
fail
(
"should have called exit(67)"
);
22
}
lib.h
test_main
void test_main(void)
Invokes a system call with one byte of the system call's argument on a separate page from the rest of...
Definition:
sc-boundary-2.c:11
get_boundary_area
void * get_boundary_area(void)
Returns the beginning of a page.
Definition:
boundary.c:18
syscall-nr.h
fail
void fail(const char *format,...)
Definition:
lib.c:40
main.h
boundary.h
SYS_EXIT
Terminate this process.
Definition:
syscall-nr.h:9
Generated on Thu Aug 22 2019 10:19:15 for CS318 - Pintos by
1.8.16