Home | History | Annotate | Download | only in common
History log of /src/sys/compat/linux/common/linux_oldselect.c
RevisionDateAuthorComments
 1.59  23-Sep-2021  ryo add support COMPAT_LINUX for aarch64
 1.58  18-Jun-2008  tsutsui Include <sys/sched.h> before <sys/syscallargs.h> for cpuset_t.
 1.57  28-Apr-2008  martin branches: 1.57.2; 1.57.4;
Remove clause 3 and 4 from TNF licenses
 1.56  20-Dec-2007  dsl branches: 1.56.6; 1.56.8; 1.56.10;
Convert all the system call entry points from:
int foo(struct lwp *l, void *v, register_t *retval)
to:
int foo(struct lwp *l, const struct foo_args *uap, register_t *retval)
Fixup compat code to not write into 'uap' and (in some cases) to actually
pass a correctly formatted 'uap' structure with the right name to the
next routine.
A few 'compat' routines that just call standard ones have been deleted.
All the 'compat' code compiles (along with the kernels required to test
build it).
98% done by automated scripts.
 1.55  08-Dec-2007  dsl branches: 1.55.4;
ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...
 1.54  09-Feb-2007  ad branches: 1.54.18; 1.54.20; 1.54.28;
Merge newlock2 to head.
 1.53  18-Jan-2003  thorpej branches: 1.53.18; 1.53.48;
Merge the nathanw_sa branch.
 1.52  13-Nov-2001  lukem add RCSIDs (including regeneration of files as appropriate)
 1.51  29-Jun-2000  mrg branches: 1.51.2; 1.51.4;
remove include of <vm/vm.h>
 1.50  26-Jun-2000  mrg remove redundant vm includes.
 1.49  04-Oct-1998  fvdl branches: 1.49.12;
Assign my copyright to TNF. Merge with others were appropriate.
Regen syscall files after script change.
 1.48  03-Oct-1998  christos Attempt to fix the mess.
 1.47  01-Oct-1998  erh Wheeee!: 8-way split of compat/linux/linux_misc.c into common code and multi-architechture functions.
 1.46  11-Sep-1998  mycroft Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
sys_sigpending() and sys_sigsuspend() into separate functions, and call them
from all the emulations rather than hard-coding everything. (Avoids uses
the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified. Other ports and
emulations need to be updated.
 1.45  08-Sep-1998  rvb ufs_readdir no longer checks if vp->v_type != VDIR so
the individual emulated readdirs must check.
Since netbsd and freebsd return EINVAL for the error
and I don't know what the other platforms do, return
EINVAL for them too.
 1.44  18-Aug-1998  thorpej Add some braces to make egcs happy.
 1.43  07-Jul-1998  thorpej Oops, fix typo, pointed out by Urban Boquist <boquist@cs.chalmers.se>.
 1.42  02-Jul-1998  thorpej Implement the shrinking and no-change bits of the Linux mremap(2) system
call, provided by Urban Boquist <boquist@cs.chalmers.se> in PR #5693.

Add a comment about how one might implement the growing bit of mremap(2).
 1.41  24-Mar-1998  mycroft Fix typo in utime().
 1.40  03-Mar-1998  fvdl Only free cookiebuf when sure that the vop actually allocated it.
 1.39  01-Mar-1998  fvdl Merge with Lite2 + local changes
 1.38  20-Feb-1998  mycroft Linux's getsid(2) does in fact return a pid, not a pointer.
 1.37  14-Feb-1998  thorpej Add a comment clearly describing that Linux's getsid(2) differs from
the XPG4.2 definition in that it returns the kernel virtual address
of the session structure, rather than the process group ID of the
session leader.
 1.36  21-Oct-1997  fvdl branches: 1.36.2;
msync -> __msync13
 1.35  10-Oct-1997  fvdl Fix braino in my interpretation of the eof flag to VOP_READDIR.
 1.34  10-Oct-1997  mycroft Emulate mremap(2) by returning ENOMEM for now. This should be sufficient for
realloc(3) and other uses. From Matthias Scheler in PR 3920.
 1.33  10-Oct-1997  fvdl Signal error when getting a 64 bit offset cookie that can't be stored
in 32 bits. Provide an error message to the user, and return EINVAL.
Also, pay attention to the EOF flag from VOP_READDIR. Correct a
misspell in a panic message.
 1.32  04-Aug-1997  bouyer Fix "missing entries" bug when reading large directories: When reading a
directory and running out of space in the dest buffer, off should point to the
current entry (which was not saved) and not to the next.
I discovered this bug using linux and SunOS emulation over NFS, but seems to
affect other emulations as well.
 1.31  27-Jul-1997  augustss branches: 1.31.2;
Changes to the sudio system:
- It is now possible to handle devices that want "looping" DMA,
e.g. the SoundBlaster correctly. The WSS and SB drivers use this.
To do this several new methods were introduced in audio_hw_if.
- Different silence handling (forced by previous change).
- The audio driver can now be mmap()-ed, but due to problems in
the VM system only for writing for now.
- The OSS (Linux) audio emulation takes advantage of some of the
new features.
 1.30  07-Apr-1997  augustss Add Linux nice() syscall.
 1.29  10-Aug-1996  mycroft sys/dir.h -> sys/dirent.h
 1.28  23-Jun-1996  mycroft Catch up with setre[ug]id() changes.
 1.27  20-May-1996  fvdl branches: 1.27.4;
Update list of Linux syscalls and implement the ones that are likely to be
used and doable.
 1.26  04-Apr-1996  christos - Prototyping changes
- Fix bug that gcc -Wall found in linux_sys_getpgid()
 1.25  03-Apr-1996  mycroft Add explicit return types.
 1.24  18-Dec-1995  fvdl msync, readv and writev were recently added to the Linux kernel; add them
to the emulation as well.
 1.23  09-Dec-1995  mycroft We don't need a private version of fork() here any more.
 1.22  09-Oct-1995  mycroft Use cookies for directory offset, mostly from Greg Hudson.
 1.21  07-Oct-1995  mycroft Prefix names of system call implementation functions with `sys_'.
 1.20  19-Sep-1995  thorpej Make system calls conform to a standard prototype and bring those
prototypes into scope.
 1.19  13-Sep-1995  fvdl Update offset elsewhere in linux_getdents(); still emulate a bug in
Linux, but avoid endless loops.
 1.18  07-Sep-1995  fvdl Fix some bugs & typing problems.
 1.17  23-Aug-1995  fvdl Emulate some syscalls that appear in Linux 1.3: a select() with normal args,
getdents() and flock().
 1.16  21-Aug-1995  fvdl Check for status NULL argument in wait4 and waitpid. From PR #1392
by Thomas EberHardt.
 1.15  21-Aug-1995  mycroft Implement the old and older uname(2) calls.
 1.14  16-Aug-1995  mycroft If updating the timeval would make it negative, zero it instead.
 1.13  16-Aug-1995  mycroft Allow bogus timevals, per Linux.
 1.12  14-Aug-1995  mycroft Export bsd_to_linux_sig[], and use it.
 1.11  14-Aug-1995  mycroft Rearrange #includes.
 1.10  13-Aug-1995  mycroft Linux doesn't allow select(2) to be restarted.
 1.9  24-Jun-1995  christos Use compat_util.[ch].
 1.8  22-Jun-1995  fvdl * Changed to use generic ELF code from kern/exec_elf.c (which was taken
from the svr4 exec code plus the linux compat mods)
* Include file change
* Add multicast sockopts (from John Brezak)
 1.7  11-Jun-1995  fvdl Linux select() returns the amount of time left before a timeout would have
occured in the timeval structure. Emulate this behavior. Reported by
Theo de Raadt.
 1.6  11-Jun-1995  fvdl * Make Linux ELF binaries work. Lots of code duplication, but it will have to do
for now.
* Add a sanity check in linux_uselib
 1.5  10-Jun-1995  mycroft Rename the dirent fields to match Linux. Make sure the requested buffer
is no larger than MAXBSIZE.
 1.4  22-Mar-1995  mycroft Emulate the return value of times() better.
 1.3  21-Mar-1995  mycroft Update to use timer{add,sub}().
 1.2  05-Mar-1995  fvdl Added a few more system calls.
More consistent alternate root file semantics throughout.
 1.1  28-Feb-1995  fvdl Added Linux compat code.
 1.27.4.2  10-Dec-1996  mycroft From trunk:
sys/dir.h -> sys/dirent.h
 1.27.4.1  10-Dec-1996  mycroft From trunk:
Implement setre[ug]id() for real.
 1.31.2.2  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.31.2.1  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.36.2.1  08-May-1998  mycroft Pull up 1.41, per request of mycroft.
 1.49.12.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.51.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.51.2.3  29-May-2002  nathanw #include <sys/sa.h> before <sys/syscallargs.h>, to provide sa_upcall_t
now that <sys/param.h> doesn't include <sys/sa.h>.

(Behold the Power of Ed)
 1.51.2.2  14-Nov-2001  nathanw Catch up to -current.
 1.51.2.1  05-Mar-2001  nathanw Initial commit of scheduler activations and lightweight process support.
 1.53.48.1  30-Jan-2007  ad Remove support for SA. Ok core@.
 1.53.18.2  21-Jan-2008  yamt sync with head
 1.53.18.1  26-Feb-2007  yamt sync with head.
 1.54.28.1  26-Dec-2007  ad Sync with head.
 1.54.20.1  09-Jan-2008  matt sync with HEAD
 1.54.18.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.55.4.1  02-Jan-2008  bouyer Sync with HEAD
 1.56.10.2  04-May-2009  yamt sync with head.
 1.56.10.1  16-May-2008  yamt sync with head.
 1.56.8.1  18-May-2008  yamt sync with head.
 1.56.6.2  29-Jun-2008  mjf Sync with HEAD.
 1.56.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.57.4.1  18-Jun-2008  simonb Sync with head.
 1.57.2.3  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.57.2.2  14-May-2008  wrstuden Per discussion with ad, remove most of the #include <sys/sa.h> lines
as they were including sa.h just for the type(s) needed for syscallargs.h.

Instead, create a new file, sys/satypes.h, which contains just the
types needed for syscallargs.h. Yes, there's only one now, but that
may change and it's probably more likely to change if it'd be difficult
to handle. :-)

Per discussion with matt at n dot o, add an include of satypes.h to
sigtypes.h. Upcall handlers are kinda signal handlers, and signalling
is the header file that's already included for syscallargs.h that
closest matches SA.

This shaves about 3000 lines off of the diff of the branch relative
to the base. That also represents about 18% of the total before this
checkin.

I think this reduction is very good thing.
 1.57.2.1  10-May-2008  wrstuden Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.

RSS XML Feed