Commit Graph

562 Commits

Author SHA1 Message Date
jonathan 8053fbfe3c Pull up endian-independent changes from locore, userland bcopy.S. 1997-10-20 09:31:37 +00:00
jonathan d9af5eb2f7 Pull up ambi-endian diffs from kernel bzero(). 1997-10-19 01:19:58 +00:00
jonathan 2698f7d137 Pull up endian diffs from kernel bcopy(). 1997-10-18 05:21:44 +00:00
jonathan 82526d56fd Prototype __flt_rounds(). 1997-10-18 02:43:06 +00:00
mark a2b5e07612 Include memmove.S in the list of sources. 1997-10-18 02:28:25 +00:00
mark fd06e9f4e6 Use the ASENTRY() macro for the declaration of cerror. 1997-10-17 19:57:17 +00:00
mark fb4d5f58af Fix extra 'S' character typo that resulted in the condition codes being
incorrectly internally on certain divides.
Handle the case where the internal result appears negative. This condition
can occur when dividing MIN_INT by certain values.
Raise an exception on divide by zero.
1997-10-17 18:43:47 +00:00
jonathan aae966edfa Cacheflush support code for mips CPUs.
Used by GCC's lexical-closure trampoline code.
1997-10-17 06:29:02 +00:00
mark a5efbaaf3f Fix -Wall compiler warnings. 1997-10-13 21:28:53 +00:00
mark e30acb582b Build softfloat support as standard. 1997-10-13 21:26:58 +00:00
mark 4b5476b492 Fix compiler warnings. 1997-10-13 21:24:15 +00:00
mark 309d2271d4 Implement soft-float support using the softfloat library from John Hauser. 1997-10-12 21:18:01 +00:00
is 31c3c1a2b3 Most calls of ldexp() won't be with a first parameter of 0.0. Don't penalize
them for a slight optimization of the zero case.
1997-10-09 20:06:18 +00:00
lukem 2a55b0f192 rcsid police 1997-10-09 10:07:40 +00:00
jtc c8f77c0b8b Fix tipo inherited from old version of TNF copyright template. 1997-10-09 07:25:45 +00:00
mark 1f73d0c21a Added assembly files _memcpy.S memcpy.S memmove.S bcopy.S memset.S bzero.S 1997-10-06 00:40:31 +00:00
mark 6740365e8e Implement bzero() as a stub that calls memset(). 1997-10-06 00:39:25 +00:00
mark 45306416a8 Implement an assembly version of memset(). 1997-10-06 00:38:33 +00:00
mark 4cb1dd25c8 Implement standard libc memory copy/move functions as stubs onto the
assembly _memcpy() routine.
1997-10-06 00:37:51 +00:00
mark 65021679a3 Implement an assembly memory copy routine. 1997-10-06 00:35:50 +00:00
mark d581bfa372 Use machine/asm.h instead of DEFS.h
If SOFTFLOAT is defined provide glue to the softfloat functions.
1997-10-06 00:26:11 +00:00
mark e416694cf0 If SOFTFLOAT is defined provide glue for the softfloat rounding functions. 1997-10-06 00:23:54 +00:00
mark a0e35b1248 Use fpgetround() to get the current rounding mode. 1997-10-06 00:22:40 +00:00
mark 1302ae6654 Minor code cleanup.
Use machine/asm.h instead of DEFS.h
1997-10-06 00:20:28 +00:00
mark 9c99854d71 Minor code cleanups. 1997-10-06 00:18:30 +00:00
mark 591d03a899 Replaced by divsi3.S 1997-10-06 00:16:01 +00:00
mark d33af6fbb2 Replaces the divide routines in div.S 1997-10-06 00:15:32 +00:00
mark 5ecc353c4d Added assembly file divsi3.S 1997-10-06 00:12:24 +00:00
mark 4e7948694a Rewritten to support new jmpbuf format describe in machine/setjmp.h.
Use magic numbers to validate the buffers on a longjmp().
Don't save/load the fp registers if SOFTFLOAT is defined.
1997-10-06 00:10:32 +00:00
mark e08cd408b1 Added PIC support where required.
Cleaned out and dead / redundant code.
1997-10-06 00:07:09 +00:00
mark 9d64c268b2 Added assembly versions of the network <-> host byte order functions. 1997-10-06 00:03:13 +00:00
mark c465276e26 Added assembly versions of the network <-> host byte order functions from
Neil Carson <neil@causality.com>
1997-10-06 00:01:08 +00:00
mark ee681780be Removed redundant .text and .align directives. 1997-10-05 23:58:24 +00:00
mark 63025a1fe6 No longer needed, so axe it. 1997-10-05 23:56:49 +00:00
is e6cb27b508 ieee.h and ldexp.c taken from the powerpc port, for the benefit of
68040 and 68060 owners.
With ``make M68040=1'' or ``make M68060=1'', we build a libc where the ldexp()
doesn't use excessive amounts of system cpu time.
Without any of those defines, the normal assembler version using FSCALE is
included, for the benefit of M68020 and M68030 users, or M68040/M68060 users
where the ldexp performance is no bottleneck.
[Its not yet worked out how to include both library versions in a binary
distribution, but you can build your own from source now if you need it.]
For details, look at PR 3105.
1997-10-02 21:47:47 +00:00
jonathan 68a9b35134 Do a .cpload if compiling with PIC.
Examining  the .so output from binutils 2.8 and 2.8.1 shows the
	li.d	$f2, 4503599627370496e0
is (incorrectly?) emitted as GP-relative loads when PIC is in effect.
1997-08-19 20:49:47 +00:00
jonathan cbb2b5d0fb Substitute Mach 3.0 kernel bcopy() which is unrolled for aligned copies. 1997-08-09 02:02:08 +00:00
jtc 9f3b240e5c Fix files using old TNF copyright notice 1997-07-30 23:50:37 +00:00
jtc 5dbbebc601 Revert last change, some folks have reported problems 1997-07-24 19:10:38 +00:00
jtc 5e436cd360 Use insn sequence found by superoptimizer to compute return value. This
avoids the relatively expensive scc and ext instructions.
1997-07-21 13:56:10 +00:00
phil b94cad931e Add missing quote (") at end of _RCSID argument. 1997-07-21 06:01:55 +00:00
thorpej 697496a1e7 Pull in __flt_rounds() prototype. 1997-07-18 05:10:02 +00:00
thorpej ef909f429a Pull in __flt_rounds() prototype. 1997-07-18 00:30:30 +00:00
kleink c5f0b6148d Fix typo from last commit: `bnlsr' vs. 'bnslr'. 1997-07-16 16:11:48 +00:00
christos 1394f01b4a RCSID fixes: Always use the NetBSD rcsid and the macro RCSID() defined in
<machine/asm.h>; Also syscalls should be protected using the SYSLIBC_SCCS
define not LIBC_SCCS
1997-07-16 14:37:13 +00:00
veego f58c16ffe9 Remove the duplicated __builtin_saveregs function.
We only need it in src/gnu/usr.bin/gcc/libgcc/libgcc2.c.
1997-07-14 21:04:43 +00:00
christos e80ba636a1 Builtin saveregs returns void *, not void. 1997-07-14 19:36:44 +00:00
christos b9af52952a Add missing prototypes. From Bernd. 1997-07-14 02:13:56 +00:00
christos 91c9c62e44 Fix RCSID's 1997-07-13 18:45:15 +00:00
christos 43d6f49e0a Add missing math.h include
Fix RCSID's
1997-07-13 18:43:18 +00:00
christos faa85c1edf Add missing math.h include.
Fix RCSID's
1997-07-13 18:42:55 +00:00
christos 24329bd304 Add missing math.h include
Fix RCSID's
1997-07-13 18:42:29 +00:00
christos f6ff6c08f8 Fix RCSID's
Add missing math.h include
1997-07-13 18:41:38 +00:00
christos 89ce8a631d Add missing math.h include
Fix RCSID's
1997-07-13 18:40:38 +00:00
christos b3bd98a5e6 Fix RCSID's
Add missing math.h include
1997-07-13 18:39:54 +00:00
christos 35abd9e88d Add missing math.h include
Fix RCSIDs
1997-07-13 18:38:28 +00:00
christos 35a5d59f7d Fix RCSID's
Add missing math.h include
1997-07-13 18:37:30 +00:00
christos 42a71b4d7b Add missing stdlib.h include 1997-07-13 18:35:25 +00:00
jonathan a70f22abe7 Back out previous revision, which is reported to break signal-handing
in the GNU awk in our tree.
Leave the change in but commented out, it may be a  ld.so problem.
1997-07-07 00:13:56 +00:00
jtc 3c3a4cdfbb Simplify how division and remainder assembly source is generated
from divrem.m4.
1997-06-21 01:42:48 +00:00
jonathan b838c4c768 Add .set noreorder/.set reorder around .cpload 1997-06-18 22:23:13 +00:00
jonathan 20a862c6ad #include <machine/machAsmDefs.h> -> #include <mips/asm.h> 1997-06-17 16:35:26 +00:00
jtc 5f28317441 Use xorl/movb instead of movzbl when loading registers before computing
the return value.
1997-05-19 23:55:00 +00:00
jtc f486d77a92 I removed the extra instructions which compute the return value in Hiroshi
Horitomo's implementation a bit too hastily.  They are required to handle
the unsigned comparison required by the standard.
1997-05-18 21:24:46 +00:00
jtc 530ba70aa3 New implementations of strcmp() and strncmp().
This code uses subb instead of cmpb to compare chars.  When they are
not equal, the function's return value is computed by sign extending
the difference.  The basic idea was contributed by Hiroshi Horitomo
<horimoto@cs-aoi.cs.sist.ac.jp> in PR #3223, but his implementation
used additional instructions to compute the return value.

Also, the series of insns used to compare one pair of characters has
been unrolled 4 times.  This helps the 680[23]0, where the cost of a
taken branch is significantly more than that of a not-taken branch.
1997-05-18 20:32:20 +00:00
jtc 8da7150a8a Fix typo 1997-05-15 16:17:20 +00:00
jtc 042efd19d5 Fixup reverse bcopy 1997-05-15 16:07:31 +00:00
jtc ca7515b48a oops, bzero -> memset 1997-05-14 18:18:44 +00:00
jtc 6391090ebf Change b{eq,ne,lt,le,gt,ge} -> j{eq,ne,lt,le,gt,ge}. 1997-05-13 19:27:21 +00:00
jtc d46e665a16 Faster versions of bcmp(), bcopy(), bzero(), and memset().
The implementation of these functions is losely based on the original
BSD code plus versions I was working on which would yeild code tuned
for a particular m68k or coldfire family cpu, code space or run time
efficiency, etc. depending on the values of various macros.

My original code was intended for use in OS-less embedded systems.
Because NetBSD can not benefit from the considerable complexity, I've
removed the extraneous preprocessor goop.  The resulting code is tuned
for the '020 - '060.  It will not function on the '000 or coldfire.
1997-05-13 19:20:58 +00:00
matthias b153a75c32 * Add correct $NetBSD$ headers everywhere.
* Remove $Id$ headers.
* Support LIB_SCCS in all files.
* Use local labels where ever possible.
* Use cpufunc.h instead of __asm__ when possible.
* Access labels with _C_LABEL and _ASM_LABEL.
* Always set errno by calling cerror.
* No more FRAME/EMARF.
* No more SVC, use SYSTRAP instead.
* Use "$Masqueraded: as XXX $" to show e.g. memcpy compiled as bcopy.
* Rewrite vfork to work even whith a "real" vfork system call.
* Make cerror take care of _REENTRANT.
1997-05-08 13:38:29 +00:00
kleink 7448a697b2 Fix typo in last commit. 1997-05-04 06:40:57 +00:00
kleink 2913a7a8a4 Consistency: distinguish between PSEUDO() and PSEUDO_NOERROR(). 1997-05-02 18:15:15 +00:00
thorpej 1f92a78982 DEFS.h is gone from here, don't copy it up to libkern. (It will be gone
from libkern soon, as well)
1997-04-25 01:04:15 +00:00
thorpej d0fed6c87d Use <machine/asm.h> 1997-04-25 00:58:41 +00:00
thorpej aa6103a33e Garbage-collect unneeded file. 1997-04-24 23:50:27 +00:00
thorpej 5ef4bdf6cf Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
1997-03-29 20:55:50 +00:00
jonathan afe4640090 Remove lint (missing END() directive) in NOERROR syscalls. 1997-03-15 08:52:16 +00:00
thorpej 952eb61ea3 Define immediate values properly for the __STDC__ preprocessor case,
from Hiroshi HORIMOTO <horimoto@cs-aoi.cs.sist.ac.jp>, PR #3222.
1997-03-08 06:32:08 +00:00
ragge 7e8687db1b ENTRY() takes two argument now, not one. 1997-02-04 18:38:21 +00:00
ragge 2663970272 ENTRY() takes two argument now, not one. 1997-02-04 18:38:17 +00:00
jtc f42ebd4897 #include <machine/asm.h> instead of "DEFS.h" 1997-01-04 03:26:18 +00:00
jtc 48030a80ae Use jCC instead of bCC, as the assembler will then use the (smaller,
faster) byte-displacement form of the instruction if the offset will
fit.  This happens to be all occurances in this case, so I could have
used bCCs.  However, a quick survey of the rest of NetBSD's m68k code
showed that jCC was used in similar cases.  I did the same to be
consistant.
1997-01-04 03:21:11 +00:00
jtc 4990f8b035 Add L prefix on local labels 1997-01-03 22:57:04 +00:00
cgd 4a6fd887f0 File which provides lint stubs for the functions defined by
machine-dependent assembly code, whose source files live in its directory.
(Not necessarily complete yet.)
1996-12-22 11:44:55 +00:00
cgd 4f47d0104d dd a bunch of files to LSRCS, which provide lint stubs for the functions
defined by machine-dependent assembly code.
1996-12-22 11:41:01 +00:00
cgd f4b5c163ef __asm rather than asm, for lint 1996-12-20 20:35:48 +00:00
jtc 11935403ef PROF -> GPROF 1996-11-30 02:31:49 +00:00
jtc 37b491a006 Add L prefix to local labels 1996-11-30 02:01:26 +00:00
jtc 0dfdcfdfde Fix typo 1996-11-19 03:15:51 +00:00
pk 3b4eca1f48 Remove reference to DEFS.h 1996-11-18 22:37:28 +00:00
pk 5ba1566c5c The code in here was just an expansion of RSYSCALL(syscall). 1996-11-18 22:35:53 +00:00
mrg 368d2cb79c update for removed DEFS.h. 1996-11-18 16:08:30 +00:00
pk 76dfffe335 Remove DEFS.h, which has been just a placeholder for a long time. 1996-11-16 20:53:13 +00:00
pk 63c8772a52 Do the `_REENTRANT' song-and-dance. 1996-11-16 20:43:07 +00:00
jtc f6f38dd61e Changed the test that determines whether or not source and destination
memory regions are "potentially overlapping" to a test that determines
that the regions are actually overlapping.  Because the code for the
overlapping case is seven instructions longer, this signifcantly
improves performance in the average case.
1996-11-12 00:50:06 +00:00
mycroft c9ec05f4b2 Treat reboot() like a normal system call. From PR 2458. 1996-11-11 13:41:08 +00:00
pk 1efc8c37b2 Flesh out the `noerror' syscall macros. 1996-11-09 19:11:17 +00:00
cgd 1ae38b6471 if _REENTRANT is defined, store the error value in (*__errno()), rather than
in errno directly, to support threads packages.
1996-11-08 00:52:46 +00:00
cgd c30a5d9842 kill "IMPORT(errno, 4)" since it is unnecessary 1996-11-08 00:51:24 +00:00
matthias 0e85514579 * Provide an ovbcopy as an alternate entrypoint for bcopy when _KERNEL is
defined.
1996-11-07 07:43:02 +00:00
matthias c6f98022c7 * Use SYSCALL_NOERROR to define SYSCALL. 1996-11-07 07:42:38 +00:00
matthias 3aa582ed1f * Delete DEFS.h from KMINCLUDES.
* Add bcopy.S, memcpy.S and memset.S to KMSRCS.
1996-11-07 07:42:29 +00:00
matthias 42f541d107 * This is no longer used. 1996-11-07 07:42:21 +00:00
jtc cbae3f00b8 Change __REENTRANT to _REENTRANT, the latter is used Solaris and I can
think of no good reason to be different.
1996-11-07 05:20:33 +00:00
jtc f1af62ef3d Changed so that when __REENTRANT is defined, cerror calls __errno()
for the address of a variable used to store the error number instead
of writing to the global errno.

In a multi-threaded program, __errno() will return a pointer to a
thread-specific variable.
1996-11-07 05:16:41 +00:00
jtc 99db2fd388 fix typo 1996-10-24 13:00:32 +00:00
jonathan a68c573b21 Rewrite from scratch. 1996-10-19 12:32:04 +00:00
jtc 41da409893 Added new macros:
SYSCALL_NOERROR(x):     Like SYSCALL except that "x" is a syscall
				that can never fail.

        RSYSCALL_NOERROR(x):    Like RSYSCALL except that "x" is a syscall
				that can never fail.

These macros simply call SYSCALL / RSYSCALL, and serve as placeholders
until an optimized implementation is done.
1996-10-19 00:25:22 +00:00
jtc 41056da8a0 Include <machine/asm.h> instead of defining our own ENTRY() macro
Changed all instances of ENTRY() to match the new calling convention
(it takes a second argument ).

Added new macros:
	SYSTRAP(x):		Expands to the code used to call syscall x.
				This is used to simplify other macros.

	SYSCALL_NOERROR(x):	Like SYSCALL except that "x" is a syscall
				that can never fail.

	RSYSCALL_NOERROR(x):	Like RSYSCALL except that "x" is a syscall
				that can never fail.
1996-10-18 19:37:48 +00:00
jtc b095d96598 Added new macros:
SYSTRAP(x):             Expands to the code used to call syscall x.
				This is used to simplify other macros.

        SYSCALL_NOERROR(x):     Like SYSCALL except that "x" is a syscall
				that can never fail.

        RSYSCALL_NOERROR(x):    Like RSYSCALL except that "x" is a syscall
				that can never fail.
1996-10-18 00:49:03 +00:00
jtc 7228c89e17 Added new macros:
SYSTRAP(x):             Expands to the code used to call syscall x.
				This is used to simplify other macros.

        SYSCALL_NOERROR(x):     Like SYSCALL except that "x" is a syscall
				that can never fail.

        RSYSCALL_NOERROR(x):    Like RSYSCALL except that "x" is a syscall
				that can never fail.
1996-10-17 22:47:14 +00:00
jtc 9d7f517756 Added new macros:
SYSTRAP(x):             Expands to the code used to call syscall x.
				This is used to simplify other macros.

        SYSCALL_NOERROR(x):     Like SYSCALL except that "x" is a syscall
				that can never fail.

        RSYSCALL_NOERROR(x):    Like RSYSCALL except that "x" is a syscall
				that can never fail.
1996-10-17 18:14:56 +00:00
cgd 55c6bc901c catch up with <machine/asm.h> changes, SYS.h changes, and the removal
of DEFS.h
1996-10-17 03:08:03 +00:00
cgd 7b8ed4c70b update for new <machine/asm.h> and generally clean up:
rename SYSCALL_NOLABEL as CALLSYS_ERROR (for consistency with CALLSYS_NOERROR
    now in asm.h), and implement it using CALLSYS_NOERROR.
reimplement SYSCALL, RSYSCALL, and PSEUDO to use the appropriate macros.
implement SYSCALL_NOERROR and RSYSCALL_NOERROR to do the same thing as
    SYSCALL and RSYSCALL, but without the error checking/handling.
1996-10-17 03:03:53 +00:00
cgd a2863e2f30 copy neither DEFS.h (it no longer exists) nor SYS.h (it's never been
necessary in libkern) to libkern any longer.
1996-10-17 02:58:18 +00:00
cgd 347f3d6114 kill this. Just include <machine/asm.h> directly 1996-10-17 02:57:08 +00:00
jonathan 5965973b0f Add missing "t9, " to "la" insn in error-return case. 1996-10-16 06:21:10 +00:00
matthias b92278aef8 The pc532 port now has string functions in assembler.
strcmp.S, strcpy.S and strlen.S are contributed by Randy Hyde.
1996-09-24 09:29:52 +00:00
matthias 9ea65c1c28 Changed KMSRCS to reflect new reality (Stringfunctions in assembler). 1996-09-24 09:18:29 +00:00
cgd 731ac8686e set the GP before accessing errno. 1996-09-17 21:16:12 +00:00
jonathan 9f3b05068c * Add Mips ABI changes for ELf shared library support.
From OpenBSD, patched into NetBSD by <bouyer@ensta.fr>.
* Include generic NetBSD/mips <mips/*.h> files, instead of old Sprite names.
1996-09-17 01:32:22 +00:00
jonathan 81b108b45f Add NetBSD RCSid headers, and change assembly-code LIBC_SCCS id tag string
from "Id:" to  "NetBSD:".
1996-09-16 18:10:35 +00:00
cgd a5adf9b9ba reload GP _before_ error check+branch 1996-09-15 18:18:26 +00:00
mark 7332aa83f6 These files contains stub functions that just called abort() are no
longer needed now we have working assembly versions.
1996-09-09 22:06:25 +00:00
mark 10756ef086 Use the new assembly files for fpgetmask(), fpsetmask(), fpgetsticky()
and fpsetsticky().
1996-09-09 22:03:24 +00:00
mark 7f53925054 Initial commit of working versions of the functions for manipulating
the floating point cumulative exception flags and exception enable masks.
These functions replace the dummy C functions that just called abort().
1996-09-09 22:00:39 +00:00
cgd 8df506ad69 user better names for local labels, as suggested by Matt Thomas and
slightly tweaked.
1996-09-09 00:57:59 +00:00
cgd 86a813e847 remove unused local label 1996-09-09 00:51:27 +00:00
mark d5df3db65b Make this with whether __STDC__ is defined or not. 1996-08-07 17:39:44 +00:00
mark 4e058e1f10 Make sure errno is always zeroed before the syscall.
Don't trash r0 on exit.
1996-08-07 17:38:16 +00:00
cgd 60bbd380f2 pull up bug fix from libkern:
>frob the mask so that only the low set bit is set, to avoid lossage.
1996-07-15 05:21:09 +00:00
cgd 2f6bb217b1 add an assembly version of ffs(). 1996-07-15 03:13:15 +00:00
jtc 16e8217f5a new implementation that simply clears most significant bit 1996-06-26 15:05:40 +00:00
jtc 290756c01b use fscalel instead of ftwotoxl/fmulx 1996-06-26 15:04:06 +00:00
mark 29811afbb6 Set r1 to -1 on exit as well as r0 otherwise syscalls returning 64 bit
results will not read -1.
1996-06-05 19:02:12 +00:00
jtc 57ceb7a883 Added ashldi3.S, ashrdi3.S, and lshrdi3.S to KMSRCS 1996-06-01 01:08:02 +00:00
jtc ff3bd4df33 m68k assembly versions of 64 bit shift functions 1996-05-31 02:05:33 +00:00
ragge 92a955a864 VAX string functions in assembler. Fixed for NetBSD by Ken Wellsch. 1996-05-19 15:57:37 +00:00
mark 46d95534b3 Updated register usage. 1996-05-12 20:52:09 +00:00
mark 62a60eda3b Updated to use definitions from machine/ieee.h 1996-05-12 20:50:54 +00:00
mark 93d4dfdfd8 Added NetBSD copyright. 1996-05-12 20:43:54 +00:00
mark ea5751f59e No longer required. The libc fabs() functions is in fabs.c. 1996-05-12 20:36:27 +00:00
mark e1c23a9306 Added new filenames. 1996-05-12 20:34:15 +00:00
mark 0814ca4b65 Initial commit of the floating point related libc functions. 1996-05-12 20:29:09 +00:00
mark ba9c4033a1 RCS Id police. 1996-05-12 20:25:39 +00:00
mark cd795b6adf Removed files from KMINCLUDES and KMSRCS. 1996-05-12 20:06:52 +00:00
mark 341c543ad0 RCS Id police. 1996-05-12 19:55:00 +00:00
mark ec673d5430 Fixed a couple of filenames. 1996-04-26 20:15:14 +00:00
cgd 734132ad28 have copy-to-libkern copy strcat.S, not strcat.c 1996-04-18 01:54:16 +00:00
cgd 44e8033a96 add assembler versions of the byte swap macros (only compile ntoh and
hton variants, not byte_swap variants, which are just included), and
copy them to libkern when appropriate.
1996-04-17 22:36:30 +00:00
phil 07df601bbf Add missing ~. (PR 2311) 1996-04-09 16:33:32 +00:00
phil bf6acfece8 Addition of fp routines. (PR 2281 from Matthias Pfaller.) 1996-04-05 00:23:05 +00:00
phil 3fac82adb2 Change the definition of __infinity on the ns32k. (PR 2283) 1996-04-04 23:45:18 +00:00
pk 7e18fd4e93 Avoid load/store doubles; jmp_buf is long aligned (Michael Eriksson; PR#2180) 1996-03-06 21:50:20 +00:00
mark 5284578745 Initial commit of the arm32 architecture dependant libc code. 1996-02-16 20:47:54 +00:00
jtc daa40d9a50 Add explicit return type 1996-02-05 04:30:51 +00:00
ragge 0aa318cd7e Changed to only include <machine/asm.h>, as the other ports. 1996-01-06 18:34:59 +00:00
jtc 723b71b52c removed :errfix; const qualifier makes it unnecessary 1995-12-28 22:37:55 +00:00
jtc 43d7567da3 Removed unused CALL macro 1995-12-28 22:35:54 +00:00
jtc 051ae6c48a Remove #include "SYS.h"; it is not needed (by normal assembly functions) 1995-12-28 21:32:25 +00:00
jtc 3f78e35cca Use <machine/asm.h> instead of DEFS.h 1995-12-28 20:03:51 +00:00
jtc 24a6d94c0d Added macros definitions for use with ANSI preprocessors. 1995-12-28 19:44:11 +00:00
jonathan 3fa4ff4647 Change mips assembly code for {,_,sig}setjmp.S to get register names
from <machine/regnum.h>, not <machine/reg.h> (which also defines structs.)
1995-12-22 10:20:51 +00:00
jonathan dd0a20c5ae Add sigsetjmp.S for mips, and add it to the makefile. 1995-12-15 01:12:36 +00:00
thorpej 915f0a8f9b New-style RCS ids. 1995-12-13 22:21:23 +00:00
thorpej 6cdbd4c23a New-style RCS ids. Use the RCSID() macro where appropriate. 1995-12-13 22:17:46 +00:00
thorpej 9573504567 New-style RCS ids. Use the RCSID() macro where appropriate. 1995-12-13 21:46:13 +00:00
thorpej 9f1ee9ae9c New-style RCS id's. In assmebly files, use the RCSID() macro where
appropriate.
1995-12-13 19:35:39 +00:00
ragge e85a7da39b Add defs to understand K&R cpp. 1995-12-12 15:21:31 +00:00
ragge 4529cdf035 Can't be sure cpp can handle x ## y. 1995-12-09 13:28:38 +00:00
ragge 34323ef19c sigsetjmp/siglongjmp was missing. Code fix by Arne H. Juul. 1995-12-09 13:26:43 +00:00
ragge c6813ecb89 Didn't take care of errors when return parameter was long long.
Bug pointed out by Arne Henrik Juul.
1995-12-04 21:52:44 +00:00
thorpej ed63b163c8 Fix a brain-o by me; if I'm going to use stuff in <machine/asm.h>, I better
darn well include it in the right place.  "Hello, McFly!"
1995-11-28 23:40:47 +00:00
thorpej ced1925e35 Fix a typo. 1995-11-28 22:50:18 +00:00
thorpej bebc2d5787 New style RCS ids, and employ the RCSID() macro. 1995-11-17 20:21:10 +00:00
jtc 4def0687f4 fix stupid typo 1995-11-17 19:32:26 +00:00
cgd 5b14175ea1 be more conservative when setting the gp 1995-11-04 00:23:04 +00:00
jtc a0ed1b8ba8 Assembly language implementation of strcat(). Derived by merging existing
strlen() and strcpy() functions.
1995-10-21 20:24:48 +00:00
jtc 8a5e159d9f Rewrite to remove instruction in inside of loop. Instead of maintaining a
count, subtract the start address from the end address.
1995-10-21 20:21:15 +00:00
cgd 7a8e7b22a1 deal properly (i hope!) with registers' upper 32 bits, when doing
32-bit division and remainder.  Sometimes, when optimizing, they could
have been different than previously expected (and could have caused
hokey results).
1995-09-30 03:09:07 +00:00
cgd 2940a41ce2 kill some now-bogus XXX's 1995-09-30 02:14:17 +00:00
jonathan 509475b244 Copy the input argument to $f0 so we handle negative inputs properly
in the tail.

Doesn't yet handle +/- inf as cleanly as other implementations.
1995-09-29 21:59:45 +00:00
cgd 473d5f491e return dest string pointer, not source string pointer! 1995-09-26 03:37:10 +00:00
jonathan 945bd69ebd The old mips modf didn't work (pr 1048). This replaces it with
a version that does work on little-endian MIPS CPUs. Not tested on
big-endian MIPS; the "li.d" may be byteorder-dependent.
1995-09-25 19:28:27 +00:00
jonathan 946af1bccf Fix an old bug, whereby ASMSTR() was used before #including "SYS.h", where
it was defined.
1995-09-25 19:21:41 +00:00
phil d995fcfdb1 correction from Matthias Pfaller. 1995-09-20 22:34:03 +00:00
pk c060b81fb7 Make PIC-safe. 1995-08-14 15:47:32 +00:00
cgd e7b36fb1b4 fast(!) bzero(), by Trevor Blackwell. 1995-08-14 04:09:23 +00:00
cgd adca5aa4fc save & restore the argument registers, too. from Trevor Blackwell 1995-08-14 02:20:07 +00:00
cgd c37c5ab530 Alpha assembly language bcopy(), written by Trevor Blackwell
<tlb@eecs.harvard.edu>.  I added support for using it as memcpy()
and memmove(), by compiling with the appropriate options.
1995-08-13 00:42:27 +00:00
cgd 2fe62c130b stubs to define things, and include the bcopy source 1995-08-13 00:40:47 +00:00
cgd a4c632dfff bcopy is now a .S, add memcpy.S and memmove.S 1995-08-13 00:35:53 +00:00
jtc ba9dbab5b4 remove single quote from comment 1995-06-29 20:42:22 +00:00
jonathan c93ec6801c *** empty log message *** 1995-06-28 02:18:21 +00:00
pk 02cf7515b7 Make PIC safe. 1995-06-20 22:45:46 +00:00
ragge 1f67145235 Converted K&R -> ansi. 1995-06-01 01:11:41 +00:00
briggs b1f67e2969 m68k sig{set,long}jmp from Henric Jungheim (uhenric@mcl.ucsb.edu) as
followup to GNATS report port-amiga/1009.
Passes regression tests.
I added a NetBSD string and changed jbra to jra.
1995-05-03 03:43:05 +00:00
phil e4748bf0ca typo: fld_... -> flt_... 1995-05-03 03:25:11 +00:00
cgd d2e405e546 functions to set FP exception masks & sticky exceptions. they abort, for now. 1995-04-29 05:10:55 +00:00
cgd 3e14f3894b get & set FP rounding direction. these actually seem to work. 1995-04-29 05:09:53 +00:00
cgd 234eecadfb add entries for the float rounding and exception functions 1995-04-29 05:09:14 +00:00
jtc 7b4ed4f858 Winning Strategies has placed this code into the Public Domain 1995-04-28 22:59:46 +00:00
jtc 390695fb9c $Id: $ -> $NetBSD: $ 1995-04-28 22:57:54 +00:00
jtc 954b796156 Winning Strategies has placed this code into the Public Domain 1995-04-28 22:53:59 +00:00
jtc a6fa20ea30 Added __flt_rounds, fp{get,set}round. 1995-04-28 21:57:00 +00:00
pk a3fa60161e Preserve the equality "x == y*(x/y)+(x%y)" for negative y; from Lon Willett. 1995-04-22 09:33:49 +00:00
ragge ce0bb6e8d2 Added libc VAX specific files. 1995-04-17 12:23:33 +00:00
jtc 53bd3d0603 Added __flt_rounds, fp{get,set}{mask,round,sticky}. 1995-04-11 18:13:49 +00:00
jtc a0c1305064 Added __flt_rounds, fp{get,set}{mask,round,sticky}. 1995-04-10 21:09:06 +00:00
mycroft ae34e2ea6e Put jtc's notice back, since these are now roughly identical. 1995-04-09 23:32:53 +00:00
mycroft ac11de32c1 Actually, bitfields are faster on the '040; optimize for it, but adjust the
fields so that the mask and sticky bits are the same.
1995-04-09 23:28:38 +00:00
mycroft 99a6cfe734 Rewrite these to use the accrued exception byte for sticky flags, and to
avoid expensive bitfield instructions.
1995-04-09 22:49:26 +00:00
mycroft 10cfe03e6d Stylistic change to match fpsetsticky(). 1995-04-09 21:55:50 +00:00
mycroft 65a1322cd9 Reverse sense of exception bits. 1995-04-09 21:55:20 +00:00
mycroft 42d9c8af6c Oops; need to use fnstenv/fldenv for this. 1995-04-09 21:00:57 +00:00
mycroft a94ab51d20 Fix typo. 1995-04-09 20:44:02 +00:00
mycroft 10b402aa60 Add fpset{mask,round,sticky}(). 1995-04-09 20:33:13 +00:00
mycroft ddbc579aa7 Another optimization. 1995-04-09 19:31:33 +00:00
mycroft 14e246dc4a Optimize. 1995-04-09 19:18:49 +00:00
jtc 907e54c9e9 ENTRY(fpgetmask) -> ENTRY(fpgetsticky) 1995-04-09 19:14:28 +00:00
jtc 1b41528de0 removed commented-out #include <machine/asm.h> 1995-04-09 19:13:26 +00:00
jtc 80bba6a1e1 Added flt_rounds, fpget{round,mask,sticky}. 1995-04-07 14:57:16 +00:00
jtc 30c05ea2b8 Added __flt_rounds(), fp{get,set}{round,mask,sticky}(). 1995-04-07 00:41:43 +00:00
mycroft ce36f636ab Separate machine dependencies. 1995-03-20 14:45:27 +00:00
mycroft 3b5d18b58e SYS_brk -> SYS_break, and other (minor) changes. 1995-03-20 14:02:03 +00:00
pk 7aa7897748 Simplify. 1995-03-11 20:28:59 +00:00
mycroft 4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
cgd 572e3f3188 don't forget inifinity.c 1995-02-25 16:24:22 +00:00
cgd ea1ca14ecb need these for new gen/Makefile 1995-02-25 16:20:12 +00:00
cgd 6929ad87a5 need these now, with new net Makefile.inc 1995-02-25 14:58:43 +00:00
cgd 3f45f31f15 strange corner cases:
(1) zero top 32 bits for 32-bit unsigned ops; 32-bit value can
		be accidentally(?) sign-extended by the compiler/assembler.
	(2) fix return value for mod's that cause traps
1995-02-25 03:09:32 +00:00
jtc e7d917e6eb Remove extra "u" constraint that caused gcc 2.6.3 not to compile this file.
Note that gcc 2.4.5, the compiler we are currently using, still compiles it
correctly after this change.
1995-02-17 06:01:47 +00:00
cgd e4f5181d15 libc support for the alpha. more functions should be written in assembler,
but that's optimization.  8-)
1995-02-10 17:49:48 +00:00
mycroft e90d9fb8a6 Make the coding style more consistent. 1995-02-08 18:33:12 +00:00
mycroft ae5740f063 size_t is unsigned. 1995-02-08 18:15:25 +00:00
mycroft d04155c293 Optimize better. 1995-02-05 14:58:44 +00:00
mellon 1afdb958f0 +Infinity for MIPS 1995-01-18 01:27:24 +00:00
pk 7530512a37 Machine dependent sig{set,long}jmp(). 1995-01-11 20:22:28 +00:00
mycroft f1b3337a0b Need to divide count by 2. 1995-01-07 03:44:55 +00:00
jtc b4bd7fea24 Replaced pops with adds. 1994-12-24 01:16:44 +00:00
jtc 26eccb0a9b Exchange offsets of "saved signal mask" and "signal mask saved" so
that the layout of sigjmp_bufs and jmp_bufs are the same (except
for the "signal mask saved" appended to the end).
1994-12-24 01:05:44 +00:00
mycroft 201fac6e3d More underscores... 1994-12-15 17:24:44 +00:00
dean a51d5c8eef underscore changes 1994-12-12 19:31:22 +00:00
phil eb5168e5dc RCS id format. 1994-12-07 04:47:59 +00:00
dean 820aec410e more underscore changes. 1994-11-28 18:56:40 +00:00
mycroft fcc40a849d If len == 0, then the result must be 0 regardless of the other arguments. 1994-11-24 16:36:35 +00:00
dean 705ee976cf Prepended underscores 1994-11-14 23:48:58 +00:00
dean add2031dcf Prepended underscores 1994-11-14 23:33:46 +00:00
mycroft 2db41a19e7 Use trap gate to enter kernel. 1994-10-26 19:49:42 +00:00