diff options
Diffstat (limited to 'userprog/syscall.c')
| -rw-r--r-- | userprog/syscall.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/userprog/syscall.c b/userprog/syscall.c index 541668d..71aba5c 100644 --- a/userprog/syscall.c +++ b/userprog/syscall.c | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | #include "userprog/pagedir.h" | 14 | #include "userprog/pagedir.h" |
| 15 | #include "userprog/process.h" | 15 | #include "userprog/process.h" |
| 16 | #include "userprog/syscall.h" | 16 | #include "userprog/syscall.h" |
| 17 | #include "lib/user/syscall.h" | ||
| 17 | 18 | ||
| 18 | #define STACK_SLOT_SIZE sizeof(int) | 19 | #define STACK_SLOT_SIZE sizeof(int) |
| 19 | 20 | ||
| @@ -181,7 +182,9 @@ static handler | |||
| 181 | syscall_read, | 182 | syscall_read, |
| 182 | syscall_seek, | 183 | syscall_seek, |
| 183 | syscall_tell, | 184 | syscall_tell, |
| 184 | syscall_close; | 185 | syscall_close, |
| 186 | syscall_mmap, | ||
| 187 | syscall_munmap; | ||
| 185 | 188 | ||
| 186 | /* Register syscall_handler for interrupt 0x30 */ | 189 | /* Register syscall_handler for interrupt 0x30 */ |
| 187 | void | 190 | void |
| @@ -217,6 +220,8 @@ syscall_handler (struct intr_frame *f) | |||
| 217 | case SYS_SEEK: fp = syscall_seek; break; | 220 | case SYS_SEEK: fp = syscall_seek; break; |
| 218 | case SYS_TELL: fp = syscall_tell; break; | 221 | case SYS_TELL: fp = syscall_tell; break; |
| 219 | case SYS_CLOSE: fp = syscall_close; break; | 222 | case SYS_CLOSE: fp = syscall_close; break; |
| 223 | case SYS_MMAP: fp = syscall_mmap; break; | ||
| 224 | case SYS_MUNMAP: fp = syscall_munmap; break; | ||
| 220 | default: | 225 | default: |
| 221 | goto fail; | 226 | goto fail; |
| 222 | } | 227 | } |
| @@ -564,3 +569,15 @@ syscall_close (void *sp, bool *segfault) | |||
| 564 | (void) process_close_file (fd); | 569 | (void) process_close_file (fd); |
| 565 | return 0; | 570 | return 0; |
| 566 | } | 571 | } |
| 572 | |||
| 573 | static int | ||
| 574 | syscall_mmap (void *sp, bool *segfault) | ||
| 575 | { | ||
| 576 | return 0; | ||
| 577 | } | ||
| 578 | |||
| 579 | static int | ||
| 580 | syscall_munmap (void *sp, bool *segfault) | ||
| 581 | { | ||
| 582 | return 0; | ||
| 583 | } | ||
