1. establish type independence for ease in porting and,
2. provide a visual queue as to which syscalls have proper
prototypes to further cleanup the i386/alpha split.
Linuxulator types are prefixed by 'l_'. void and char have not
been "virtualized".
o Provide dummy functions for all unimplemented syscalls, except for
the osf1 syscalls. This can only be done if the osfulator
implements at least all syscalls used by the linuxulator. Remove
dummy functions for syscalls that are now truely unimplemented.
o Set the syscall namespace as follows: Mark a syscall as OSF1 if
the Linux kernel has prefixed the syscall with 'osf_' and has
provided special implementations for it. Otherwise mark the
syscall as LINUX by default. Some of the LINUX syscalls remain
marked as BSD or POSIX.
o Rename syscalls so they match the names used in the Linux kernel.
Also, provide more accurate prototypes. This generally improves
cross-referencing and reduces head-scratching.
o Fix the (g|s)etresuid syscalls. They mapped to (g|s)etresgid.
o Sanitize the the shm*, sem* and msg* syscalls. Their prototypes
were dictated by the way these syscalls were used in the i386
code. That has been fixed. NOTE: linux_semctl now passes it's
'arg' parameter by value and not by reference.
o Fix prototype of linux_utime. It takes a struct timeval, not a
struct utimbuf.
o Fix the linux_sysfs syscall. It's index is not 255, but 254.
o Implement the following syscalls:
linux_sysctl
o Add the following new syscalls:
(g|s)etresgid
linux_pivot_root (dummy)
linux_mincore (dummy)
linux_pciconfig_iobase (dummy)
linux_getdents64