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