aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha/linux
Commit message (Collapse)AuthorAgeFilesLines
...
* Use __FBSDID().David E. O'Brien2003-06-104-7/+11
| | | | Notes: svn path=/head/; revision=116158
* - Replace inline implementations of sigprocmask() with calls toJohn Baldwin2003-04-221-9/+4
| | | | | | | | | | kern_sigprocmask() in the various binary compatibility emulators. - Replace calls to sigsuspend(), sigaltstack(), sigaction(), and sigprocmask() that used the stackgap with calls to the corresponding kern_sig*() functions instead without using the stackgap. Notes: svn path=/head/; revision=113859
* Synchronize the two linux_clone() implementations which includes a fewJohn Baldwin2003-04-181-6/+3
| | | | | | | minor cleanups in both. Notes: svn path=/head/; revision=113689
* Fix printf args in debug printfs.John Baldwin2003-04-161-5/+5
| | | | Notes: svn path=/head/; revision=113576
* Assume a struct thread *td instead of a struct proc *p in the debugJohn Baldwin2003-04-161-2/+2
| | | | | | | printf macros. Notes: svn path=/head/; revision=113575
* Fix some debug macros. Either missing close parens or close parens in theJohn Baldwin2003-04-161-4/+4
| | | | | | | wrong place. Notes: svn path=/head/; revision=113573
* Add missing includes from previous commit.John Baldwin2003-03-271-0/+1
| | | | | | | Reported by: des Notes: svn path=/head/; revision=112716
* Add a cleanup function to destroy the osname_lock and call it on moduleJohn Baldwin2003-03-261-0/+1
| | | | | | | | | | unload. Submitted by: gallatin Reported by: Martin Karlsson <mk-freebsd@bredband.net> Notes: svn path=/head/; revision=112682
* Sync up linux and svr compat elf fixup functions for exec(). TheseJohn Baldwin2003-03-211-10/+9
| | | | | | | | | | | | functions are now all basically identical except that alpha linux uses Elf64 arguments and svr4 and i386 linux use Elf32. The fixups include changing the first argument to be a register_t ** to match the prototype for fixup functions, asserting that the process in the image_params struct is always curproc and removing unnecessary locking to read credentials as a result, and a few style fixes. Notes: svn path=/head/; revision=112470
* Clean up whitespace and remove register keyword.Dag-Erling Smørgrav2003-03-031-1/+1
| | | | Notes: svn path=/head/; revision=111798
* More caddr_t removal, in conjunction with copy{in,out}(9) this time.Dag-Erling Smørgrav2003-03-031-3/+3
| | | | | | | Also clean up some egregious casts and incorrect use of sizeof. Notes: svn path=/head/; revision=111797
* Regen from syscalls.master 1.52.Tim J. Robbins2003-02-163-5/+11
| | | | Notes: svn path=/head/; revision=110979
* Mark linux_sigpending() as MPSAFE.Tim J. Robbins2003-02-161-1/+1
| | | | Notes: svn path=/head/; revision=110978
* Add IPv6 support for Linuxlator.Hajimu UMEMOTO2003-02-031-0/+1
| | | | | | | | Reviewed by: dwmalone MFC after: 10 days Notes: svn path=/head/; revision=110295
* - Add support for IPC_64 extensions into shmctl(2), semctl(2) and msgctl(2);Maxim Sobolev2002-10-111-0/+133
| | | | | | | | | | | | | | | | - add wrappers for mmap2(2) and ftruncate64(2) system calls; - don't spam console with printf's when VFAT_READDIR_BOTH ioctl(2) is invoked; - add support for SOUND_MIXER_READ_STEREODEVS ioctl(2); - make msgctl(IPC_STAT) and IPC_SET actually working by converting from BSD msqid_ds to Linux and vice versa; - properly return EINVAL if semget(2) is called with nsems being negative. Reviewed by: marcel Approved by: marcel Tested with: LSB runtime test Notes: svn path=/head/; revision=104893
* MFi386: fork1 apparently takes 4 args nowAndrew Gallatin2002-10-021-1/+1
| | | | | | | Forgotten by: scottl Notes: svn path=/head/; revision=104373
* It seems I accidently committed a change that removed the userland includesPeter Wemm2002-09-171-2/+0
| | | | | | | | | from the kernel build. This broke linux_genassym on the alpha. For the kernel, the correct place to get offsetof() is not in /usr/include/stddef.h but rather <sys/types.h> Notes: svn path=/head/; revision=103461
* Completely redo thread states.Julian Elischer2002-09-111-0/+1
| | | | | | | Reviewed by: davidxu@freebsd.org Notes: svn path=/head/; revision=103216
* Added fields for VM_MIN_ADDRESS, PS_STRINGS and stack protections toJake Burkholder2002-09-011-5/+13
| | | | | | | | | sysentvec. Initialized all fields of all sysentvecs, which will allow them to be used instead of constants in more places. Provided stack fixup routines for emulations that previously used the default. Notes: svn path=/head/; revision=102808
* Infrastructure tweaks to allow having both an Elf32 and an Elf64 executablePeter Wemm2002-07-201-4/+6
| | | | | | | | | | | | | | | | | | handler in the kernel at the same time. Also, allow for the exec_new_vmspace() code to build a different sized vmspace depending on the executable environment. This is a big help for execing i386 binaries on ia64. The ELF exec code grows the ability to map partial pages when there is a page size difference, eg: emulating 4K pages on 8K or 16K hardware pages. Flesh out the i386 emulation support for ia64. At this point, the only binary that I know of that fails is cvsup, because the cvsup runtime tries to execute code in pages not marked executable. Obtained from: dfr (mostly, many tweaks from me). Notes: svn path=/head/; revision=100384
* Part 1 of KSE-IIIJulian Elischer2002-06-291-1/+0
| | | | | | | | | | | | | | | | The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test program (in tools) Reviewed by: Almost everyone who counts (at various times, peter, jhb, matt, alfred, mini, bernd, and a cast of thousands) NOTE: this is still Beta code, and contains lots of debugging stuff. expect slight instability in signals.. Notes: svn path=/head/; revision=99072
* Fix typo in the BSD copyright: s/withough/without/Jens Schweikhardt2002-06-022-2/+2
| | | | | | | | Spotted and suggested by: des MFC after: 3 weeks Notes: svn path=/head/; revision=97748
* Remove __P(). This was tested on the GENERIC kernel.David E. O'Brien2002-03-202-136/+136
| | | | Notes: svn path=/head/; revision=92816
* Bah, I managed to turn cosmetic things into real bugs. Fix shadowedPeter Wemm2002-02-081-3/+3
| | | | | | | variable declarations. :-( Definately not my day today. Notes: svn path=/head/; revision=90391
* Fix long line added in previous commit.Peter Wemm2002-02-071-1/+3
| | | | Notes: svn path=/head/; revision=90369
* Pre-KSE/M3 commit.Julian Elischer2002-02-072-3/+3
| | | | | | | | | | | | | this is a low-functionality change that changes the kernel to access the main thread of a process via the linked list of threads rather than assuming that it is embedded in the process. It IS still embeded there but remove all teh code that assumes that in preparation for the next commit which will actually move it out. Reviewed by: peter@freebsd.org, gallatin@cs.duke.edu, benno rice, Notes: svn path=/head/; revision=90361
* Regenerated file from previous commit to syscalls.masterAndrew Gallatin2002-01-233-18/+6
| | | | Notes: svn path=/head/; revision=89718
* Linux/alpha uses the same BSDish return mechanism we do forAndrew Gallatin2002-01-231-4/+4
| | | | | | | | | | | getpid, getuid, getgid and pipe, since they bootstrapped from OSF/1 and never cleaned up. Switch to the native syscalls on alpha so that the above functions work MFC after: 7 days Notes: svn path=/head/; revision=89717
* Merge part of revision 1.18 of sys/i386/linux/linux_machdep.c: don't useJohn Baldwin2001-12-181-2/+0
| | | | | | | RFTHREAD in linux_clone(). Notes: svn path=/head/; revision=88147
* Eliminate the prefix parameter to linux_emul_find(), which was alwaysDag-Erling Smørgrav2001-10-271-2/+2
| | | | | | | | | | | linux_emul_path anyway. Linux_emul_find() has interesting bugs in its prefix handling (which luckily are not currently exploitable); this commit is preliminary to an attempt at cleaning it up. Approved by: marcel Notes: svn path=/head/; revision=85599
* minor commenting based on syscall environmentMatthew Dillon2001-10-261-0/+6
| | | | Notes: svn path=/head/; revision=85563
* After removing the bogus differences, any real incompatibilitiesMarcel Moolenaar2001-10-191-452/+0
| | | | | | | | have been merged into /sys/compat/linux/linux_ioctl.h. This file is now unused. Notes: svn path=/head/; revision=85140
* Implement linux_chown and linux_lchown. The fchown syscall mapsMarcel Moolenaar2001-10-161-2/+0
| | | | | | | | | | directly to the native syscall, because no filename handling needs to be done. Tested by: Martin Blapp <mb@imp.ch> Notes: svn path=/head/; revision=85022
* In FreeBSD's ifreq, ifr_ifru.ifru_flags is an array of two chars, while LinuxDag-Erling Smørgrav2001-10-151-1/+1
| | | | | | | | defines it as a short. Change that to an array of one short so that FreeBSD's ifr_flags macro will work (it evaluates to ifr_ifru.ifru_flags[0]). Notes: svn path=/head/; revision=85008
* Regen.Marcel Moolenaar2001-10-073-7/+4
| | | | Notes: svn path=/head/; revision=84604
* Fix the NODEF entry for setpgid() so that it matches the NODEFMarcel Moolenaar2001-10-071-1/+1
| | | | | | | entries in sys/kern/syscalls.master. Notes: svn path=/head/; revision=84602
* o Remove the linux_setpgid() stub.Marcel Moolenaar2001-09-284-30/+8
| | | | | | | | | o Stop using linux_getpgid(); use getpgid() instead. PR: kern/21402 Notes: svn path=/head/; revision=84074
* Stop using linux_getpgid(). The implementation at this time isMarcel Moolenaar2001-09-281-2/+2
| | | | | | | | | | | | | | | | broken and fixing it only creates a duplicate of what is already in the FreeBSD kernel. Therefore, map the syscall directly to getpgid(). PR: kern/21402 Submitted by: Christian Weisgerber <naddy@mips.inka.de> While here, redefine the second entry for setpgid() so that we don't need a stub. This is achieved by giving the second instance the type NODEF. Notes: svn path=/head/; revision=84073
* Make this compile again. I would have sworn that I did this already inPeter Wemm2001-09-203-43/+43
| | | | | | | the KSE tree and thought it had been merged. Notes: svn path=/head/; revision=83695
* Add a wrapper for linux_getsid -> getsid Syscall.Michael Reifenberger2001-09-151-1/+0
| | | | Notes: svn path=/head/; revision=83503
* Implement LINUX_[SEM|IPC]_[STAT|INFO]Michael Reifenberger2001-09-151-0/+2
| | | | | | | | | | to make /compat/linux/usr/bin/ipcs -s happy. PR: kern/29698 (part) Reviewed by: audit Notes: svn path=/head/; revision=83501
* KSE Milestone 2Julian Elischer2001-09-121-138/+140
| | | | | | | | | | | | | | | | | Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha Notes: svn path=/head/; revision=83366
* Round of cleanups and enhancements. These include (in random order):Marcel Moolenaar2001-09-087-549/+746
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Introduce private types for use in linux syscalls for two reasons: 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 syscalls and remove dummy functions or implementations of truely obsolete syscalls. o Sanitize the shm*, sem* and msg* syscalls. o Make a first attempt to implement the linux_sysctl syscall. At this time it only returns one MIB (KERN_VERSION), but most importantly, it tells us when we need to add additional sysctls :-) o Bump the kenel version up to 2.4.2 (this is not the same as the KERN_VERSION MIB, BTW). o Implement new syscalls, of which most are specific to i386. Our syscall table is now up to date with Linux 2.4.2. Some highlights: - Implement the 32-bit uid_t and gid_t bases syscalls. - Implement a couple of 64-bit file size/offset bases syscalls. o Fix or improve numerous syscalls and prototypes. o Reduce style(9) violations while I'm here. Especially indentation inconsistencies within the same file are addressed. Re-indenting did not obfuscate actual changes to the extend that it could not be combined. NOTE: I spend some time testing these changes and found that if there were regressions, they were not caused by these changes AFAICT. It was observed that installing a RH 7.1 runtime environment did make matters worse. Hangs and/or reboots have been observed with and without these changes, so when it failed to make life better in cases it doesn't look like it made it worse. Notes: svn path=/head/; revision=83221
* o Introduce private types for use in linux syscalls for two reasons:Marcel Moolenaar2001-09-081-190/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=83220
* Synchronize syscalls.master(s) with recent Giant pushdown workMatthew Dillon2001-09-011-8/+8
| | | | Notes: svn path=/head/; revision=82753
* With this commit, I hereby pronounce gensetdefs past its use-by date.Peter Wemm2001-06-132-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the a.out emulation of 'struct linker_set' with something a little more flexible. <sys/linker_set.h> now provides macros for accessing elements and completely hides the implementation. The linker_set.h macros have been on the back burner in various forms since 1998 and has ideas and code from Mike Smith (SET_FOREACH()), John Polstra (ELF clue) and myself (cleaned up API and the conversion of the rest of the kernel to use it). The macros declare a strongly typed set. They return elements with the type that you declare the set with, rather than a generic void *. For ELF, we use the magic ld symbols (__start_<setname> and __stop_<setname>). Thanks to Richard Henderson <rth@redhat.com> for the trick about how to force ld to provide them for kld's. For a.out, we use the old linker_set struct. NOTE: the item lists are no longer null terminated. This is why the code impact is high in certain areas. The runtime linker has a new method to find the linker set boundaries depending on which backend format is in use. linker sets are still module/kld unfriendly and should never be used for anything that may be modular one day. Reviewed by: eivind Notes: svn path=/head/; revision=78161
* track the One True Architecture (i386)Matt Jacob2001-05-251-4/+4
| | | | Notes: svn path=/head/; revision=77199
* Undo part of the tangle of having sys/lock.h and sys/mutex.h included inMark Murray2001-05-012-10/+15
| | | | | | | | | | | | | | other "system" header files. Also help the deprecation of lockmgr.h by making it a sub-include of sys/lock.h and removing sys/lockmgr.h form kernel .c files. Sort sys/*.h includes where possible in affected files. OK'ed by: bde (with reservations) Notes: svn path=/head/; revision=76166
* Regen after adding linux_sched_get_priority_max() andAndrew Gallatin2001-04-033-7/+15
| | | | | | | linux_sched_get_priority_min() Notes: svn path=/head/; revision=75136
* Add linux_sched_get_priority_max() and linux_sched_get_priority_min() toAndrew Gallatin2001-04-031-2/+2
| | | | | | | alpha md code & unbreak kernel build Notes: svn path=/head/; revision=75135