23f31f2a3a
successfully emulates a few test program that use poll semaphores, including the attach-to-file-descriptor-and-select feature. There are a few issues: 1) at least one ioctl need to set retval. We handle this in irix_sys_ioctl() by replacing the data argument by a pointer to a strucutre in the stackgap that carries the real data and retval. The underlying ioctl methods can therefore retreive both data and retval. 2) usemaclone is a cloning device: each time it is open, it creates a new context, and ioctl operation on each open file descriptor will lead to different behavior. This functionnality is available in NetBSD through the devvp branch. This first implementation does not use devvp yet, but this should be done later. Currently, we create a new vnode, and we provide our own vnode operations. Some operation are applied to the cloned vnode, others are applied to the original vnode. The v_data field is used to hold a reference to the original vnode so that we can work on it. 3) at least the setattr vnode operation needs some customisation: IRIX libc relies on the fact that fchmod on /dev/usema will return 0 in case of failure. |
||
---|---|---|
.. | ||
aout | ||
aoutm68k | ||
common | ||
freebsd | ||
hpux | ||
ibcs2 | ||
irix | ||
linux | ||
m68k4k | ||
mach | ||
netbsd32 | ||
osf1 | ||
ossaudio | ||
pecoff | ||
sunos | ||
sunos32 | ||
svr4 | ||
svr4_32 | ||
ultrix | ||
vax1k | ||
Makefile |