Commit Graph

349 Commits

Author SHA1 Message Date
pk
fabda9a224 Sync with libc 1999-03-05 09:18:32 +00:00
chs
5e59fee53a use RODATA(__ffstab) instead of ENTRY().
this makes profiling kernels work on the sparc.
1999-02-24 16:27:01 +00:00
chs
b2546175a6 don't list any *.S files in SRCS multiple times, once is enough. 1999-02-24 16:25:43 +00:00
simonb
faca98eb71 Add memset.S instead of memset.c, and remove __main.c. 1999-02-23 11:06:38 +00:00
hubertf
56f2d188fc RCS ID police 1999-02-15 04:54:34 +00:00
matthias
437e1d2f00 sync with libc version 1999-02-01 21:35:36 +00:00
jonathan
9bd63525f8 memset, derived from old kernel bcopy.
Uses negative register offsets in memory writes, to avoid r4k silicon bugs.
1999-01-28 03:08:57 +00:00
mycroft
ef50bbf452 Sync with libc. 1999-01-22 11:01:32 +00:00
mycroft
6b11ebb854 Sync with libc. 1999-01-22 09:17:47 +00:00
ragge
482b6ca70d #include <machine/asm.h> instead of (nonexistent) "DEFS.h". 1999-01-19 22:54:53 +00:00
castor
2e0007e017 Make bswap32 be the "real" entrypoint and htonl, ntohl aliases. 1999-01-18 01:24:55 +00:00
thorpej
e2a60769a0 Fix an unterminated macro call. 1999-01-15 20:34:31 +00:00
bouyer
dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
castor
cfdc52bfa9 Break out utility functions from locore.S 1999-01-15 08:44:27 +00:00
eeh
a5f6f68714 Fixup ffstab naming conflict between locore.s, libkern/arch/sparc/ffs.S and
libkern/arch/sparc64/ffs.S
1998-11-26 19:32:10 +00:00
eeh
8cc6435bf8 Forgot to specify a label for the branch target. Oops. 1998-11-26 19:08:21 +00:00
jonathan
008816ea4f Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>.
Adds (most) support for ARC platform to port-independent mips code.

Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by
comparison to the OpenBSD 2.1 codebase of Soda's ARC port.

Open issues:
 * Still no support for r4600 or mipsIV CPUs with two-way L1 cache.
   Code derived from Per Fogelstrom's OpenBSD source  doesn't work
   on mips3 pmaxes with L2 cache.

 * Still some port-specific  #ifdefs, for interrupt enable and
   pmax L2 cache-size.  Needs more thought, but overlaps with
   work-in-progress by Tohru and Tsubai on spl()s and related stuff.
1998-09-11 16:46:31 +00:00
eeh
26d2d906c7 Some more 64-bit cleanup. Now everything compiles. 1998-08-30 15:32:16 +00:00
eeh
d581aadc3e Some more 64-bit-ification. 1998-08-29 18:16:56 +00:00
tls
8a146cd406 update for b->mem change in sys/kern; now we need memcmp and memset, not just memchr. AFAIK, memcpy is provided by the compiler or by locore on this platform. 1998-08-20 17:56:22 +00:00
mycroft
cc8a78e783 Assign my copyrights to TNF. 1998-08-15 04:42:42 +00:00
mycroft
df9baf2311 Assign copyrights to TNF. 1998-08-15 03:51:30 +00:00
mycroft
6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
ragge
8fdb1c8ebe Lots of kernlib functions rewritten as inline macros. 1998-08-08 11:18:32 +00:00
perry
4d4aa090e9 add memcmp.c 1998-08-04 03:40:43 +00:00
perry
16039920c8 remove memcpy.c -- I forgot this gets built anyway 1998-08-04 03:40:12 +00:00
perry
612c53d05f add memcmp.c 1998-08-04 03:39:49 +00:00
perry
0b8f8ffda2 remove memmove.c -- I forgot this gets built anyway 1998-08-04 03:38:28 +00:00
perry
58af7a969a add memcmp.c memcpy.c memmove.c 1998-08-04 03:37:03 +00:00
perry
a611b37e29 add memcmp.S memmove.S 1998-08-04 03:35:59 +00:00
perry
6ee9cbf929 add memcmp.S memmove.S 1998-08-04 03:30:30 +00:00
perry
5ede68eddb add memcmp.c memmove.S 1998-08-04 03:17:39 +00:00
perry
e0f41ebe62 add memmove.S 1998-08-04 03:16:19 +00:00
perry
542f66b672 add memmove.S 1998-08-04 01:41:26 +00:00
perry
6ea886d397 add memcmp.S 1998-08-04 01:40:57 +00:00
perry
a8627d22ba Fix formatting, and add memmove.S 1998-08-04 01:14:36 +00:00
eeh
9979577545 Second half of the sparc64 stuff. 1998-06-20 05:18:14 +00:00
matthias
6511ae105e bugfix from libc. 1998-05-28 22:07:59 +00:00
matthias
c22871bec0 refresh from libc. 1998-05-27 20:07:48 +00:00
pk
4d48eb7a4b Sync with libc. 1998-05-07 22:15:23 +00:00
matthias
35d6e9297e Prepare assembler source files for -mrtd kernels. 1998-04-03 22:59:28 +00:00
mycroft
a81d3c2db8 Fix omission in last. 1998-02-22 15:24:08 +00:00
mycroft
bf94e4e2cd Copy up. 1998-02-22 15:11:28 +00:00
mycroft
8a66afbcba Move random() from kernel. 1998-02-22 09:33:27 +00:00
mycroft
4477c62148 Add various things from libc. 1998-02-22 09:08:34 +00:00
mycroft
5ba0f1cae2 Move random.S from kernel. 1998-02-22 08:53:33 +00:00
mycroft
0625ac391b Use the new .S files. 1998-02-22 08:45:04 +00:00
mycroft
799bd513de Sync with libc, and add random.S. 1998-02-22 08:43:27 +00:00
mycroft
52541a2efb Move random.S from arch/i386/i386. 1998-02-22 08:14:56 +00:00
mycroft
28edc3d334 Fix typo. 1998-02-22 07:33:11 +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
b65caec4a0 Add strchr.S and strrchr.S. 1998-02-22 07:03:08 +00:00
mycroft
8c0dc3f1e8 Add these as well. 1998-02-22 07:01:44 +00:00
mycroft
196103b90b Don't list bcopy.c here, since we only want memcpy() and not bcopy().
XXX What a kluge!
1998-02-22 06:57:31 +00:00
mycroft
6e8ffbdd58 Use the assembler version of memcpy(). 1998-02-22 06:49:57 +00:00
mycroft
354ce440d2 We need memcpy(). 1998-02-22 06:44:44 +00:00
mycroft
943421399e Sync with libc. 1998-02-22 06:40:17 +00:00
mycroft
ab7671a45e Add some missing things. 1998-02-22 06:08:37 +00:00
mycroft
e1a2c2904a Pull in [hn]to[nh][ls].c. 1998-02-22 05:54:54 +00:00
mrg
1a8c7604f4 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly.  :-)
1998-02-05 07:59:28 +00:00
cgd
4369378a6c add rules like those in libc to build strchr() and strrchr() (the latter
is being added to libkern by this commit).  remove strchr.c from
archs' Makefile.inc files to go along with this.  (If an arch has
a .S version, it should be copied down and added to the apropriate
Makefile.inc.)
1998-01-21 21:23:18 +00:00
perry
24920eefb1 RCSID Police. 1998-01-05 19:40:40 +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
chuck
cf924e3bc0 add memchr() to libkern 1997-10-24 15:32:24 +00:00
mark
680595e7c3 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.
1997-10-17 18:35:19 +00:00
lukem
7656b49be6 rcsid fascism 1997-10-13 11:55:15 +00:00
mark
4428e19e76 Updated with new files from libc. 1997-10-12 21:26:37 +00:00
mark
ce8b7a418a Copy files over from libc. 1997-10-12 21:24:00 +00:00
mark
8121735fb0 This file is replaced by divsi3.S 1997-10-12 21:23:36 +00:00
bouyer
7a337eca27 Ops, forgot to 'cvs add' theses. Pointed out by enami tsugutomo. 1997-10-12 13:27:59 +00:00
scottr
c49762b3d3 Implement assembly byte-swap functions. 1997-10-11 04:28:40 +00:00
bouyer
6ab3092b11 Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
jtc
b92f5604b7 sync with libc 1997-06-20 02:08:04 +00:00
jtc
94815a35ee Sync with libc 1997-05-15 16:20:54 +00:00
jtc
f99d42b623 Sync with libc. 1997-05-13 19:32:01 +00:00
cgd
d867ed50cc add strchr() to libkern. strchr.c copied from libc's "index.c", but with
appropriate definitions so that it'll build strchr(), and so that it builds
correctly in libkern (needed to #define NULL).
1997-01-18 02:33:38 +00:00
thorpej
15dc36463a We use C flavors of the quad support functions in libkern. 1996-12-03 19:35:42 +00:00
jtc
6621382048 Sync with libc 1996-11-30 02:06:27 +00:00
pk
87e006459e sync with libc source: remove DEFS.h 1996-11-18 22:50:28 +00:00
pk
fa80fdb243 Remove `chmod 444's. 1996-11-18 22:48:59 +00:00
matthias
eb8718eafb * Pull up files from lib/libc/arch/ns32/string.
* DEFS.h and setjmp.S are no longer in use.
1996-11-07 07:36:05 +00:00
cgd
e6d0f7439f copy down changes from libc 1996-10-17 04:26:20 +00:00
ws
5804d3f648 PowerPC port 1996-09-30 16:34:14 +00:00
cgd
f4888b894a label changes, pulled down from libc 1996-09-26 23:04:30 +00:00
thorpej
0794023752 RCS id police. 1996-08-30 17:43:56 +00:00
cgd
bdbfa48c0b Add machine-independent assertion-checking support. macros are:
assert()	which always does assertion checking
			unless "NDEBUG" is defined.

	KASSERT()	which does assertion checking if DIAGNOSTIC
			is defined.

	KDASSERT()	which does assertion checking if DEBUG is
			define.  This macro exists for compatibility
			with existing ports' assertion checking macros.
			(Assertion checking is not typically an
			"expensive" operation, and DIAGNOSTIC should be
			used for inexpensive consistency checks.)
1996-08-27 00:44:20 +00:00
cgd
fb6d196140 fix up for new libkern path specs 1996-08-21 19:18:47 +00:00
cgd
a906c164d2 frob the mask so that only the low set bit is set, to avoid lossage. 1996-07-15 05:20:19 +00:00
cgd
3f38b4d7ad add an assembly version of ffs(), copied down from libc 1996-07-15 03:13:41 +00:00
cgd
352d972c94 locc() is unused. Remove it from the machine-independent kernel interface. 1996-06-10 15:33:33 +00:00
mark
d4fcd14ee3 No longer needed. The netbsd config for gcc/arm has been fixed to generate
correct profiling code.
1996-04-26 20:07:43 +00:00
mark
39b959c810 Added copyright message. 1996-04-26 20:05:28 +00:00
christos
0ca6a87952 Remove memset.c; it is not currently used, and .c files should belong in
the MI portion of libkern. When/if we move to use mem* routines in the kernel
we can add it to the MI portion/write a memset.s.
1996-04-23 23:05:22 +00:00
cgd
1813cc71d0 don't include user-land headers in libkern files when compiling for
the kernel.  memset.c does not belong here.  it either belongs in
the MI libkern directory, or does not belong in libkern at all.
1996-04-18 02:19:07 +00:00
cgd
a5dc646be0 use assembly version of strcat (copied down from libc) 1996-04-18 01:53:04 +00:00
cgd
eccf43e127 files copied from libc 1996-04-17 22:46:34 +00:00
cgd
e70b1375c9 add strncasecmp.c to ports' libkern Makefile.inc's. When adding a new
source file to libkern, it should be added to _ALL_ ports makefiles if
it is machine-independent and used by machine-independent code (in
this case adosfs).  (There are several arguments that say that
strncasecmp should not be in libkern at all, and i think they're
good ones, but as long as ADOSFS needs it to link, it has to be here
for all architectures.)
1996-04-13 01:17:27 +00:00
scottr
e494b8793f Back out previous change. 1996-03-11 05:46:51 +00:00
scottr
c31eae0510 Back out previous change. 1996-03-11 05:31:59 +00:00
thorpej
e142a2195f Provide a memset() for the i386 (assembly version), and move memset.c
out into the libkern proper in case other ports want to use it.
i386 kernels with COMPAT_LINUX should compile now.
1996-03-11 03:19:37 +00:00
christos
70552d3392 Add strncasecmp.c; extracted from ADOSFS adlookup.c. 1996-02-06 21:22:00 +00:00
mark
f56b429c95 Initial commit of the NetBSD/arm32 port. 1996-01-31 23:44:43 +00:00
jtc
0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
cgd
6b49a2ceed copy from libkern 1995-10-20 01:16:02 +00:00
cgd
35742ffe0a use NetBSD RCS id format. use bzero.S, not bzerro.c 1995-10-20 01:15:37 +00:00
cgd
d7a207fd49 update from libc 1995-10-20 00:53:28 +00:00
mycroft
9782971b02 Remove setjmp() and ffs(). 1995-10-07 22:26:53 +00:00
mycroft
120925e7c3 Remove bzero.S and setjmp.S, as these functions are in locore. 1995-10-07 09:52:48 +00:00
mycroft
a09832e624 Update from libc. 1995-10-07 09:26:14 +00:00
cgd
8357feb486 update dependencies to deal with the alpha 1995-06-28 02:59:12 +00:00
pk
1778fc8e4a eserve the equality "x == y*(x/y)+(x%y)" for negative y; from Lon Willett. 1995-04-22 09:37:39 +00:00
ragge
dfcfbc4f03 Added VAX specific makefile. (In libkern/arch/vax) 1995-04-18 21:59:46 +00:00
cgd
b5d8c76eb5 copy down from libc. 1995-03-03 01:14:11 +00:00
mycroft
4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
cgd
e133097a8e Alpha support from libc. 1995-02-13 21:49:11 +00:00
mycroft
e9b92ad027 Sync with libc. 1995-02-08 18:35:50 +00:00
mycroft
c318fc2e81 Sync with libc. 1995-02-05 15:06:43 +00:00
cgd
aa9eacdd59 new RCS ID format. 1994-10-26 06:39:02 +00:00
deraadt
9d977e669b gcc automatically calls memset in certain situations. 1994-09-15 01:46:37 +00:00
mycroft
6ba85483c3 Use bfffo rather than a slow loop. 1994-09-09 03:07:23 +00:00
deraadt
983c6f33c3 auto-copied from libc 1994-06-30 06:52:54 +00:00
deraadt
b13e4ea39a find divrem.m4 automatically 1994-06-30 06:51:51 +00:00
glass
48967285da fix typo: scan.c -> scanc.c 1994-06-15 15:27:42 +00:00
glass
78bf21476b works in bootstrapping caseee 1994-06-03 03:44:41 +00:00
chopps
7bb230219d copied over so lib/libc/arch not needed to build kernel. 1994-03-29 07:14:42 +00:00
mycroft
fcb12cd74d Much faster on 486s and Pentiums; a little slower on 386s. 1994-03-23 08:49:46 +00:00
deraadt
21bd5c11f4 delete some unneeded things 1994-03-22 19:17:22 +00:00
mycroft
e50e5bc84b Minor speedup. 1994-02-24 06:58:36 +00:00
mycroft
2f681356c4 Minutely faster. 1994-02-24 01:32:14 +00:00
mycroft
afe588b9d2 Assembler versions of these. 1994-02-24 00:41:00 +00:00
mycroft
451fbfb366 Update from libc. 1994-02-15 13:42:30 +00:00
jtc
5235180083 Fix spelling error in Copyright notice 1994-01-28 23:43:26 +00:00
pk
ccbb67e8c3 Find source in the right places. 1994-01-15 19:48:56 +00:00
cgd
fdc1a28735 use .S 1993-12-05 01:52:27 +00:00
cgd
30dc89704d split up the {ntoh,hton}[ls] functions 1993-12-05 01:36:46 +00:00
cgd
1e98b770b2 use .S files 1993-12-04 05:21:29 +00:00
cgd
5d996b5fbb change to use MACHINE_ARCH and update from libc 1993-12-04 03:08:13 +00:00
cgd
879130b794 change to use MACHINE_ARCH and update from libc 1993-12-04 03:05:16 +00:00
briggs
606d45ee4a Move the SRCS from hp300 over to here, changing ffs.c to ffs.s.
Am I missing something obvious in doing this?  This makes the
${ARCH}/Makefile.inc for 68k able to just set ARCH=m68k.
1993-11-29 05:29:51 +00:00
cgd
e685fd393f added files copied in from libc. version numbers are screwed,
but are screwed for the rest of libkern's files, anyway.
1993-11-05 22:40:48 +00:00
jtc
9c896370ee Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
1993-10-27 22:00:42 +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
cgd
2193c056b8 add strncmp to anything 1993-10-15 08:41:12 +00:00
cgd
acbf63a86b add __main() 1993-10-15 06:20:46 +00:00
cgd
2d4295eb29 move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
1993-10-13 05:40:23 +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