Add support for some basic system calls and args handling correctly. #29

Merged
sb3923 merged 49 commits from system-calls into master 2024-11-07 19:36:30 +00:00
2 changed files with 93 additions and 21 deletions
Showing only changes of commit 62d2cb54e5 - Show all commits

View File

@@ -123,12 +123,13 @@ start_process (void *file_name_)
struct list_elem *tail = list_tail (&arg_list);
while (e != tail)
{
/* TODO: Push argument pointers to process stack. */
struct arg_elem *arg_elem = list_entry (e, struct arg_elem, elem);
if_.esp -= sizeof (char *);
memcpy (if_.esp, arg_elem->arg, sizeof (char *));
struct list_elem *prev_e = e;
e = list_next (e);
free (list_entry (prev_e, struct arg_elem, elem));
free (arg_elem);
}
/* If load failed, quit. */