Commit Graph

582 Commits

Author SHA1 Message Date
christos
4d4de54f5f Make the sparc work again; some work from jason, some from me. 1998-09-29 05:55:48 +00:00
thorpej
2af42e072f Signal changes for Alpha. 1998-09-29 03:01:37 +00:00
thorpej
adb7eb514d sigaction() that calls the compat syscall (jonathan forgot to commit this). 1998-09-28 19:01:28 +00:00
jonathan
0c47ce2246 mips libc stubs for sig*14 signal API (128bit sigset_t),
plus backward-compatibility  for the old 1.3 libc entrypoints.
1998-09-27 22:59:39 +00:00
christos
2e3d142a37 Add a compat sigaction. 1998-09-26 23:57:15 +00:00
christos
6bacaab8be Fix signal mess. Change old syscalls to use the right signal numbers
and add a versioned copy of sigreturn (from Jason)
1998-09-26 23:49:34 +00:00
christos
ccf1e97b10 Add setjmp versioned bits (from Jason).
XXX: Someone needs to make setjmp/longjmp save and restore the signal stack!
1998-09-26 23:46:01 +00:00
thorpej
3d3a3c610c Back out previous change; it was incorrect. 1998-09-14 00:57:51 +00:00
eeh
83116b3d6b Libc fixes, mostly to work around the new signal stuff. 1998-09-13 23:54:44 +00:00
eeh
07c6aca8ad Bring in definition for stack BIAS. 1998-09-12 16:54:14 +00:00
eeh
cf009bcc7a Add sparc64-specific libc. 1998-09-11 04:56:19 +00:00
mycroft
2142384565 Assign my copyrights to TNF. 1998-08-15 09:36:04 +00:00
tsubai
7992f14b3a s/asm/__asm/ 1998-08-09 12:43:33 +00:00
perry
c6300798a1 add memcmp.S 1998-08-04 03:35:32 +00:00
mark
ec628f2561 Update for machine/setjmp.h change (JMPBUF* -> _JB*) 1998-08-04 02:03:08 +00:00
perry
2cc5ae3efa add memcmp.S to libkern. 1998-08-04 01:35:57 +00:00
perry
73e9c49b2b add memmove.S to libkern. 1998-08-04 01:24:59 +00:00
mycroft
982e920022 const poisoning. 1998-07-26 14:13:00 +00:00
jonathan
7e49f8ba22 From Arne Juul <arnej@math.ntnu.no>:
Explicilty reload the mips-ABIcall GOT/$gp  in cerror().
  cerror() gets called from outside libc (e.g., from libposix's rename(),
  and if we don't load $t9, cerror() makes wild references using
  the libposix $gp and coredumps.
1998-07-25 03:01:45 +00:00
tsubai
2d13e5da31 Add #include <sys/syscall.h> for "SYS_sigprocmask". 1998-07-02 18:40:24 +00:00
thorpej
d5bc168ba9 Use _C_LABEL() to generate C labels. 1998-07-01 06:44:14 +00:00
thorpej
0c3c6dabb8 Use _C_LABEL() to generate C labels. 1998-07-01 06:24:25 +00:00
tv
131c70b10d Change immediate label references to _C_LABEL(). 1998-07-01 02:16:27 +00:00
thorpej
0b12e1c944 Generate C labels with _C_LABEL(). 1998-07-01 01:28:48 +00:00
christos
49278ef701 s/inline/__inline/ so that lint works. 1998-06-28 20:19:30 +00:00
matthias
f7d0254c4b Fix all the bugs I introduced with my last fix... 1998-05-28 22:07:22 +00:00
simonb
c578a514a2 Remove single ' from comment to keep cross-assemblers happy; fixes PR 5451. 1998-05-28 13:57:12 +00:00
matthias
4c27158c66 Fix a bug in bug in bcopy/memcpy/memmove that would manifest when
(dst-src < 4) and (dst < src). Credits for finding and diagnosing
this bug go to Ian Dall.
1998-05-27 20:05:43 +00:00
ws
a6bbe90471 Use asm.h defines for labels 1998-05-25 15:37:20 +00:00
ws
b1009f3dc5 Use asm.h defines for symbols 1998-05-25 15:35:06 +00:00
ws
c523f0152f Remove long obsolete copyright (should have been done before initial import) 1998-05-25 15:19:10 +00:00
cgd
5b0ac13bc6 ne64 is not used. #if 0 out its definition, so that its 'static inline'
ness and the fact that it is unused won't combine to cause a warning.
1998-04-24 18:46:53 +00:00
matthias
425a6f2c60 KKENTRY -> KENTRY, fallout from my -mrtd experiments. 1998-04-21 19:57:39 +00:00
matthias
b034fd9de6 shutdown is using exect and what we had here made shutdown fail with
a BPT/Trace trap.
1998-04-19 20:14:18 +00:00
matthias
373680d979 Prepare assembler source for -mrtd kernels. 1998-04-03 22:58:08 +00:00
perry
56c01cbd82 change second parm of sysarch() from char * to void * 1998-02-25 21:24:56 +00:00
pk
278a44a644 Need to use PIC_PROLOGUE() since `__ffstab' is now a global. 1998-02-24 22:06:10 +00:00
mycroft
a81d3c2db8 Fix omission in last. 1998-02-22 15:24:08 +00:00
mycroft
a51494cbe3 Expose ffstab as __ffstab. 1998-02-22 15:11:01 +00:00
mycroft
f948529426 Add some more items to KMSRCS. 1998-02-22 09:04:50 +00:00
mycroft
0b15d23837 Copy more files to libkern. 1998-02-22 08:40:37 +00:00
mycroft
cf02652abc And rindex.S... 1998-02-22 07:21:32 +00:00
mycroft
6b7f2d0f92 And index.S... 1998-02-22 07:20:24 +00:00
mycroft
c8cf6620bb Copy strchr.S and strrchr.S as well. 1998-02-22 07:01:11 +00:00
mycroft
e1e9dd27c5 Copy up bcopy.S and memcpy.S. 1998-02-22 06:46:55 +00:00
mycroft
96b33a9cda Copy more files to libkern. 1998-02-22 06:37:54 +00:00
thorpej
4a374620e0 Fix exect(3). 1998-02-03 19:34:50 +00:00
thorpej
91969428f9 Clean up _SYSCALL_NOERROR() a bit. 1998-02-03 19:33:58 +00:00
mycroft
cb5f577939 Need float.h for prototypes. 1998-02-03 01:30:43 +00:00
cgd
ec1f804952 add back RCS Id which I accidentally deleted. 1998-01-22 20:05:20 +00:00
cgd
193c1d2147 (1) make sure targets are built in a parallel-make-safe way
(2) make sure softfloat.po is compiled with the right profiling
    flag (-pg), and softfloat.so is compiled with the right
    PIC flags (${CPICFLAGS}).
1998-01-22 07:17:16 +00:00
cgd
ecb2fd7aad define INLINE to be "static inline" rather than "extern inline", so that
if this code is compiled without optimization the not-inlined functions
will be included (statically) in the object files, and now show up
as undefined references.
1998-01-22 07:14:17 +00:00
perry
a3a46419b5 RCS Id Police. 1998-01-09 03:45:03 +00:00
perry
4e067afcb1 RCS Id Police. 1998-01-09 03:15:09 +00:00
perry
fbdb247796 RCSID Police. 1998-01-05 23:54:03 +00:00
thorpej
bedc7b48df Add syscall stubs for __vfork14(). These are basically copies of Ovfork.S
with the syscall numbers changed.

Since 4.4BSD vfork(2) did not share address space, Ovfork.S could be changed
to be identical to fork.S (modulo syscall numbers).  __vfork14.S, however,
needs to remain separate since with a shared address space, the stub needs to
pre-decrement the stack and do an indirect jump to the return address, so that
the shared stackframe is still there when the parent returns.  (Obviously,
this does not apply to systems which to not build stackframes on leaf calls.)
1998-01-04 20:58:08 +00:00
matthias
8c90828457 Introduce ASSRCS. This is set to all the ns32k md assembler source files.
arch/ns32k/Makefile sets SRCS, LSRCS and DPSRCS from this.
1997-12-07 00:19:16 +00:00
matthias
1469ba0767 No longer in use. 1997-12-07 00:17:53 +00:00
thorpej
f22bd47b81 Use __sigaltstack14(), not sigaltstack(). 1997-12-05 02:09:49 +00:00
thorpej
6efbfe5247 Make setjmp() work again after the changes to sigaltstack(). 1997-12-05 02:06:27 +00:00
tv
eb96023de7 Quick fix to repair runtime link problem with libc - "SYS_sigaltstack
undefined".  The sigaltstack structure layout didn't actually change on
the sparc, so just change the syscall name.  A better fix would probably
be to replace the direct system call with a function call to the libc
sigaltstack().
1997-12-04 21:00:18 +00:00
mark
0053558a70 Fix a glaring bug in the assembly stubs for memcpy() and memmove() that
meant the src address was being returned rather than the dst address.
Spotted by Chris Demetriou.
1997-11-22 03:27:12 +00:00
thorpej
cb96bff387 LintAlpha* have been removed. 1997-11-08 00:40:08 +00:00
cgd
435c105d59 lint stubs for assembly routines. 1997-11-05 23:37:06 +00:00
cgd
4d7e773266 A foolish consistency... gen, net, and string all get MD sources
specified by including a Makefile.inc from the appropriate MD directory.
stdlib doesn't do that, but there's no reason that it shouldn't (and
it'd be nice to eliminate the 'if's from the MI stdlib Makefile.inc).
1997-11-05 22:59:37 +00:00
cgd
0f191bd9d2 remove these, they are no longer necessary or appropriate 1997-11-05 22:33:28 +00:00
is
eae488f7bb Fix typo, which resulted in always compiling the M68040/M68060-version
of ldexp.
1997-11-04 15:23:23 +00:00
phil
2c764d53fa Make it compile with WARNS=1. (I'm not sure where the prototype really
should be, but it does now compile.)
1997-10-27 05:28:46 +00:00
phil
d27ec1e50a Get it compiling again in the WARNS=1 environment. 1997-10-24 06:26:39 +00:00
lukem
97ba901942 use CPPFLAGS instead of CFLAGS, ${COMPILE.c} instead of ${CC} ... -c 1997-10-22 23:21:46 +00:00
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