I was just curious what the code needed will be, and how I should go about adding it. Thanks! Syscall: int printchar(char c) This system call should be added as system call number 41 (and ensure the number you choose is not being used by another system call). If this number is being used then just choose another one that is not being used. This system call passes a single character to the operating system and is handled by having the kernel print the character using the internal kprintf function. Comments: Note that the system-call signatures given here are the user-level functions. In other words, they are the functions that user programs will call to invoke these system calls. These functions' kernel-level counterparts are named differently, e.g., in OS/161 the function name has a prefix sys (e.g., sys_reboot is called to handle the reboot system call). You will need to modify the code in kern/arch/mips/syscall.c to detect your new system calls and dispatch appropriate system call handlers. Although these system calls are simple enough to implement fully within syscall.c, it is good programming practice to put the handlers in a separate function in a file in the kern/syscall subdirectory. You should name this file simple_syscalls.c. You will also need to add an entry for this new file in the kern/conf/conf.kern file, and reconfigure your kernel so that it is included in the build (i.e., if you add new files, you must reconfigure the kernel so the makefiles are updated with the new files to be built). Also, because you want to call functions from syscall.c that are defined elsewhere, you should add prototypes for these functions to the kern/include/syscall.h header file, similar to what is done for the sys reboot function. Once you are ready to test, add the user-level function prototype for the system call to unistd.h, and add printchartest to the list of SUBDIRS in userland/testbin/Makefile, and then recompile the user-level code..