Commit Graph

763 Commits

Author SHA1 Message Date
ross
4634c0e3d4 libkern just got an inet_addr(), but it won't compile, no prototype. Cleanup...
* Add prototype to libkern.h.
* Remove the almost-identical-copy from libsa/net.[ch].
* Change its type back to the (wrong, but harmless) historical one. (u_long)
* Kill the XXX local prototype in nfs_bootparam.c
1999-04-12 01:05:01 +00:00
gwr
c0300346be Add inet_addr.c (for nfs_bootparam.c) 1999-04-11 22:08:06 +00:00
simonb
fa38a5236c The "found" label is not used if ALLOC_FIRST_FIT is defined. 1999-04-11 04:02:37 +00:00
simonb
6db650781c Don't compile in sanity checks for old file systems if
LIBSA_NO_COMPAT_UFS is defined.
1999-04-01 05:27:54 +00:00
simonb
8f8c1f41d9 It's no use having a memcmp() that calls bcmp() if there's no bcmp() in
the SA library.  Basically copied from ../libkern with a few less #if's
and #include's.
1999-04-01 05:12:20 +00:00
simonb
e46b652af6 bestsize is unused if ALLOC_FIRST_FIT is defined. 1999-04-01 02:41:08 +00:00
simonb
6ce60662b5 Sync with src/lib/libc/string/bcmp.c 1999-04-01 00:30:39 +00:00
simonb
ff2206f6df G/C UFS_NOSYMLINK, UFS_NOCLOSE and UFS_NOWRITE and use new LIBSA_NO_FS_*. 1999-03-31 07:43:39 +00:00
cgd
309213477a Make a bunch of backward-compatible changes to the boot blocks which allow
size to be reduced substantially.  (backward compatibility verified
by compiling one of the alpha boot blocks which uses all of the code
before and after, diffing the object files, and manually verifying that
the differences were 'correct'.  some differences were "unavoidable,"
it wanting to avoid a double-commit, because e.g. local variables which
were previously used were no longer used.)  a README which describes
supported options (or at least the ones mentioned below) is forthcoming.

add support for the preprocessor macro LIBSA_NO_TWIDDLE, which
  causes calls to twiddle() to be omitted if it's defined.
add support for the preprocessor macros:
	LIBSA_NO_FS_CLOSE
	LIBSA_NO_FS_WRITE
	LIBSA_NO_FS_SEEK
  which, if defined, cause the corresponding file system operations
  in the individual file system implementations to be omitted.  (note
  that all of those macros are not supported by all file systems at
  this point.  comments were added to individual file system files
  to indicate lack of support, and should be cleaned up later.  Backward
  compatibility options e.g. UFS_NOCLOSE, etc., are supported.)
add support for the preprocessor macro LIBSA_NO_FS_SYMLINK, which
  removes support for symbolic links from the file system support
  functions.  (same notes as for the macros above apply.)
add support for the preprocessor macro LIBSA_FS_SINGLECOMPONENT which
  removes all subdirectory and symlink support from the file system
  support functions.  (same notes as for the macros above apply.)
add support for the preprocessor macro LIBSA_NO_FD_CHECKING, which
  causes code relating to libsa file descriptor checks (e.g. range
  checking and checking that a file descriptor is valid) to be
  omitted if it's defined.
add support for the preprocessor macro LIBSA_NO_RAW_ACCESS, which
  causes code relating to raw device access to be omitted if it's
  defined.
change some structure copies to use bcopy() instead.  that way
  use of bcopy vs. memcpy() can easily be selected by
  LIBSA_USE_MEMCPY.  (without changes like these, you could end up
  having both bcopy() and memcpy() included.  eventually, all
  calls to bcopy should be changed to calls to memcpy() or memmove()
  as appropriate -- hopefully never the latter -- with an option to
  use bcopy instead.)
add support for the preprocessor macro LIBSA_NO_DISKLABEL_MSGS, which
  causes disklabel() to return '1' as msg rather than a string.  Can
  be used if the boot blocks don't care about the string, and need to
  save the space.
add support for the preprocessor macro LIBSA_SINGLE_FILESYSTEM, which
  if defined causes all of the file system switch code to be removed.
  Its value should be the name of the file system supported by the
  boot block, e.g. "ufs" for the FFS file system.  calls to the
  file system functions open, close, etc., which were previously
  done through a function switch are then done via direct invocation
  of <fs>_open, <fs>_close, etc. (e.g. ufs_open, ...).
add support for the preprocessor macro LIBSA_SINGLE_DEVICE, which
  does the equivalent of LIBSA_SINGLE_FILESYSTEM but for the device
  switch table.  Device entry pointes are expected to be named
  <dev>foo, e.g. the 'strategy' routine used when LIBSA_SINGLE_DEVICE
  is set to 'disk' is diskstrategy.
make ufs.c f_nindir array be unsigned ints.  the fact that it was signed
  caused ufs.c to require signed division routines (which were otherwise
  unnecessary for a small boot block).
1999-03-31 01:50:25 +00:00
cgd
e5ce91e0f3 replace memcpy() implementation (which just called bcopy()) with
a small implementation of memcpy().  libsa memcpy() wouldn't
do the right thing if LIBSA_USE_MEMCPY was defined, and the whole
point of that define is to get rid of either bcopy() or memcpy().
(cloned from the bcopy() code.)
1999-03-31 01:39:16 +00:00
cgd
8aa0c52d66 #undef bcopy, so that this will still compile if LIBSA_USE_MEMCPY is defined 1999-03-30 22:03:47 +00:00
cgd
9d06bcdcfe Add bzero.c, errno.c, and memset.c to SRCS 1999-03-30 22:02:39 +00:00
cgd
9ce004e069 add simple (small) implementations of memset and bzero. the versions
in libkern are fine for the kernel, but the versions here are smaller
and in libsa the point is size.
1999-03-30 22:01:15 +00:00
cgd
1611da0c3c move errno to its own file; if you just need errno, you don't need dev.c's fns 1999-03-30 21:59:58 +00:00
dbj
82347ce33e Changes to compile the next68k bootblocks with
egcs -Wpointer-arith -Wstrict-prototypes
This closes pr 6653
1999-03-26 15:41:38 +00:00
simonb
5d23f12467 Don't call f_dev->dv_close if it's a null pointer when an open() call
fails.
1999-03-26 03:16:15 +00:00
simonb
9913b7202b Revert SA_NOPUTCHAR - the pmax was the only port using it and the new
pmax bootblocks provide a putchar().
1999-03-23 22:25:31 +00:00
simonb
5e5bf63bc1 Don't add .abicalls if NO_ABICALLS is defined even if ABICALLS is defined. 1999-03-17 13:31:43 +00:00
jonathan
4c6134d7c8 Use merged memcpy()/memset() based on old bcopy rather than C-coded memmove.
TODO: change register usage so memcpy()/memmove() is default, put test
for back-copy before memcpy() and back-copy loop after memcpy().
1999-03-15 07:04:04 +00:00
jonathan
e22fd3b59d Fix bug in construction of word-length version of 'c'.
Preserve input string and return it as per userlevel spec.
1999-03-15 06:34:10 +00:00
pk
fabda9a224 Sync with libc 1999-03-05 09:18:32 +00:00
drochner
66f3455141 make the mipse[lb]->mips translation really work
(the S/// doesn't work as I'm now telling the 3rd time),
put the translation onto a separate line to make it more understandable
1999-03-04 19:46:09 +00:00
jonathan
3eeb52dee0 Makefile ${MACHINE_ARCH} changes for mips{eb,el}, as suggested by
Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
1999-03-03 12:00:18 +00:00
kim
cc6ca72465 Made this compile:
- fifth arg to recvtftp should be size_t (not ssize_t)
- the path is passed tftp_makereq as a part of the handle structure
1999-02-28 00:57:07 +00:00
christos
dd247aa44e Add missing prototypes for static functions. 1999-02-26 22:46:32 +00:00
ross
91d91ef1b2 XXX include libkern.h for strlen() XXX 1999-02-25 20:21:08 +00:00
drochner
0633616d7a build tftp filesystem, rearrange .ifdef slightly so that network stuff
is not built if ${SA_INCLUDE_NET} is not set
1999-02-24 19:31:03 +00:00
drochner
03497d6478 move TFTP filesystem from i386/stand/libsa here, it is mi 1999-02-24 19:24:56 +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
chs
5a0258140e no need to add ${OBJS} to POBJS here, bsd.lib.mk does it automatically. 1999-02-24 16:22:42 +00:00
simonb
faca98eb71 Add memset.S instead of memset.c, and remove __main.c. 1999-02-23 11:06:38 +00:00
simonb
e7d831fa31 Define bzero()/bcopy() in terms of memset()/memcpy() if LIBSA_USE_MEMSET
or LIBSA_USE_MEMCPY is defined.  Most everything pulls in stand.h so
this should cover ports that only use memset/memcpy but still want to
pull in as much as possible from sys/lib/libsa.
1999-02-22 10:08:42 +00:00
simonb
99c7714a77 Drop support for symlinks of UFS_NOSYMLINK is defined.
Don't compile in ufs_close/ufs_write if UFS_NOCLOSE/UFS_NOWRITE is defined.
Remove trailing whitespace.
1999-02-22 07:59:09 +00:00
simonb
f60844a657 Use printf() instead of putchar() if SA_NOPUTCHAR is defined (for the
pmax).
Also don't include stdarg.h/varargs.h - we don't use them here.
1999-02-22 07:53:52 +00:00
hubertf
56f2d188fc RCS ID police 1999-02-15 04:54:34 +00:00
pk
bae33b3ad6 Split the printf variants into separate files. 1999-02-13 20:56:57 +00:00
lukem
dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
drochner
ccc6fbda81 Add some #ifdef SUPPORT_LINUX code which specifies a BOOTP tag to pass
a command line for that kernel.
Minor sizeof() sanity.
1999-02-12 10:56:18 +00:00
drochner
836a315463 We can't prototype exit() publically because it might take an argument or
not, depending on the port-specific environment.
Separate panic() and exit() so that the mi/default panic() can be used
without conflicting with a local exit() definition, move exit(void)
prototype to the default exit() implementation.
Closes PR bin/6990 by Wolfgang Helbig <helbig@Informatik.BA-Stuttgart.DE>.
1999-02-12 10:51:28 +00:00
drochner
ee57895586 That got broken in KNFifying. 1999-02-12 10:44:07 +00:00
pk
14b924800a Can't include libkern.h twice which is what happens if _KERNEL is on.
For now, protect here with _STANDALONE.
XXX - must probably fix sys/systm.h
1999-02-11 15:39:31 +00:00
pk
ac01ce3a75 sprintf() now produces a return value, like the standard counterpart does.
Also, implement vsprintf(), snprintf() and vsnprintf().
1999-02-11 14:32:00 +00:00
pk
a24b899029 Pull libkern.h in. 1999-02-11 09:13:03 +00:00
pk
eee0165e87 Add missing prototypes. 1999-02-11 09:10:43 +00:00
pk
08f1cf6408 Add missing prototypes and KNF the lot. 1999-02-11 09:09:06 +00:00
bouyer
ca083f6095 Sync with libc version. 1999-02-05 16:34:13 +00:00
fvdl
50217a8b50 Check for _STANDALONE as well as _KERNEL to make it compile again. Fold
some includes together in one #if as a result of this.
1999-02-04 15:26:42 +00:00
explorer
24729226e5 sync with userland 1999-02-04 05:36:36 +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
mrg
24fb50ca7d update from libc; RCSID, register. 1999-01-17 01:30:06 +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
kleink
22fc60a59a Separate the userland and libsa errno declarations from <sys/errno.h> into
their canonical places.
1999-01-12 03:08:14 +00:00
he
02cf5984b5 Retry ustarfs_cylinder_read after disk change, apparently required on i386. 1998-12-19 19:24:32 +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
tron
46f5a5f507 Make "src/sys/arch/i386/stand" compile again. 1998-11-03 22:00:37 +00:00
tron
873f0be1cd Sync with files in "src/lib/libz". 1998-11-03 15:49:39 +00:00
tron
d9b5b0b01a Sync with files in "src/lib/libz". 1998-11-01 21:28:51 +00:00
matt
2e00799098 Conditionalize include of <lib/libkern/libkern.h> with _STANDALONE (like
libsa/nfs.c does).  Fixes VAX libsa build problem.
1998-10-30 16:56:30 +00:00
drochner
337bfd46a5 change handling of libkern:
-sys/lib/libkern builds as library per default (as it was documented all
 the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
1998-10-15 18:46:37 +00:00
bad
34f348a9e4 Work around gcc warning. 1998-10-15 18:01:49 +00:00
ross
0450169fae 1. Avoid snarfing label areas unless necessary; read with monotonically
increasing block numbers and don't reread cylinder 0.

2. Recognize the USTAR.... meta-info file...kind of like a super-block,
   it makes the volume size and label info programmable.
1998-10-15 01:11:46 +00:00
ross
4d17a0bfee Reserve an 8K label area on every disk, not just the first. Rewrite the block
addressing and disk changing code. Separate disk addressing into three layers.
(virtual: ustar format space spanning volumes, logical: format space relative
to current volume, and physical: standard meaning). Compute a checksum of the
disk 0 8k label area, and define a label for disk 2, 3.... Detect incorrect
disk changing order and attempt to recognize our disk 0 from its checksum.
1998-10-05 04:56:36 +00:00
ross
f7ef9b367f tfs -> ustarfs 1998-09-24 05:23:33 +00:00
ross
aeccd73ce4 Remove memset() prototype. 1998-09-22 20:29:03 +00:00
ross
141a463d8f Prototype memset(). 1998-09-22 00:37:08 +00:00
ross
05330db703 Make sure ctags(1) indexes oopen(). 1998-09-22 00:36:45 +00:00
ross
71ddd906d4 Add tfs.c to SRCS. 1998-09-22 00:36:01 +00:00
ross
fb0dcdaee2 Add `tfs', a USTAR-format FS, featuring fast floppy loads, 5% better
space efficiency, and (the real reason) multiple-volume files.
1998-09-22 00:35:15 +00:00
leo
e325a47307 Fix "unused variable `c'" warning. (From Julian Coleman) 1998-09-14 11:50:59 +00:00
ragge
35662aa6e6 Include <sys/param.h> instead of <sys/types.h>, to get mem* inlines.
(At least on vax)
1998-09-12 08:31:23 +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
lukem
c9db84ecc9 distclean is a synonym for cleandir 1998-09-05 15:15:14 +00:00
eeh
26d2d906c7 Some more 64-bit cleanup. Now everything compiles. 1998-08-30 15:32:16 +00:00
enami
47e906e5d9 As a temporary work around to make kernel links again, protect
renaming of quad type library only when !__NetBSD__ && sun && __svr4__.
XXX. Probably need to check __GNUC_MINOR__.
1998-08-30 05:29:39 +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
242ff31b91 update bzero.c to stub from libc/string 1998-08-04 06:27:08 +00:00
perry
974739923b replace several special targets with stub .c files, as in libc/string 1998-08-04 05:01:58 +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
perry
534fb67f27 fix silly comment typo 1998-08-03 20:32:48 +00:00
perry
2b8a659f68 make libkern build memmove() properly 1998-07-31 23:44:41 +00:00
is
4c3784857e back out last change 1998-07-27 15:10:05 +00:00
is
aaa6d634aa write prototype: void * -> const void *.
[Else the Amiga bootblock can't be built.]
1998-07-27 06:17:49 +00:00
drochner
d408ddc6c7 Make the combination "profiled kernel" and "${KERN_AS} == "library""
work too. (mcount.po was forgotten)
1998-07-19 18:35:16 +00:00
gwr
5afda96fca Be quiet if bootparamd gives us an empty gateway spec.
(which is quite normal).  Just make noise if it was
missing, which explains the very long timeout...
(Would be nice if sendrecv said "retrying...")
1998-06-29 20:25:59 +00:00
christos
16a9632e4d Add a small string pattern matching function to facilitate pcmcia cis string
matches.
1998-06-21 18:43:35 +00:00
eeh
9979577545 Second half of the sparc64 stuff. 1998-06-20 05:18:14 +00:00
gwr
e655461e32 Add support for "%p" format (easy). 1998-06-16 19:10:15 +00:00
gwr
d63354072c When the gateway bootparam is missing, be clear about that
in the error message instead of showing zero or nothing.
1998-06-16 19:08:10 +00:00
hannken
3028e5f93b Didn't find sha1.h compiling sys/arch/sparc/stand/boot. 1998-05-29 16:50: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
explorer
7c17ff519d add sha1.c, and build it. 1998-05-27 00:46:32 +00:00
drochner
8b4cd5f3da egcs -Wall -Werror 1998-05-14 18:08:58 +00:00
pk
4d48eb7a4b Sync with libc. 1998-05-07 22:15:23 +00:00
drochner
2cca6a1757 -catch zero and broadcast IP addresses sent by a DHCP server
-KNF
1998-04-24 18:50:23 +00:00
matthias
35d6e9297e Prepare assembler source files for -mrtd kernels. 1998-04-03 22:59:28 +00:00
cgd
066f971d37 copy from libc:
limits.h if user-land, machine/limits.h if kernel or standalone
1998-03-27 05:35:47 +00:00
cgd
33b3e7101b sync with libc 1998-03-27 01:29:58 +00:00
cgd
da6ee39cde copy from src/lib/libz:
if _STANDALONE or _KERNEL, don't include standard headers and pull
in libkern.h instead.  (That doesn't even appear to be necessary,
but it's the 'standard' thing to do.)
1998-03-27 01:11:07 +00:00
ross
331fee623e Sweep up some miscellaneous leftover lite2 integration shrapnel. 1998-03-01 07:15:39 +00:00
fvdl
e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +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
8ad4f24f50 Add memcpy() and memset(), and sort. 1998-02-22 09:18:38 +00:00
mycroft
79376487cb Sync with libc. 1998-02-22 09:13:16 +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
650b9558c0 Need bcopy.c to generate memcpy(). 1998-02-22 06:55:42 +00:00
mycroft
ab530e2db7 Build memcpy() out of bcopy() by default. 1998-02-22 06:54:38 +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
mycroft
01277a19c0 Don't even think about cdefs.h here... 1998-02-22 05:10:55 +00:00
drochner
642cbc64e2 Always set own IP address to 0.0.0.0 before BOOTP or DHCP. 1998-02-16 11:10:54 +00:00
cgd
26d7b63bd3 make sure that LORDER, TSORT, AR, NM, RANLIB, and SIZE are correctly
and consistently set when doing kernel library builds.
1998-02-07 00:11:29 +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
thorpej
529b95c8d9 Add offsetof(). 1998-01-28 02:22:14 +00:00
thorpej
60c3299e3e Fix some debugging printf formats. 1998-01-23 19:27:44 +00:00
cgd
b92943e80a update to match (now-fixed) libc rules for strchr and strrchr.
Brokenness pointed out by Matthias Drochner.
1998-01-23 19:01:17 +00:00
drochner
7e5c045bb6 remove prototypes for deprecated index() and rindex() 1998-01-23 12:56:39 +00:00
drochner
8968860bab add prototype for index() 1998-01-22 15:42:24 +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
cgd
61a021f836 sync with libc 1998-01-21 21:17:08 +00:00
cgd
0bc1621f94 add strrchr 1998-01-21 21:16:52 +00:00
cgd
40894919ec sync with libc version. (just rcs id changes.) 1998-01-21 19:43:23 +00:00
perry
24920eefb1 RCSID Police. 1998-01-05 19:40:40 +00:00
perry
1a80fd799d RCSID Police. 1998-01-05 19:19:41 +00:00
scottr
d8f027887d If the send routine returns an error (-1), wait and retry using the same
backoff mechanism we use for receiving the response.  This is particularly
helpful when we have transient errors on transmit, e.g. a very busy
network or router.
1997-12-26 22:41:30 +00:00
gwr
f5bbc0b3ec Copied from src/lib/libc/net/inet_pton.c
and adapted for kernel and libsa use.
1997-12-12 20:14:01 +00:00
gwr
2031003c9b Oops - forgot to set netmask=smask 1997-12-10 20:38:37 +00:00
gwr
ecd43c7870 Request the "gateway" parameter and use its contents
to determine our gateway and subnet mask, consistent
with what is done by nfs_mountroot.
1997-12-10 20:19:00 +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
gwr
5e82d82867 Pass down the values of: AR NM RANLIB
(Fixes PR#4426 from SAITOH Masanobu)
Also pass down LORDER TSORT.
1997-11-04 21:18:24 +00:00
gwr
0919e2346b Use LORDER, TSORT 1997-11-04 20:33:11 +00:00
lukem
3acbcabd91 use COPTS instead of CFLAGS (entry currently commented out) 1997-10-26 22:08:38 +00:00
mjacob
23a59f497a Add missing NULL define for KERNEL case and prototype into libkern.h. 1997-10-24 18:10:30 +00:00
chuck
cf924e3bc0 add memchr() to libkern 1997-10-24 15:32:24 +00:00
cjs
4b97411a80 Change sd.transparent to sd.compressed, so that we default to non-
compressed mode when we zero out the structure. Check_header() now
does not force us to uncompressed mode if we read no data (EOF);
it leaves the default, so that if we check at the end of a file,
we don't set the file to uncompressed mode and blow up later lseeks
on it.
1997-10-18 22:27:15 +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
thorpej
176a81b2c5 Copyright assigned to The NetBSD Foundation. 1997-10-05 18:37:01 +00:00
drochner
b65a5212c3 Save some bytes by keeping the number of byteswaps minimal.
Allow to switch off UDP checksum generation and check via compile time
option (for the really desperade).
1997-09-17 16:30:51 +00:00
drochner
74c59c27a2 Keep a copy of the original BOOTP bp_siaddr field, in case we want to
use it later for TFTP.
1997-09-17 16:25:29 +00:00
drochner
9f58a1a9bb fix printf() format warnings in debug output 1997-09-17 16:24:00 +00:00
drochner
93bb01fe6d -Wall fixes 1997-09-06 13:57:14 +00:00
drochner
616ee86daf -add DHCP support - this option also extends the vendor extension area
to 312 bytes (The classical 64 bytes are likely to be too small if a
  rootpath is transferred.)
-make CMU vendor extension support optional
-remove code handling domain name/server (unneeded for boot code)
- -Wall fixes in debug code
1997-09-06 13:55:56 +00:00
drochner
25c68ee4f2 Remove this relict, it's not needed anymore. 1997-07-22 17:51:51 +00:00
drochner
bcf29dc4be Don't use "if_ether.h", it's not used. 1997-07-22 17:50:37 +00:00
cgd
6ac982f2a0 mark prototypes for static inline functions as possibly unused (with
__attribute__ ((unused))), to avoid generating warnings when compiling
without optimization but with most ports' default warning flags.
1997-07-07 22:45:34 +00:00
drochner
64cd693ada Don't use private copy of old netinet/if_ether.h.
Use <net/if_ether.h> for ethernet specific definitions, and insert private
definitions for ARP if needed. (The new ARP macros in <net/if_arp.h> are
not used because they create larger code, and we really don't need more
than ethernet/ip support here.)
1997-07-07 15:52:49 +00:00
drochner
a8ac47dd1b Fix syntax error which appeared #ifdef DEBUG ("end[]").
Simplify the heap location stuff.
1997-07-04 18:47:25 +00:00
drochner
d9fbb6e1eb Catch errors from underlying reads, ie where oread() returns -1.
(Original code used fread() which never returns -1, so this case was
not handled.)
1997-07-04 18:45:11 +00:00
thorpej
fee80fcee9 - Fix ZMAGIC image loading.
- Deal with stripped kernels.
- Let machine-dependent code frob the start address.
- General cleanup.
From Matthias Pfaller <matthias@netbsd.org>
1997-06-28 07:17:56 +00:00
drochner
a1d00666ac Allow to define the location of the heap at runtime #if HEAP_VARIABLE.
That helps to test libsa code in user space.
1997-06-26 19:17:40 +00:00
drochner
96dde15c3f Don't define STANDALONE here, it is not used by sys/lib/libsa code.
Port dependant code depending on it must define it in its own Makefile.
1997-06-26 19:14:53 +00:00
drochner
ed2ca9f1fa Avoid user space headers for standalone programs.
Don't use sys/lib/libkern or sys/lib/libz if not standalone
 (ie, user space test programs).
1997-06-26 19:11:30 +00:00
thorpej
a2694f54d8 Don't run off the end of the format string if the caller botched for
format modifier.  Pointed out by Daniel G. Pouzzner in PR #2633.
1997-06-26 06:20:30 +00:00
jtc
b92f5604b7 sync with libc 1997-06-20 02:08:04 +00:00
drochner
f504cf88e8 Conditionally compile without symlink support (#ifdef NFS_NOSYMLINK).
Saves 708 bytes (i386). (close pr misc/3335)
1997-06-16 20:47:11 +00:00
drochner
bc7d1ebcfb Don't #include <string.h>, needed prototypes are in libkern.h. 1997-06-13 14:32:24 +00:00
drochner
a0c4d8cb61 Add prototype for strerror(). 1997-06-13 14:30:44 +00:00
drochner
319cc90118 -Wall fixes 1997-06-13 14:29:50 +00:00
drochner
8347a7476f Bring prototypes into scope. 1997-06-13 14:28:52 +00:00
drochner
aab2edd1d4 Add prototype for bzero() (since it is implemented here). 1997-06-13 14:27:04 +00:00
cjs
7a66732d34 Back out BUILDDIR and NOINSTALL changes. 1997-05-31 21:21:13 +00:00
cjs
75380e08a1 Use new NOINSTALL option for libraries that are used only during the build
of a program, and not installed into the final system.
1997-05-30 01:55:09 +00:00
gwr
6065389b17 Sync with src/lib/libz 1997-05-20 14:41:54 +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
mycroft
185b24dd5b Use libinstall::, not install:, to prevent instaling LIB. 1997-05-07 16:20:26 +00:00
thorpej
13f5393c88 Build md5c.c 1997-04-30 00:53:38 +00:00
thorpej
f2afed0bb1 Add the libc md5 implementation to libkern. 1997-04-30 00:53:02 +00:00
is
07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
gwr
4478e618ee Fix a warning. 1997-03-14 21:03:43 +00:00
gwr
2cf7613010 Sun RPC/bootparams always enabled (No -DSUN_BOOTPARAMS needed)
Add SUPPORT_BOOTP (and global try_bootp) to allow MD code to
determine whether BOOTP is used (compile-time and run-time).
Thanks to Matthias Drochner for the SUPPORT_BOOTP ideas.
Copyright asigned to The NetBSD Foundation.
1997-03-14 20:34:48 +00:00
gwr
8f0295e7f0 Moved here (via repository copy) so they are more easily shared.
I did not add them to the library, but rather compile them where
the netboot program is built so I can add -DSUN_BOOTPARAMS, etc.
1997-03-11 18:23:55 +00:00
thorpej
0b07209248 Allow depend target to be parallized, from Andrew Wheadon
<andrew@wipux2.wifo.uni-mannheim.de>, PR #3257.
1997-03-07 00:50:30 +00:00
cgd
72a6422a5e allow includers to specify library-specific CPP flags via ${LIB}MISCCPPFLAGS 1997-02-16 21:25:18 +00:00
leo
2242daf790 Initialize 'bestf' to make this compile again with -Wall. 1997-02-16 13:02:59 +00:00
thorpej
9a6b12944d In close(), if the file descriptor was used for writing, don't free
data structures that weren't allocated.  Fix sanity-checked
by Matthias Drochner.
1997-02-04 18:38:20 +00:00
thorpej
63930d7db4 Add some debugging code to free(), to catch frees before the
start of the heap and beyond the end of the heap (if a heap limit
is defined).
1997-02-04 18:36:33 +00:00
pk
01bd8a8ca8 Initialize `f_offset'. 1997-01-28 09:41:03 +00:00
cgd
981d496969 Change file system file-open semantics slightly: if file system returns
EINVAL, that error code is ignored, leaving whatever other meaningful
error code that might have previously been returned intact.  Stand-alone
file system implementations return EINVAL typically when the file system
is not recognized (i.e. cd9660_open on a UFS file system, ufs_open on a
cd9660 file system, etc.).  This meant that if you had multiple file
systems in a file system switch, the first returned ENOENT (because
it recognized the file system type, but the file wasn't there) and
the second returned EINVAL (because it didn't recognize the file system
type), errno would be set to EINVAL.  Now it'll be set to ENOENT.

It would probably make sense to have file systems return a special
error code to indicate "this file system is unrecognized," which
could then be special-cased, but that's a fair bit more invasive.
1997-01-25 01:13:41 +00:00
cgd
da4932bff2 add EINVAL and ENOTDIR, as suggested by Matthias Drochner 1997-01-25 00:37:50 +00:00
cgd
192e22f5b7 isonum_722 and isonum_732 are now back in iso.h 1997-01-24 00:53:40 +00:00
cgd
6f0de181b1 update for iso.h changes which remove the need for the nastiness that was here 1997-01-24 00:29:19 +00:00
cgd
3ca5f41d59 clean up substantially. Transform clean, depend, cleandir targets from ::
to :, so they can be used e.g. with <bsd.prog.mk>.  Standardize variable
names used to configure kernel libraries.

Variables used by these Makefile.inc's are:

S		must be set to the top of the 'sys' tree.
${LIB}DST	may be set to the location of the directory where library
		objects are to be built.  Defaults to ${.OBJDIR}/lib/${lib}.
${LIB}_AS	may be set to 'obj' to build a object from the library's
		object files.  (Otherwise, a library will be built.)
		Defaults to 'library'.
${LIB}MISCMAKEFLAGS
		Miscellaneous flags to be passed to the library's Makefile when
		building.  See library's Makefile for more details about
		supported flags and their default values.

(where LIB is KERN, SA, or Z, and lib is kern, sa, or z, depending on which
library's Makefile.inc is being discussed.)
1997-01-23 22:29:07 +00:00
cgd
2ce4559663 clean up variable use, standardize with other kernel library Makefiles.
rename 'NO_NET' variable to SA_INCLUDE_NET, which defaults to 'yes' but can
be set differently.  kill EXTRACFLAGS, add SACPPFLAGS (generated from
CPPFLAGS by Makefile.inc) to CFLAGS.  Add support for including gzipped-file
read support, enabled by setting SA_USE_CREAD to yes (defaults to no).
1997-01-23 22:19:56 +00:00
cgd
25bd886ba9 fix a typo (ZPPFLAGS should have been ZCPPFLAGS) 1997-01-22 01:36:30 +00:00
cgd
ea27b7aa31 Add a whole bunch of features, from Matthias Drochner:
best-fit, rather than first-fit, algorithm.
	ability to handle free()s with zero size (needed for gzip read
	    support).
	ability to start the heap someplace else (defined by HEAP_START).
	ability to limit growth of the heap (via HEAP_LIMIT).
	debugging sanity checks (ifdef DEBUG).
	allocation tracing support, to help debugging (ifdef ALLOC_TRACE).
and from me:
	ability to pick a (smaller) first-fit algorithm (via ALLOC_FIRST_FIT).
	lots of comments.

If heap limits and all of the debugging features are disabled (the default),
and ALLOC_FIRST_FIT is defined (not the default), compiled with -O on the
alpha the new version is the same (object) size as the old version.
1997-01-22 01:18:23 +00:00
cgd
862c1d585c code to open/close/read/lseek gzipped files, from Matthias Drochner. 1997-01-22 00:40:07 +00:00
cgd
21979e8d6b define these functions with an 'o' prepended to their names if
__INTERNAL_LIBSA_CREAD is defined (so that they can be used by the
compressed-read code).
1997-01-22 00:38:09 +00:00
cgd
b581a80665 prototype lseek(). also, prototype oopen(), oclose(), oread(), and olseek()
if __INTERNAL_LIBSA_CREAD is defined.
1997-01-22 00:37:23 +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
cgd
493bd9e110 fix file system buffer leak that occurs if an error occurs (e.g. file not
found) during the file system open function after having read some data
from the disk.  From  Matthias Drochner (PR 3120).
1997-01-17 20:17:58 +00:00
cgd
9596fd8a77 only call the device close routine on a (fall-through) error if
F_NODEV isn't set in the file flags for the file being opened.
Pointed out by Matthias Drochner in PR 3122.  (fix equivalent to
the one he included, but stylistically different.)
1997-01-17 20:03:53 +00:00
mikel
9be91c7fb4 fix my typo; found by Klaus Klein <kleink@layla.inka.de> 1997-01-17 17:06:06 +00:00
mikel
313f6180e6 add prototypes for ethers(3) functions; fixes PR 2471.
fix suggested by Jason Thorpe.
1997-01-17 08:17:57 +00:00
cgd
b1f42c3a13 add memcmp, implemented as a wrapper around bcmp() (like memcpy() is
implemented as a wrapper around bcopy()).
1997-01-16 04:06:15 +00:00
cgd
f515ce7937 add sources, all copied verbatim from src/lib/libz 1997-01-16 00:21:43 +00:00
cgd
e18d476d7c add Makefiles to build kernel 'libz' library, expected to be used by
boot blocks to load compressed images.  Sources and headers are copied
from src/lib (src/lib/libz, in particular) by making the 'update-sources'
target in this directory.  This library builds in a manner similar to
libkern; much of the Makefile hackery was taken from there.
1997-01-16 00:19:04 +00:00
christos
3ec6dad0f1 Typo police from: Juergen Hannken-Illjes 1997-01-02 22:06:51 +00:00
pk
12729c12d1 Add missing `#ifdef NFS_DEBUG' (from Rolf Grossmann; PR#3061). 1996-12-27 11:55:58 +00:00
christos
3463f39651 PR/2981: use ${VAR:Q} instead of '${VAR}' to avoid quoting problems 1996-12-26 21:32:37 +00:00
christos
2c8d554885 PR/2981: use ${VAR:Q} instead of "${VAR}" to avoid quoting problems 1996-12-26 21:32:08 +00:00
fvdl
8f3917c76e Move _MCOUNT_DECL prototype back here again (grmbl). 1996-12-07 12:58:25 +00:00
fvdl
4827ca5603 Remove _MCOUNT_DECL prototype declaration of _mcount() again; move it
to <machine/profile.h>
1996-12-05 10:18:46 +00:00