Commit Graph

958 Commits

Author SHA1 Message Date
christos c89e803d30 Remove USB copyrights. The coff and elf loading code did not come with BSD4.4. 2001-11-09 19:27:25 +00:00
scw f1defc3543 To avoid backwards seeks on sequential devices (eq. QIC tapes), read all
the program headers in one operation into an internal buffer.
2001-11-09 18:31:08 +00:00
thorpej 0971f93345 Make the ELF loadfile routines byte-order independent when used in
a non-_STANDALONE environment (e.g. installboot(8)): internalize and
externalize the exec, program, and section headers as necessary.

Reviewed and OK'd by Christos.
2001-10-31 21:24:09 +00:00
thorpej a43b4351a8 Oops, committed wrong copy of file in previous revision. 2001-10-31 20:22:22 +00:00
thorpej 90aee7593a Add standalone 64-bit to/from {big,little}-endian routines. 2001-10-31 20:19:52 +00:00
thorpej e727e3f180 Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly.  BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
2001-10-31 17:20:45 +00:00
thorpej 4810d73020 Build the loadfile() a.out, ECOFF, and ELF back-ends as separate
objects.
2001-10-31 01:51:42 +00:00
thorpej 91626c3515 Split the exec formats included by loadfile() into separate files.
Primary goal: explcitly select which ELF format (elf32 or elf64) to
support for a cross tool which uses loadfile().
2001-10-30 23:51:03 +00:00
thorpej 74eebee33c Add standalone byte-swapping routines that don't require testing
the system's byte-order:
- host to {big,little}-endian {16,32}
- {big,little}-endian {16,32} to host

These are not intended to be used in libsa directly, but are rather
intended to be used by host tools which may use libsa routines (such
as loadfile()) which need to use explicit byte-ordering.
2001-10-30 23:35:33 +00:00
matt 920cfb5205 Add "Red Black +" balanced binary tree routines to libkern. These provide
O(log(N)) insertation, deletion, and lookup times.  However, unlike most
red-black implemenations, this one does no additional memory allocations.
2001-10-24 22:40:56 +00:00
jdolecek a8fcba2901 Fix compilation on Alpha with ARP_DEBUG.
Fixes kern/6440 by R. C. Dowdeswell
2001-10-18 19:00:38 +00:00
uch 07f8f33bb9 R5900 miss-prediction of branch targets for short-loop. 2001-10-16 15:40:53 +00:00
minoura 12ea5d8238 Add changedisk_hook().
Machine-dependent code can eject the floppy to prompt the next volume in it.
(Or add another method in devsw?)
2001-09-28 15:15:24 +00:00
wiz 4c99916337 va_{start,end} audit:
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).

Improved by comments from enami and christos -- thanks!

Heimdal/krb4/KAME changes already fed back, rest to follow.

Inspired by, but not not based on, OpenBSD.
2001-09-24 13:22:25 +00:00
fvdl f22b808267 Make new gas happy. Use movzbl instead of xorl + movb. 2001-09-21 14:14:30 +00:00
fredette 7aaa6a4bc4 On the 68010, don't bother with the by-8-longwords loop, instead
only 16-bit align the region and use loop mode with longwords
to do the bulk of the work.

On the 68020+, fixed an optimization bug where all regions that start
on odd addresses would not be properly longword aligned.
2001-09-06 21:30:15 +00:00
tsutsui cf574991b8 Add a small version of memmove() for libsa.
Mostly identical with libsa/bcopy.c.
2001-09-02 07:04:16 +00:00
matt 28c81ffc15 7450 requires a sync before the the isync (MPC7450UM - 3.4.4.8) 2001-08-22 21:19:58 +00:00
itojun 9fe945f2fe sync argument/return type of [hn]to[nh][ls] to XNET 5.2 (uint{16,32}_t).
as discussed on tech-net.
2001-08-22 07:42:07 +00:00
jdolecek c495131fe3 Move _insque()/_remque() to libkern. Once remaining uses would
be converted to <sys/queue.h> macros, _insque()/_remque() would be eliminated
altogether.
2001-08-12 08:35:31 +00:00
lukem 9bbc26f3dc convert to ansi knf, and fix a bug where the last arg was incorrectly
'u_char' instead of 'int' (per the prototype and usage and other scanc
implementations)
2001-08-09 08:03:34 +00:00
bjh21 acf574f63e When loading ELF, zero out:
The e_shstrndx field in the ELF header, since we don't load .shstrtab.
The sh_name field in each section header, for the same reason.
The sh_offset field for any section we don't load.

This means the kernel has some chance of knowing what it's being given.  It
also means that the behaviour of old kernels with new loaders should be
deterministic (if not terribly useful: they still can't find the symbol
table).
2001-07-31 22:11:57 +00:00
bjh21 30f144749a G/C "off", since it was just tracking the difference between maxp and elfp. 2001-07-31 21:09:52 +00:00
bjh21 67a82e1d4e Fix a small memory leak when counting the size of the symbol table (shp was
ALLOC'ed if (LOAD_SYM|COUNT_SYM), but FREEd if (LOAD_SYM)).
2001-07-31 20:03:03 +00:00
bjh21 1a35da3617 When loading an ELF kernel, don't load all the STRTAB sections. Instead, just
load those STRTAB sections that are referenced by a SYMTAB that we're loading.

The main advantage of this is that (at least with the binaries output by my
ARM ELF linker) this removes the need to seek backwards through the file, which
is a big win when loading a gzipped kernel.

While we're here, don't allocate space for string tables we don't load.
2001-07-31 19:20:29 +00:00
fvdl 3350f68f80 Avoid warnings about uninitialised usage. 2001-07-19 18:55:38 +00:00
wiz 1bc6d2cee9 Fix typo (`information' has an 'r'). 2001-07-19 16:13:00 +00:00
christos 366971a414 Back out previous. The booter will need to find the symbol table itself,
as explained in the code.
2001-07-13 17:43:23 +00:00
christos 6711e49228 From Nigel Pearson: Make SYMS and NSYMS work on ELF.
The MacOS booter needs them.
2001-07-13 17:17:12 +00:00
thorpej ac8a2539c1 Provide bcopy() here. 2001-07-13 00:04:00 +00:00
perry 5624bbb1d4 restore bzero and bcmp prototypes for now -- this has to be hashed out. 2001-07-07 17:22:25 +00:00
simonb 5439e1a9ff Put the prototypes for bcmp() and bzero() back (ifdef _STANDALONE) so that
libsa builds again.
2001-07-07 12:23:43 +00:00
perry 7ab9c62227 Remove bcmp and bzero prototypes. And yes, I actually checked and
tested this time. (Slap self repeatedly.)
2001-07-07 05:42:16 +00:00
toshii 70e10fb682 Remove bcmp, bcopy and bzero. We don't need them as they aren't
called from asm code, and we shouldn't have them if we don't need them.
2001-07-06 17:35:44 +00:00
kleink e69c885f3e Sync with libc: use bzero-based assembly version of memset(). 2001-07-01 11:55:36 +00:00
fvdl 9b4c0e34d2 Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
2001-06-19 00:19:12 +00:00
fredette 49fda862f9 When MACHINE_ARCH is m68000, compile ffs.c and random.c
instead of ffs.s and random.s, and sneak the libgcc
integer support routines into the list of library objects.
2001-05-16 03:30:39 +00:00
fredette 332aa50acb Use the EXTBL macro where we want the extbl instruction.
On the 68010 this expands to an extw/extl combination.
2001-05-16 03:14:12 +00:00
fredette 8ba384c841 On the 68010, we are forced to do bytewise compares
and copies if the two addresses aren't of the same
evenness.
2001-05-16 03:06:41 +00:00
kleink 95fa77ab80 Make this work for PIC (as opposed to pic) without taking chances of fitting
__ffstab into a GOT13 relocation; from Eduardo Horvath.
2001-05-13 20:03:45 +00:00
lukem 85772a1cef remove some lint 2001-04-30 02:34:58 +00:00
ross 2df695b1e4 o IEEE 754 floating-point completion code.
o Implement the architected FP_C "Floating Point Control Quadword"
2001-04-26 03:10:44 +00:00
thorpej 4747025b48 ctype-like functions are now in libkern. 2001-04-18 15:40:58 +00:00
thorpej 23a3a54650 libkern.h now has the ctype routines. 2001-04-05 04:39:02 +00:00
thorpej db5854a62c Build strtoul.c 2001-04-05 04:38:33 +00:00
thorpej 554aa34ee7 Add ctype routines. 2001-04-05 04:38:06 +00:00
hubertf 267271c1b2 Explain some SA_* options - reading compressed kernels, netboot
Useful for stripping down bootcode.
2001-03-31 09:45:11 +00:00
cgd b7ad250ab1 copy from lib/libc/arch/mips/gen 2001-02-27 19:45:26 +00:00
enami 3d31264640 Don't set ARCHSUBDIR to empty string. 2001-02-18 22:38:50 +00:00
bjh21 d308c5c5ed Use MACHINE_CPU to find the architecture subdir, or MACHINE_ARCH if that
exists.  Same algorithm as libc uses.
2001-02-16 16:58:27 +00:00
simonb 0292c3474f Use arm arch directory for arm32 as well as arm26. 2001-02-15 23:17:44 +00:00
bjh21 da9d806354 Move arm32 over to using the shared ARM libkern. 2001-02-15 22:44:09 +00:00
msaitoh 3c31811206 don't profile (use NENTRY() and ALTENTRY()) 2001-02-14 21:04:17 +00:00
msaitoh 9af8d0bdad ENTRY() 2001-02-14 18:14:37 +00:00
msaitoh 2633a5dcb5 _C_LABEL() 2001-02-14 17:57:31 +00:00
bjh21 e68a8d59fa Sync with libc for licence update. 2001-01-23 19:12:29 +00:00
itojun f039f89ec5 prepare for sh3e[bl] split 2001-01-04 06:53:45 +00:00
bjh21 af14995e51 Create a shared set of ARM sources for libkern and move arm26 over to using
them.

These are identical to the current arm32 sources with the following exceptions:
 - References to C labels are wrapped in _C_LABEL().
 - Function returns have an alternate version inside #ifdef __APCS_26__.
2000-12-29 20:51:56 +00:00
bjh21 d839461405 Pull across arm32 rev 1.4:
ALTENTRY() must die.
2000-12-16 14:38:50 +00:00
bjh21 0b45f78538 Pull across arm32 rev 1.5:
ALTENTRY() must die.
2000-12-16 14:38:06 +00:00
mycroft 6d9be19e76 ALTENTRY() must die. 2000-12-14 22:00:20 +00:00
bjh21 1e720616fb Copy from libc 2000-12-14 19:51:51 +00:00
bjh21 af87db0411 Use _C_LABEL 2000-12-14 19:50:38 +00:00
bjh21 fe80ce82c0 Copy from libc 2000-12-14 19:44:58 +00:00
bjh21 c044c88beb Sync with arm32. 2000-12-14 19:33:00 +00:00
mycroft a5a04ddba2 These versions have different names than libc... 2000-12-12 17:53:20 +00:00
mycroft 0e5af5b3d1 GC. 2000-12-12 17:51:03 +00:00
mycroft 6c96a6759b Update from libc. 2000-12-12 17:44:04 +00:00
deberg cdb062bbb7 add md4c.c 2000-12-08 06:30:21 +00:00
deberg c2253656c9 in-kernel MD4 implementation, from libc 2000-12-08 06:29:23 +00:00
sommerfeld 5348dfb6ac Have recursive make invocations depend on the .MAKE pseudo-target so
make knows to handle them specially.
2000-12-05 17:01:19 +00:00
tsutsui 99d2177add Don't try to load a.out header if there is no space for it before text. 2000-12-03 02:53:04 +00:00
is 94f7c9c6f9 Sync with libc: make function exit one instruction faster, and function one
instruction shorter (Horimoto).
2000-11-28 15:26:34 +00:00
is c8071d4fac Sync with libc strncpy.S 1.11: optimized code by Hiroshi Horimoto. 2000-11-27 22:38:33 +00:00
simonb cdfbd303f9 Fix tyop in comment. 2000-11-26 03:31:20 +00:00
tsutsui 071bf9bca9 Don't print "]" if loading kernel does not have symbol table. 2000-11-11 09:25:12 +00:00
matt c4e14613b2 dos_unmount is only is dos_close is present but so conditionalize it like
dos_close.
2000-11-09 01:55:31 +00:00
matt 6c15ee2986 avoid pointer addition on void pointers 2000-11-08 19:38:12 +00:00
thorpej 29b685b9f0 Introduce a way for boot programs to modify the behavior of
bootp().  Add a BOOTP_PXE flag which causes bootp() to send
"PXEClient" in the DHCP class field.

Derived from similar code in FreeBSD.
2000-11-02 03:22:23 +00:00
thorpej abf350ddcf Sprinkle some const -- gets things out of the .data segment, which
is important in the i386 boot blocks (grmumble).
2000-11-02 00:34:51 +00:00
thorpej 904d7ceb3c Add a standalone MS-DOS file system reader package, lifted
from FreeBSD, and modified use NetBSD's already-existing
MS-DOS file system data structure definitions, rather than
defining our own.
2000-11-02 00:25:05 +00:00
thorpej 1cfe0850f5 Add a strcasecmp(), modified from chopps's strncasecmp(). 2000-11-01 19:37:18 +00:00
ragge aeb756f1b5 Add define NO_MID_CHECK that avoids checking of the a.out mid field. 2000-11-01 14:23:04 +00:00
thorpej 9516ee90da Split the UDP routines out of net.c. 2000-10-25 01:49:55 +00:00
takemura c6304c954b Add LIBSA_RENAME_PRINTF to solve conflict with prototype definition of
printf() and etc in header files of Windows CE native compiler.
2000-10-21 13:48:06 +00:00
msaitoh 0a5e7f9f3f enclose offsetof macro definition with #ifndef offsetof ... #endif 2000-10-12 03:42:33 +00:00
jeffs db1bb008f9 Set return value correctly for memcpy/memmove. 2000-10-10 20:29:03 +00:00
lukem 2a5013bcd3 show "press return" instead of "type return", since it's a key name and
not the actual word...
2000-10-02 23:35:54 +00:00
eeh 264b1139cd Prevent the compiler from blowing up on sparc64. From mrg. 2000-09-17 19:55:28 +00:00
msaitoh 3a0bdcde18 check _STANDALONE macro, too. 2000-09-09 00:16:21 +00:00
thorpej 9c5afcb2f0 Move the Alpha _mcount() into a .S file so that it can be
pre-processed, like other Alpha assembly files.
2000-09-05 16:28:30 +00:00
msaitoh 17c5382dc6 compile byte_swap_2.S and byte_swap_4.S 2000-07-21 11:19:46 +00:00
msaitoh 116abff968 support "big endian", too. 2000-07-21 11:19:10 +00:00
bjh21 bf14d56ba8 Add strtoul.c -- if_ea.c needs it. 2000-07-20 20:27:53 +00:00
matt 69a9192fb8 We need strncasecmp.c now. 2000-07-19 03:56:38 +00:00
matt 237e784779 ELFify 2000-07-19 03:48:24 +00:00
enami 84606936fb Fix an obvious typo in comment introduced by previous commit; the instruction
now compares a0 against a1 + a2, not a0 + a2.
2000-07-18 01:20:24 +00:00
jeffs efabca31b5 Make memcpy() the favored interface an swizzle the args for ovbcopy. Also
move bcopy XLEAF here from locore.S.  For 64b clean compilation add a
ld/sd section to the block copy.
2000-07-17 07:37:50 +00:00
mrg de53718be7 <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-27 18:01:06 +00:00
msaitoh e94e5fd681 new bcopy.S 2000-06-09 04:42:46 +00:00
msaitoh 431cb8da1c movstrSI*() for gcc -Os 2000-06-09 04:42:24 +00:00
sommerfeld 01d37fc7c9 Add missing trailing newlines. 2000-05-26 23:09:28 +00:00
msaitoh 127c1a76e9 fix the null pointer access bug when arg2 (char **endptr) == NULL 2000-05-25 01:22:41 +00:00
bjh21 6c97e2bd78 Initial commit of arm26 port 2000-05-09 21:55:44 +00:00
thorpej 707b3d59b1 __predict_true() the expressions passed to the assert family, so
as to move the calls to __assert() out-of-line.

Suggested by Bill Sommerfeld.
2000-05-08 23:33:15 +00:00
thorpej b193ffa77c Use __GNUC_PREREQ__(). 2000-05-05 00:20:22 +00:00
msaitoh 48c1343230 asm bcopy() for sh3 2000-04-20 13:52:35 +00:00
itojun 79e89da473 change copyright notice from 3-clause TNF -> 4-clause TNF.
not sure if which we prefer, but the point is to use exactly the same
copyright.  From: matthew green <mrg@eterna.com.au>
2000-04-19 15:16:02 +00:00
castor 5e29a96b48 Make standalone in_cksum work on little-endian machines, too, courtesy of
Jeff Smith, <jeffs@geocast.com>.
2000-03-31 19:55:09 +00:00
augustss 1279e67b6e Kill some more register declarations. 2000-03-30 12:19:46 +00:00
simonb 4ca596f6a0 Don't prototype __assert() if not STANDALONE - <sys/systm.h> has already
included <lib/libkern/libkern.h> to get the prototype by this stage.

XXX: should we just change <sys/systm.h> from
	#ifdef _KERNEL
	#include <sys/systm.h>
	#endif
     to
	#if defined(_KERNEL) || defined(_STANDALONE)
	#include <sys/systm.h>
	#endif
     anyways?
2000-03-29 03:19:52 +00:00
simonb 5ab3ed0c39 Multiple include protection. 2000-03-29 03:07:52 +00:00
simonb 20bd3ffa72 Remove duplicate declaration of __cmpdi2() 2000-03-27 12:00:48 +00:00
itojun 2dc247fc34 make CMSG_ALIGN always synchronize with kernel's idea of ALIGNBYTES.
ancillary data alignment will be ALIGNBYTES, not sizeof(long) - 1, from now.

CMSG_xx will NOT resolve into constant.  if you use CMSG_xx to allocate
arrays, you'll lose.

bump shlib minor for libc.

NOTE: if you are on top of arch with ALIGNBYTES != sizeof(long) - 1,
you need to recompile IPv6-related binaries.  there is no way to guarantee
backward compat in this aspect.  sorry for this.  this should be the last
backward compat breakage for IPv6-related ancillary data manipulation.
(we still have PR 9516 for unix-domain sockets...)
2000-03-02 07:41:49 +00:00
drochner f458367b3f cosmetics: remove double semicolon, whitespace 2000-02-03 19:53:03 +00:00
cgd fbf9177d1b provide stat() and fstat() here for standalone programs' use 2000-02-03 02:00:31 +00:00
tsutsui 11c8f56d48 Revert STRIPPROG -> STRIP 2000-02-01 05:25:24 +00:00
danw aedaba9bc9 add strtoul 2000-02-01 04:02:59 +00:00
tsutsui e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
msaitoh b0b4797dfb don't clobber r4 and r5 2000-01-03 02:40:04 +00:00
hannken 2b8c4ea32e Fix IS_DATA and IS_TEXT. PF_X and PF_W are valid on p_pflags, not p_ptype. 1999-12-29 11:08:02 +00:00
msaitoh 5517154d15 check _STANDALONE 1999-12-21 21:48:19 +00:00
simonb cfd10575d6 Add strtoul.c and sort sources alphabetically. 1999-11-29 23:24:59 +00:00
simonb 9c807e7a3c Move strtoul.c (via CVS repo copy) to libkern. Also sort prototypes
in libkern.h and sources in arm32/Makefile.inc alphabetically.
1999-11-29 23:12:56 +00:00
simonb 9e5fd23ce5 Copied from arch/arm32/arm32/strtoul.c,v 1999-11-29 22:51:19 +00:00
simonb a09d3191a0 Remove leading '/' from pathnames, using same logic as ufs.c. Allows new
style (but not yet committed) pmax bootblocks to open "/boot.pmax" on an
ISO image.  Same problem reported for NFS by Jason Thorpe.
1999-11-23 12:20:53 +00:00
matthias 87bb3a7b2b make this work again with -mrtd. 1999-11-16 18:16:53 +00:00
thorpej 728d672378 Backout my libsa changes. 1999-11-13 21:33:12 +00:00
thorpej ee03a4e035 Backout my libsa changes. 1999-11-13 21:29:12 +00:00
thorpej 36ff5d93e8 Backout my libsa changes. 1999-11-13 21:17:56 +00:00
thorpej 1e544cc5eb Backout my libsa changes. 1999-11-13 21:06:46 +00:00
lukem e8dc21a13a add -DNET_DEBUG to the list of commented-out debug options 1999-11-12 13:13:59 +00:00
lukem 053d3c3702 fix pointer size in debug message 1999-11-12 13:12:09 +00:00
simonb 7a03e8cda8 Add memset() prototype. 1999-11-12 12:24:42 +00:00
simonb c24b109ff0 "zutil.h" includes <lib/libsa/stand.h> now. 1999-11-12 12:12:13 +00:00
simonb fffdb85f69 Include <lib/libsa/stand.h> so that this builds with WARNS=1 1999-11-12 12:11:31 +00:00
simonb 3f691021a6 Add strncpy().
Add prototypes for bcmp(), bzero() so the libsa compiles with WARNS=1
1999-11-12 01:26:28 +00:00
thorpej ab395306cd Small, MI strcat() and strcpy(). 1999-11-11 21:23:27 +00:00
thorpej a7abffa1f2 The hack needed to work around gcc lameness. 1999-11-11 20:36:52 +00:00
thorpej 5dde9d67c2 Don't reference libkern.h in standalone programs. 1999-11-11 20:31:07 +00:00
thorpej 471a3aa8e4 Update for the improvements to libsa, and don't reference libkern.h. 1999-11-11 20:23:16 +00:00
thorpej 38200dd3e4 Networking routines needed for libsa to be self-contained. 1999-11-11 20:21:59 +00:00
thorpej c29af30c3c Minimal quad routines needed for libsa to be self-contained. The compiler
emits a reference to this one in the UFS code.
1999-11-11 20:20:35 +00:00
thorpej cad7e97082 Add small, MI strcmp(), strlen(), and strncmp() functions. Modules within
libsa depend on them, to it seems rather silly to have to build an additional
library (e.g. libkern) to get them.
1999-11-11 18:11:25 +00:00
thorpej ac3150a13d Add register prefixes. 1999-11-11 01:53:46 +00:00
thorpej 9aeef983e2 Sync w/ libc. 1999-11-11 01:32:10 +00:00
kleink 522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
msaitoh 3fd4c8b3b8 add strncasecmp.c 1999-10-21 15:05:08 +00:00
ragge ad78a78402 Include <lib/libkern/libkern.h> after sys/param.h, to avoid warnings
when memcpy et al is static inline.
1999-10-16 19:06:48 +00:00
itohy e72ef17380 - a.out header is not a part of text segment in NMAGIC.
- Fix section alignment code.
Patch supplied by Izumi Tsutsui, PR #8575.
1999-10-08 03:55:06 +00:00
is e203553a11 Finish support for auto-generated libkern divsi3.S. 1999-09-21 09:43:38 +00:00
ross 80fd51b82b Fix error flow that was broken 10 days ago in the previous commit.
Fixes the broken i386 boot blocks and closes port-i386/8432.
1999-09-20 11:58:15 +00:00
is 897dbf6c67 Use an identical source file for the libc and the libkern version of
divsi3.S, conditionally compiling the divide by zero case. This way,
after a change to the one, we can just copy it over to update the other
without creating ... problems. By Chris G.  Demetriou.
1999-09-20 09:22:47 +00:00
is 6b3625a6ad Oops. The overflow code should not have been copied from the userland
version.
1999-09-19 15:58:02 +00:00
is 6cf532dd3d Synchronize with fixed libc version:
If unsigned dividend > INT_MAX, or signed dividend == INT_MIN, be careful
to not overflow the divisor when shifting it to the left.
1999-09-17 11:42:56 +00:00
msaitoh 99ca8c39f5 unused file (we have an asm version) 1999-09-16 15:04:13 +00:00
sommerfeld e8a86fe7eb Include <lib/libkern/libkern.h> instead of <sys/systm.h>.
(the former no longer has mem* prototypes).
Remove the b* vs mem* kludge.
This change allows standalone libkern to build on alpha again.
1999-09-16 00:06:46 +00:00
itojun 65363da25e Merge in NetBSD/sh3 from cvs.kame.net repository.
Tree structure:
- sys/arch/sh3: sh3 generic code
	As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
1999-09-13 10:30:21 +00:00
drochner ff171dfb67 -don't use DEFS.h nor SYS.h in libkern
-remove setjmp.S, it's not useful for libkern
1999-09-10 15:39:04 +00:00
tron 2d8e6b7e97 Add prototype for memcmp() as suggested by Anders Hjalmarsson in
PR kern/8360.
1999-09-10 14:05:40 +00:00
drochner 7148323ba0 sync with libc 1999-09-10 13:21:14 +00:00
ross 54ab5cdc54 * Fix the volume zero recognition bug; it was interacting with a
feature to avoid rereads (which was added to work around bugs in
  old SRM versions that wouldn't rewind DATs, but would return no
  error on rewind callbacks)
* Initialize the volzero signature in ustarfs_open(), rather than as a
  side effect of the first read.
* Centralize error retry.
1999-09-10 07:22:03 +00:00
drochner 9b5129f15a add a function to verify a password against an in-core md5 sum 1999-09-09 15:52:37 +00:00
chs d1638a0354 sync with libc:
use RODATA() instead of ENTRY() for __ffstab so that it works when profiling.
1999-09-06 19:01:04 +00:00
ross ad3beb5695 Fix read retry error case. Closes kern/8300.
While here, add automatic error retry up to 3 times.
1999-09-01 02:32:26 +00:00
kleink ed6d5be482 Sync with libc: use _ALIGN_TEXT from <machine/asm.h>. 1999-08-23 09:07:35 +00:00
simonb 9e0209e2c8 Remove prototype for find_inode(). 1999-08-19 00:19:16 +00:00
cgd b43600a96e note that these files should be easily diffable (until they share common code 1999-08-18 21:33:50 +00:00
cgd b4ecb1b468 Add a standalone LFS implementation. Currently not merged with ufs (FFS),
but should be (and will be before too long).  Until then, it and ufs.?
should be easily diffable.
1999-08-18 20:04:39 +00:00
cgd cd10ee60f6 set f_seekp to 0 in ufs_open() before returning. It ended up being 0
in most situations, but not always: if the terminal path name component
being opened couldn't be found in the first fs block of the directory
that contained it, f_seekp would be non-zero (and Bad Things would result).
1999-08-17 02:26:32 +00:00
drochner 756fbc1ee8 fix damage in error handling crept in in 1.4 1999-07-12 12:34:57 +00:00
christos b953fb0414 bring back my friend the twiddle. 1999-06-22 22:44:16 +00:00
christos 16e8020994 Nuke obsolete printf comment. 1999-06-22 22:09:49 +00:00
cgd bb7cdd7c0b don't bother initializing 'freelist' -- it can be bss 1999-05-28 19:31:51 +00:00
eeh 4f46ad62b9 Find the udivrem.m4 in the proper directory. 1999-05-09 18:51:36 +00:00
pk 502e9c5778 Add .PATH.m4 1999-05-09 09:16:15 +00:00
eeh 06e7ea9afe Allocating a byte-array and then accessing it as 32-bit integers just won't work
on any machine that has alignment restrictions.
1999-05-09 00:22:46 +00:00
drochner e6b49c7863 move intoa() from libsa:net.c to libkern, turn inet_ntoa() into a macro,
nuke ip_convertaddr()
1999-05-07 14:49:52 +00:00
drochner 192b3c733c Build libraries for kernel/standalone code from within their compilation
directories and use .PATH to lookup the source files.
(Formerly, the libs were built from the source dirs, with MAKEOBJDIR
set to the compilation directory.)
This solves 2 problems:
-"mkdep" and "make" are now consistent about the file lookup, this fixes
 bad interactions with amd reported in PR bin/7374 (Arne Juul) and
 lossage reported by Andrew Gillham ("obj" dirs and relative paths still
 don't work well together)
-kernel compile trees can be moved around without forcing a new
 "make depend" - fixing PR kern/4021 by Martin Husemann
1999-05-07 14:28:50 +00:00
tsubai a5bf1bf4a2 Copy from libc. 1999-05-05 12:36:40 +00:00
christos a2c49bf69e Nuke local prototype for closeall(). Add a new define LIBSA_NO_CLOSE so that
we don't try to close files, if we are not using any other I/O.
1999-04-28 13:24:12 +00:00
christos 2da63ed66f cosmetic printf change 1999-04-28 09:12:24 +00:00
christos 0fdd24ecdc MI loadfile (used by i386, pmax and sparc shortly) 1999-04-28 09:08:50 +00:00
christos cd9b06e204 Don't try to use <stdio.h> (when -DDEBUG) if we are -D_STANDALONE or -D_KERNEL
Now the boot blocks compile with -DDEBUG
1999-04-22 16:32:01 +00:00
cgd 227295dad5 set lflag when printing pointers with %p 1999-04-20 23:04:17 +00:00
simonb 955a0aba21 Until <bsd.lib.mk> is fixed, don't try to guess whether or not to
use abicalls in kernel source.
1999-04-20 00:45:24 +00:00
ws 5423093850 Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
1999-04-17 21:16:45 +00:00
simonb 3395bf67b0 For the "update-sources" target, don't copy any src/lib/libz sources
that differ only in the first line (the NetBSD RCS header).
1999-04-15 02:28:36 +00:00
simonb 351120e29a Add uncompr.c to LIBZSRCS and zalloc.c to SRCS. 1999-04-15 00:52:58 +00:00
simonb 077cae2629 A simple implementation of zcalloc and zcfree in terms of the libsa
alloc and free.
1999-04-15 00:50:39 +00:00
simonb fe27047537 Add source file, copied from lib/libz/uncompr.c. 1999-04-15 00:48:03 +00:00
christos d15d073dcf add getopt prototype, and externs 1999-04-14 15:23:27 +00:00
drochner b7c510645f move "ls" utility from i386/stand/libsa here 1999-04-14 11:32:50 +00:00
drochner 2269d36c97 make libkern compile in userland - for testing purposes 1999-04-13 19:00:30 +00:00
drochner b6ab6f5dc1 This was an n_long, not u_long, so u_int32_t is correct. 1999-04-12 17:23:23 +00:00
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