From 97e7c6868b105bd1f66a83f236448fb03ca3a310 Mon Sep 17 00:00:00 2001 From: Hang Park Date: Sun, 2 Apr 2017 22:26:56 +0900 Subject: [PATCH 1/2] [#7] Change process_wait() to an infinite loop This is a temporary measure to prevent pintos terminates. --- src/userprog/process.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/userprog/process.c b/src/userprog/process.c index ac187f1..4c7cd8f 100644 --- a/src/userprog/process.c +++ b/src/userprog/process.c @@ -88,6 +88,7 @@ start_process (void *f_name) int process_wait (tid_t child_tid UNUSED) { + while (1); // Temporary measure return -1; } From ee05078e703ce31cde834d405405b173f59b46b5 Mon Sep 17 00:00:00 2001 From: lament Date: Sun, 2 Apr 2017 22:47:37 +0900 Subject: [PATCH 2/2] [#30] Setting up esp value as PHYS_BASE - 12 --- src/userprog/process.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/userprog/process.c b/src/userprog/process.c index 4c7cd8f..ce55d5c 100644 --- a/src/userprog/process.c +++ b/src/userprog/process.c @@ -438,7 +438,7 @@ setup_stack (void **esp) { success = install_page (((uint8_t *) PHYS_BASE) - PGSIZE, kpage, true); if (success) - *esp = PHYS_BASE; + *esp = PHYS_BASE - 12; // Temporary measure else palloc_free_page (kpage); }