Commit Graph

831 Commits

Author SHA1 Message Date
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
phil c0356ed2a6 New file from Matthias. 1994-10-21 07:28:44 +00:00
phil db01d4c84a fix code for PIC. 1994-10-21 07:13:21 +00:00
mycroft 837f99d25c Clean up deleted files. 1994-10-06 04:38:25 +00:00
mycroft 6ba85483c3 Use bfffo rather than a slow loop. 1994-09-09 03:07:23 +00:00
mycroft af176ad58f Revert this. 1994-08-05 22:35:20 +00:00
chopps 628cf4e2c8 fixed ld.so to properly save all regs when binding PIC functions. We no
longer need the special case (PIC) code to push args when calling cerror.
1994-08-04 05:02:31 +00:00
chopps 03dbf74333 inline call to sigreturn original idea from jason downs <downsj@CSOS.ORST.EDU>
we want this to be done for everything including non-PIC code as longjmp()
does non-standard things with regs and wouldn't like it if the user replaced
the sigreturn() stub.
1994-08-04 05:00:50 +00:00
phil ffdfc8a9b1 patch from Matthias Pfaller. 1994-08-01 19:37:14 +00:00
deraadt b5aa4fdd78 set KMSRCS & friends 1994-06-30 06:46:37 +00:00
phil 535a398e2a _minbrk => minbrk 1994-06-10 22:46:14 +00:00
phil cfb1bf8cc5 quad -1 return value now done right 1994-06-02 20:39:22 +00:00
phil 6536072af7 add missing include 1994-05-27 21:56:04 +00:00
glass ae1bfcddc4 libc support for mips. libkern hooks are disabled 1994-05-24 07:12:09 +00:00
deraadt 4438ac29e5 sigaltstack 1994-05-17 23:56:24 +00:00
chopps a6a8e78548 update to use sigaltstack. 1994-05-10 08:15:57 +00:00
phil 5f26aade17 shared lib support and some clean up. 1994-05-03 20:39:52 +00:00
phil 36d933ca4f quad -1 thing. 1994-04-04 06:54:15 +00:00
mycroft ca01015e04 Clean up deleted files. 1994-04-02 05:37:06 +00:00
cgd b62b3fc050 have cerror DTRT on returns, w.r.t. quads and -1. it needs to be done
here (think of syscall(SYS_lseek,...)).  also, kill bogus lseek thang.
1994-04-02 05:37:04 +00:00
mycroft 345c8ef85c Clean up deleted files. 1994-04-02 05:36:54 +00:00
cgd da34d8a406 have cerror DTRT on returns, w.r.t. quads and -1. it needs to be done
here (think of syscall(SYS_lseek,...)).  also, kill bogus lseek thang.
1994-04-02 05:36:52 +00:00
mycroft d5dbb53fee Set d1 to -1 before cerror. 1994-03-31 18:50:58 +00:00
mycroft b3086b2299 Need to set %edx to -1 before cerror, though perhaps we should have something
more generic for this.
1994-03-31 18:38:57 +00:00
mycroft a3450ab6e8 Add a .text and .align to SYSCALL(). 1994-03-31 18:31:23 +00:00
chopps 2c8fad6100 Need for copy-to-libkern-machdep in ../../Makefile 1994-03-29 07:10:36 +00:00
jtc 98cbb217ac mem -> reg & reg->reg moves take the same time; so save a cycle by reading
the block length from the stack instead of caching it in a register.
1994-03-22 01:15:47 +00:00
mycroft 46a09934d4 Clean up deleted files. 1994-03-22 01:13:11 +00:00
mycroft b05d947874 Clean up deleted files. 1994-03-17 01:58:27 +00:00
jtc 1f29a3d910 Smaller & Faster. 1994-03-16 17:40:23 +00:00
jtc 5ac78ccb34 [hn]to[nh][sl] functions used xchgb %h1,%b1 instead of the faster (on the
i486 & i586) rorw $8, %w1.
1994-03-16 17:34:14 +00:00
jtc 915f7d4d3d Use RCSID macro. 1994-03-12 01:48:26 +00:00
jtc c95cd47ba2 Use RCSID macro for RCS ID's. 1994-03-12 01:39:55 +00:00
phil e69ab544c4 Fixed global var access to be pc relative. 1994-03-09 07:50:56 +00:00
phil 28965bf6db Removing the unnecessary includes of sys/syscall.h. 1994-03-07 23:20:38 +00:00
phil 6cea70fe75 Changing ## to /**/ for use with -traditional mode. 1994-03-04 21:10:12 +00:00
phil dde7045e0d Changing PSR_T to PSL_T. 1994-02-25 07:41:18 +00:00
phil 94303d1113 SYS.h: adding EX()
Makefile.inc: adding a cflag for a compiler that doesn't define ns32k
1994-02-25 07:40:47 +00:00
mycroft 90ff28fef4 Style police. Use `je' and `jne' only on the result of an equality test;
use `jz' and `jnz' in all other cases.
1994-02-14 20:05:52 +00:00
jtc 7f582f99d4 Fix spelling mistake: cashe -> cache. 1994-02-14 17:45:16 +00:00
jtc 01284ad877 Performance improvement from Bruce Evans.
Removes one test instruction for each character.
1994-02-14 17:44:39 +00:00
jtc f28455f783 Use "ror $8,%ax" instead of "xchg %al,%ah": equal on a i386, 1 cycle faster
on a i486, and 2 cycles faster on a iPentium.
1994-02-14 17:43:19 +00:00
pk e0bf9676e9 Insert some Position Independent Code. 1994-02-10 20:15:28 +00:00
chopps 4abc3ff245 handle __STDC__ preprocessor. 1994-02-08 02:31:55 +00:00
jtc 5cffad2151 Use movzbl, not movsbl, to zero extend for unsigned comparison.
Fix from Bruce Evans.
1994-02-07 20:57:05 +00:00
mycroft 48ae66e2eb Use machine/asm.h for ENTRY() macros. 1994-01-30 21:55:52 +00:00
mycroft f5fbffc1f4 Just use definitions from machine/asm.h. 1994-01-29 09:56:54 +00:00
jtc e2c220f94b Fix spelling error in Copyright notice 1994-01-28 20:34:33 +00:00
mycroft 1fe07f186d Separate curbrk and mincrk. 1994-01-27 15:08:03 +00:00
mycroft 3463cb4eef Trivial speedup inspired by SPARC code. 1994-01-27 15:00:49 +00:00
mycroft c25c219087 Random cleanup. 1994-01-27 14:45:52 +00:00
mycroft ef980f76fe One last tweak. 1994-01-27 06:53:25 +00:00
mycroft 22e614ce10 Random cleanup. 1994-01-27 06:34:59 +00:00
mycroft 9c8862a970 Pedanticism. 1994-01-27 06:34:02 +00:00
mycroft 3cf1bd9939 SYS_brk --> SYS_break. Where's my axe? 1994-01-27 04:30:34 +00:00
mycroft 17b2a501cd Stylistic changes. 1994-01-27 04:16:50 +00:00
mycroft 0496df7164 More stylistic changes. 1994-01-27 04:14:50 +00:00
mycroft e84d8b28f3 Stylistic changes. 1994-01-27 04:10:20 +00:00
mycroft b6b0ec3424 Fix bug jtc introduced. 1994-01-27 04:07:13 +00:00
jtc 7835a85a78 Optimization tweaks:
Use testl %reg,%reg instead of cmpl $0,%reg
Use xorl  %reg,%reg instead of movl $0,%reg
1994-01-24 19:24:36 +00:00
deraadt 6fcc6b7f39 ## and /**/ 1994-01-23 07:26:16 +00:00
pk 939f7033c5 Make it work with old-style (/usr/bin) cpp 1994-01-15 20:19:43 +00:00
pk 39c0326588 PIC_*() macros moved to <machine/asm.h> 1994-01-07 00:48:22 +00:00
jtc 0e09f939b2 Fix bug #24 by renaming _logname_valid to __logname_valid. 1993-12-18 01:02:47 +00:00
mycroft cc81da7447 Shorten setup for longword operations a little. 1993-12-10 10:51:11 +00:00
mycroft dca61f6f90 Share code. 1993-12-10 10:45:18 +00:00
jtc a9e5cc4f83 No reason these can't share code... 1993-12-08 22:10:14 +00:00
mycroft cd8e1bd162 No reason these can't share code... 1993-12-08 21:01:56 +00:00
pk 230b816542 Use %hi operator when fiddling a bit high... 1993-12-08 18:33:43 +00:00
pk ca6c5f72ae Fix location of sources -> arch/sparc 1993-12-08 13:30:16 +00:00
pk d1639c316e Use sigstack() in stead of sigaltstack() until we have a sigaltstack()
in the kernel.
1993-12-08 11:25:12 +00:00
mycroft 1f063d60c0 Fix a bug, and speed up by a few cycles. 1993-12-07 06:58:35 +00:00
mycroft 2c216884a8 Fix typo. 1993-12-07 03:28:53 +00:00
mycroft 6103136f3b Fix typo. 1993-12-07 02:05:27 +00:00
mycroft ca4372787c Fix a couple of nits. 1993-12-06 23:45:48 +00:00
pk f3f7594fc9 Use PIC_PLT for error returns.
Correct operand order in accessing `minbrk' and `curbrk'.
1993-12-06 23:28:08 +00:00
pk 417e7a6fff Remove spurious PIC_EPILOGUE and PIC_GOTOFF macros. 1993-12-06 23:27:04 +00:00
pk 3581f42619 Use PIC_PLT() macro for error returns 1993-12-06 23:26:04 +00:00
mycroft 50ee78b26f Assembler version. 1993-12-06 23:16:05 +00:00
mycroft 8449f5103c More assembler code. 1993-12-06 23:08:46 +00:00
mycroft a0f51b3da9 Fudged an addressing mode. 1993-12-06 22:51:41 +00:00
mycroft ff88d330ae Initially cloned from bcmp.S. 1993-12-06 22:37:15 +00:00
mycroft b5c51ee600 #define the appropriate symbol and #include bcopy.S. 1993-12-06 22:13:08 +00:00
mycroft 87a251f506 Add code for memcpy() and memmove(). 1993-12-06 22:12:04 +00:00
mycroft 04f8c8eac7 Clean up deleted files. 1993-12-05 02:20:10 +00:00
cgd 08ee36190d get pc532 moved into ns32k; that's is MACHINE_ARCH 1993-12-05 02:20:00 +00:00
cgd 70182749fb specify which files to copy into libkern 1993-12-05 01:46:02 +00:00
mycroft 364df3ec6d Clean up deleted files. 1993-12-05 01:37:01 +00:00
cgd 30dc89704d split up the {ntoh,hton}[ls] functions 1993-12-05 01:36:46 +00:00
briggs 0db5dab189 Ovfork doesn't get .even any other way, so we must explicitly give it
one.
1993-12-04 18:59:42 +00:00
cgd 0ada107897 update for .S and MACHINE_ARCH 1993-12-04 02:33:35 +00:00
mycroft e3b636c256 Clean up deleted files. 1993-12-04 02:32:10 +00:00
mycroft 448e711c78 Clean up deleted files. 1993-12-04 01:28:42 +00:00
mycroft 577b1f1315 Clean up deleted files. 1993-12-04 01:27:46 +00:00
paulus e290fb8f79 Changed beq's to jeq's, because (a) the jeq gets optimized to a short branch,
and (b) gas currently assembles the beq's wrongly.
1993-11-30 00:45:15 +00:00
paulus 75d4ac9791 Machine-dependent files for generic m68k machines (copied from hp300),
modified to support shared libraries.
1993-11-25 23:39:23 +00:00
paulus 5f70961885 Machine-dependent files for generic m68k machines (copied from hp300) 1993-11-25 23:36:47 +00:00
paulus a1eb25471d Machine-dependent files for generic m68k machines, with shared library support. 1993-11-25 23:34:07 +00:00
jtc 32d96ccd3c Remove special case for len == 0 --- It wasn't needed. By dropping the
conditional, the general case (where we are actually swapping bytes) is
a tiny bit faster.
1993-11-25 01:18:24 +00:00
cgd 2be44f5352 copy SYS.h and DEFS.h, too. 1993-11-05 22:44:00 +00:00
jtc 4418616857 Move the old berkeley sccs id into the header comment like it is done
for other source files.
1993-10-21 02:19:25 +00:00
jtc 6be8b83abc Gcc helper functions should still use the ENTRY() macro so they will be
show up in profiled code.  (The gcc helper functions in the other ports
do this allready).
1993-10-21 02:03:37 +00:00
jtc 34d1aad0c1 Use PIC_PLT macro with the function calls (as was done with setjmp()). 1993-10-21 01:59:44 +00:00
jtc 79591d04bc So many files in arch/i386 have been changed I might as well run my
remove unecessary trailing whitespace script.
1993-10-21 01:48:14 +00:00
jtc 823c36577c Change instances of LIBC_RCS back to LIBC_SCCS. If we are going to change
th LIBC_RCS, the entire source tree should be updated at once.
Remove && !defined(lint) from conditionals around rcs id's.  No one is
ever going to pass a *.s file through lint.
1993-10-21 01:39:55 +00:00
jtc 97ad548bc0 Replaced instructions with immediate operands with compatible alternatives
saving a few bytes while the cycle count remains the same --- could
actually be faster, depending on the cache, prefetch queue, etc.
1993-10-20 18:50:15 +00:00
jtc 6802033480 sigsetjmp() for the i386. 1993-10-19 20:44:00 +00:00
deraadt 78942d40e6 First cut; not sure if it's right. Very like it is, because it's
the same as the m68k versions..
1993-10-19 08:17:20 +00:00
jtc 39ff8227a8 Makefile.inc, basically a place to put KMSRC definition 1993-10-15 01:24:47 +00:00
jtc 479a1c33c9 Provide i386 versions of div and ldiv -- they are simpler than the C versions,
since the idiv instruction does the right thing wrt truncating towards zero.
1993-10-08 23:57:13 +00:00
jtc e09d2f42db Use "testb %cl,%cl" instead of "cmpb $0,%cl".
This saves three cycles per character, and reduces the size of the
function by eight bytes (the loop is unrolled eight times).
Thanks to davidg for pointing this out.
1993-10-08 01:25:51 +00:00
jtc b3f9f8f6f4 Provide an assembly language version of labs().
Since ints and longs are both 32 bits on a i386, we could alias abs()
and labs() together as mycroft did with memmove()/memcpy(), but I'm
waiting on an interpretation ruling to see if it is legal.
1993-10-08 00:01:04 +00:00
cgd 0b9f50897e make an arch directory in libc, and move all machine dirs into it 1993-10-07 00:17:24 +00:00