/* Copyright (C) 2016-2019 The University of Notre Dame This software is distributed under the GNU General Public License. See the file LICENSE for details. */ /* This module is the runtime start of every user-level program. The very first symbol in this module must be _start() because the kernel simply jumps to the very first location of the executable. _start() sets up any necessary runtime environment and invokes the main function. Note that this function cannot exit, but must invoke the syscall_process_exit() system call to terminate the process. */ #include "library/syscalls.h" int main(int argc, const char *argv[]); void _start(int argc, const char **argv) { syscall_process_exit(main(argc, argv)); }