The file shell.c provides some starter code that will be useful in completing this project.
The file signal.c provides an example of setting up a signal handler that will be useful if you decide to implement the history feature.
_syscallN macros no longer exist.
kernel/sys.c .
Your system call can do more or less whatever you want. It doesn't need to do anything useful at all. It does need to meet the following specifications.
printk(KERN_DEBUG "comp430 syscall completed!\n"); #include <linux/kernel.h> )
After you execute your system call, run the command
dmesg in a shell. You should see the message that was printed
by the printk statement in your system call. Refer to page 309 of LKD
for more information on printk.
Your code for this portion of this project should follow the Linux kernel coding style guidelines.
The extra credit component of this project is to describe the chain of events that occurs when a system call is made from a VM in VirtualBox, and how that differs from system calls made directly to hardware.
linux-2.6.24.3/Documentation/SubmittingPatches. There is
an unmodified kernel tree located in the disk image
comp430_kernel.iso available from the DVD, or in
/var/scratch/comp430-shared/ on tron. Be sure to make
clean and make mrproper in your kernel directory
before you make the patch. (Be careful with make
mrproper , it will delete your .config file.)
The patch file should be smallish -- probably fewer than 100 lines.
| Comments, documentation, code formatting, and proper submission format | 20% |
| Coding style | 20% |
| Functionality | 60% |
| Possible extra credit | 5% |