summaryrefslogtreecommitdiffstats
path: root/lib/libc/sparc64/sys
Commit message (Collapse)AuthorAgeFilesLines
* Add prototypes for the three syscall stubs that are invoked here,nectar2004-01-191-0/+4
| | | | in order to quiet warnings.
* We need to discard `const'ness explicitly when invoking sysarch.nectar2004-01-101-1/+1
| | | | Reported by: sparc64 tinderbox via bde
* Provide sysarch(2) prototypes in the MD sysarch.h headers. While I'mnectar2004-01-093-8/+3
| | | | | | | | | | at it, use the ANSI C generic pointer type for the second argument, thus matching the documentation. Remove the now extraneous (and now conflicting) function declarations in various libc sources. Remove now unnecessary casts. Reviewed by: bde
* Remove unused variables. Add required headers and functionnectar2004-01-064-3/+10
| | | | declarations.
* Install the user trap handlers that libc provides from a constructor, sojake2003-11-181-0/+2
| | | | | | | | that they will be installed before application constructors are invoked. Its possible to link applications such that this fails, application code is invoked before they are installed, but, well, Don't Do That. Approved by: re (jhb)
* Add the mlockall() and munlockall() system calls.bms2003-08-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | - All those diffs to syscalls.master for each architecture *are* necessary. This needed clarification; the stub code generation for mlockall() was disabled, which would prevent applications from linking to this API (suggested by mux) - Giant has been quoshed. It is no longer held by the code, as the required locking has been pushed down within vm_map.c. - Callers must specify VM_MAP_WIRE_HOLESOK or VM_MAP_WIRE_NOHOLES to express their intention explicitly. - Inspected at the vmstat, top and vm pager sysctl stats level. Paging-in activity is occurring correctly, using a test harness. - The RES size for a process may appear to be greater than its SIZE. This is believed to be due to mappings of the same shared library page being wired twice. Further exploration is needed. - Believed to back out of allocations and locks correctly (tested with WITNESS, MUTEX_PROFILING, INVARIANTS and DIAGNOSTIC). PR: kern/43426, standards/54223 Reviewed by: jake, alc Approved by: jake (mentor) MFC after: 2 weeks
* Rename the libc signal trampoline to __sigtramp to match netbsd. Thisjake2002-10-222-4/+4
| | | | should allow gdb to detect when we're executing in a signal trampoline.
* Install the userland signal trampoline when sigaction is first called,jake2002-09-032-1/+50
| | | | | | | instead of on startup. This fixes binary compatibility of dynamically linked binaries from before the signal code move. Suggested by: wollman (a long time ago)
* Add missing ret instruction to the ptrace() syscall wrapper.tmm2002-07-111-0/+2
|
* Use FBSDIDobrien2002-06-309-56/+24
|
* Generate the normal asm stubs for all sysv system calls. Use these insteadjake2002-05-231-5/+3
| | | | | | | of C wrappers for the *sys indirect system calls. The indirect system calls are horribly broken on sparc64. Submitted by: tmm
* Use the right byte order for unaligned stores. <blush>.jake2002-05-131-1/+1
|
* Handle alignment fault fixups in libc rather than in the kernel.jake2002-05-135-2/+120
|
* Add a support macro to convert the 5-bit packed register field ofjake2002-05-111-4/+2
| | | | | | | | | | | | | | a floating point instruction into a 6-bit register number for double and quad arguments. Make use of the new INSFPdq_RN macro where apporpriate; this is required for correctly handling the "high" fp registers (>= %f32). Fix a number of bugs related to the handling of the high registers which were caused by using __fpu_[gs]etreg() where __fpu_[gs]etreg64() should be used (the former can only access the low, single-precision, registers). Submitted by: tmm
* Add an alternate signal trampoline to libc; add a wrapper for the sigtrampjake2002-04-294-2/+96
| | | | | | | install sysarch, to be called from _start. This will allow the stack to be mapped non-executable, as required by the sparc v9 abi.
* Emulate ldq and stq (load/store long double) instructions. GCC has startedjake2002-04-275-13/+216
| | | | | | | | | using these to load long doubles, but they aren't implemented in hardware on (at least) UltraSPARC I and II machines. Emulate popc in the user trap handler as well. Re-arrange slightly to make support functions more accessible. Reviewed by: tmm
* Save/restore the %y register around calls to the C user trap handler;tmm2002-03-111-0/+4
| | | | | | gcc emits the deprecated sparc v8 instructions that use this register when optimizing for UltraSparc machines because they are apparetly faster then their v9 counterpars there.
* Add userland floating point emulator code for sparc64. This is a porttmm2002-02-232-1/+4
| | | | | of the (never committed) in-kernel version (with some optimizations and cleanups), which in turn was ported from NetBSD.
* Fix wrong offsets. Add offsets for %fsr and %tstate.jake2002-02-231-6/+11
| | | | Submitted by: tmm
* Add space for %fsr and %tstate to utrapframe. Save them in the genericjake2002-02-232-1/+14
| | | | | | | user trap entry code. Restore %asi and %ccr from the saved %tstate before returning to the trapping user code. Submitted by: tmm
* Connect user trap code to the build.jake2002-01-011-0/+3
|
* Add libc side of user trap handling.jake2002-01-017-0/+423
| | | | | | Add support for handling floating point disabled traps mostly in userland for the simple single threaded case. Not yet enabled by default. Implement __sparc_utrap_install as specified by the sparc abi.
* Make sure curbrk is well aligned.jake2001-12-291-0/+1
|
* Need .type and .size here too.jake2001-11-187-4/+15
|
* Remove fork and vfork wrappers. The kernel does the right thing.jake2001-11-183-127/+1
|
* Minimal libc for sparc64.jake2001-10-2610-0/+594
Reviewed by: obrien
OpenPOWER on IntegriCloud