Commit Graph

1033 Commits

Author SHA1 Message Date
chs
2841e1341c add strtoul.c, it's now used in MI code. 2002-09-21 17:45:16 +00:00
ragge
77d3833330 Need strtoul() also. 2002-09-19 17:37:32 +00:00
thorpej
2699791533 Do not #include "/usr/include/arpa/tftp.h" directly. Doing so is
VERY BAD for cross-compiling.
2002-09-16 16:53:45 +00:00
msaitoh
a991dcef11 Add __movstr_i4_{odd,even} for -m4.
Written by SHIMIZU Ryo.
2002-09-05 08:35:15 +00:00
itohy
f89823c1f8 Save 1-4 instructions on all cases except for the ret=0 case.
This is probably the last version from me. :)
You are welcome to speed it up, of course. :)

Here's a benchmark on SH-4 200MHz.
9.2% faster if all the cases occur evenly.

return value	C version	previous vers	this version	speed ratio
of ffs()	(ns/call) *1	(ns/call)	(ns/call) *2	(*1/*2)
------------	------------	-------------	------------	-----------
 0		  86		 81		 81		1.06
 1		 110		106		 91		1.21
 2		 132		106		 92		1.43
 3		 165		117		 96		1.72
 4		 201		116		 95		2.12
 5		 237		107		 99		2.39
 6		 271		106		101		2.68
 7		 307		116		107		2.87
 8		 342		116		105		3.26
 9		 376		126		111		3.39
10		 410		127		110		3.73
11		 446		136		115		3.88
12		 483		134		116		4.16
13		 518		125		119		4.35
14		 551		126		120		4.59
15		 587		135		127		4.62
16		 624		136		126		4.95
17		 658		139		126		5.22
18		 694		140		126		5.51
19		 727		148		131		5.55
20		 764		150		131		5.83
21		 799		141		135		5.92
22		 834		142		135		6.18
23		 868		152		140		6.20
24		 903		153		142		6.36
25		 939		140		127		7.39
26		 974		141		126		7.73
27		1009		152		131		7.70
28		1044		148		130		8.03
29		1080		141		136		7.94
30		1115		141		136		8.20
31		1151		151		141		8.16
32		1185		151		140		8.46
2002-09-01 13:14:53 +00:00
itohy
fa5465079f Slightly improved version of ffs(3).
Partially from SHIMIZU Ryo <ryo@iij.ad.jp>.  Thanks.
Some cases are slower, but other most cases are faster.

Here's a benchmark on SH-4 200MHz.

return value	C version	previous vers	this version	speed ratio
of ffs()	(ns/call) *1	(ns/call)	(ns/call) *2	(*1/*2)
------------	------------	-------------	------------	-----------
 0		  86		 86		 81		1.06
 1		 110		 86		106 *(slower)	1.04
 2		 132		 86		106 *		1.25
 3		 165		105		117 *		1.41
 4		 201		104		116 *		1.73
 5		 237		111		107		2.21
 6		 271		111		106		2.56
 7		 307		126		116		2.65
 8		 342		125		116		2.95
 9		 376		122		126 *		2.98
10		 410		121		127 *		3.23
11		 446		139		136		3.28
12		 483		140		134		3.60
13		 518		146		125		4.14
14		 551		146		126		4.37
15		 587		161		135		4.35
16		 624		162		136		4.59
17		 658		141		139		4.73
18		 694		142		140		4.96
19		 727		160		148		4.91
20		 764		161		150		5.09
21		 799		167		141		5.67
22		 834		167		142		5.87
23		 868		181		152		5.71
24		 903		181		153		5.90
25		 939		146		140		6.71
26		 974		146		141		6.91
27		1009		166		152		6.64
28		1044		165		148		7.05
29		1080		171		141		7.66
30		1115		171		141		7.91
31		1151		185		151		7.62
32		1185		186		151		7.85
2002-08-28 15:34:35 +00:00
thorpej
181f0a9b54 Tweak the previous change so that a prototype is always provided. 2002-08-25 21:09:45 +00:00
itohy
6736303e13 Use assembly version of ffs(3). 2002-08-24 06:39:48 +00:00
itohy
85ce1de27f Oops, SYSLIBC_SCCS -> LIBC_SCCS 2002-08-24 06:37:24 +00:00
itohy
70b5675025 Assembly version of ffs(3).
Confirmed to return the same value as that of the C version.

The results of a simple benchmark on SH-4 200MHz, is shown below.
I think this shows acceptable performance.

return value	C version	this version	speed
of ffs()	(ns/call)	(ns/call)	ratio
------------	---------	------------	-----
 0		  86		 86		1.00
 1		 110		 86		1.27
 2		 132		 86		1.53
 3		 165		105		1.57
 4		 201		104		1.93
 5		 237		111		2.13
 6		 271		111		2.44
 7		 307		126		2.43
 8		 342		125		2.73
 9		 376		122		3.08
10		 410		121		3.38
11		 446		139		3.20
12		 483		140		3.45
13		 518		146		3.54
14		 551		146		3.77
15		 587		161		3.64
16		 624		162		3.85
17		 658		141		4.66
18		 694		142		4.88
19		 727		160		4.54
20		 764		161		4.74
21		 799		167		4.78
22		 834		167		4.99
23		 868		181		4.79
24		 903		181		4.98
25		 939		146		6.43
26		 974		146		6.67
27		1009		166		6.07
28		1044		165		6.32
29		1080		171		6.31
30		1115		171		6.52
31		1151		185		6.22
32		1185		186		6.37
2002-08-24 06:30:34 +00:00
ragge
3f5fba68de Do not try to use "__builtin_ffs" on vax, ffs is an instruction already.
Maybe possible to teach gcc to use it?
2002-08-23 08:45:27 +00:00
thorpej
c0d823519c GCC 2.95 supports __builtin_ffs(); use it. 2002-08-21 01:27:58 +00:00
thorpej
dafc960ed6 Local label fixup. 2002-08-17 19:00:26 +00:00
chris
d8ac0fb3aa pull in ffs.S from libc for arm.
The main benefit is that ffs always runs in constant time.
2002-08-17 01:22:33 +00:00
briggs
b98931f62e Use .L prefix for all local labels. 2002-08-15 18:30:36 +00:00
matt
7c4618a9ce cpu_info is not in spr0, but spr_g_0. 2002-07-30 06:10:46 +00:00
kent
6789db7962 Avoid redundant memory access. 2002-07-10 06:02:09 +00:00
scw
59474a8c82 NetBSD, meet the SH-5 cpu.
SH-5, meet NetBSD.

Let's hope this is the start of a long and fruitful relationship. :-)

This code, funded by Wasabi Systems, adds initial support for the
Hitachi SuperH(tm) SH-5 cpu architecture to NetBSD.

At the present time, NetBSD/evbsh5 only runs on a SH-5 core simulator
which has no simulated devices other than a simple console. However, it
is good enough to get to the "root device: " prompt.

Device driver support for Real SH-5 Hardware is in place, particularly for
supporting the up-coming Cayman evaluation board, and should be quite
easy to get running when the hardware is available.

There is no in-tree toolchain for this port at this time. Gcc-current has
rudimentary SH-5 support but it is known to be buggy. A working toolchain
was obtained from SuperH to facilitate this port. Gcc-current will be
fixed in due course.

The SH-5 architecture is fully 64-bit capable, although NetBSD/evbsh5 has
currently only been tested in 32-bit mode. It is bi-endian, via a boot-
time option and it also has an "SHcompact" mode in which it will execute
SH-[34] user-land instructions.

For more information on the SH-5, see www.superh.com. Suffice to say it
is *not* just another respin of the SH-[34].
2002-07-05 13:31:28 +00:00
bjh21
3763adaefd Avoid leaving junk in the top half of R0 on return.
This fixes port-arm/17440.
2002-07-01 19:07:18 +00:00
wrstuden
10d47b4dd3 Updated version of cscope/mkid support. Check libkern and compat lib
for source files. Also include header files in mkid run.
2002-06-18 23:46:52 +00:00
matt
940fedda07 Fix make breakage. $ZDST != ${ZDST} in make. make clean/cleandir now works. 2002-06-15 19:30:56 +00:00
itojun
c3e57df04c discard 256 bytes of output every time we stir (not just when initializing) 2002-06-14 03:05:46 +00:00
fredette
e978777b86 Added hppa support to libkern. 2002-06-06 20:03:37 +00:00
itojun
937b671271 use exit(int), not exit(void), consistently - even if the arg has no meaning. 2002-06-01 11:40:31 +00:00
itojun
c0e2bb0509 need libkern.h for bootloaders 2002-05-29 06:27:15 +00:00
bjh21
a20462dc6e Implement LIBSA_NO_FS_CLOSE, LIBSA_NO_FS_WRITE and LIBSA_NO_FS_SEEK.
LIBSA_NO_FS_SYMLINK and LIBSA_FS_SINGLECOMPONENT are irrelevant here.
2002-05-28 14:30:53 +00:00
bjh21
43079a573b KNF. 2002-05-28 14:26:01 +00:00
itojun
2e926ba699 no need for libkern.h 2002-05-28 12:21:22 +00:00
itojun
0ac289dea9 have arc4random(9). 2002-05-28 10:09:24 +00:00
lukem
e34d4e21de fix comment 2002-05-10 11:07:01 +00:00
simonb
5457f78a34 Don't bother testing if a uint8_t is > 256 -- that test is always false. 2002-05-09 02:44:39 +00:00
simonb
67c33ffcda Remove two shadowed variables, one of which was set to what it was
shadowing(!) and the other a temporary variable (as was it's shadow).
Code generated with "gcc -O2" is the same before and after.
2002-05-07 02:02:41 +00:00
martin
9f680534b0 Add strtoul. 2002-05-05 11:23:24 +00:00
ross
f98b9b43e8 Add strtoul.c 2002-04-24 16:56:36 +00:00
ragge
b0fa7eb2c1 Someone had a braino here; IP_TTL != IPDEFTTL. This caused the standalone
udp traffic to only have a ttl of 4.
Found by Jens Nilsson, jens@rockstorm.se.
2002-04-23 09:16:09 +00:00
martin
22143f5a44 Add strtoul.c, otherwise kernels using "wi* at pcmcia?" do not work
anymore.

Why only four archs provide this is beyound me.
2002-04-16 06:36:02 +00:00
matt
fd1c084a68 Add a 1byte pad to make the ustar_t word aligned so the uas_1cyl after it
will also be word aligned.  This makes the VAX VMB bootrom happy since it
doesn't support odd-aligned buffers.
2002-03-30 01:29:48 +00:00
matt
cb520da5b3 Refresh from libc. 2002-03-28 00:46:08 +00:00
fredette
58830d68c5 Added brand-new integer multiply and divide support, used only
on the m68000.
2002-03-26 22:49:32 +00:00
matt
12810ed37d Use size_t in prototype (so this will be LP64 clean for PPC64 someday).
Calculate len separately for icache & dcache in case each has different
cacheline widths.  Make the code for both loops the same except for the
dcbst/icbi.  Deal with sizes >=2GB properly (like that'll happen but ...)
2002-03-26 21:20:24 +00:00
fredette
d617871b0c On the m68000, if and only if gcc doesn't seem to know
where libgcc.a is, fall back to one under DESTDIR.
2002-03-22 00:17:12 +00:00
thorpej
6440db6488 * Add a NetBSD Vendor Class Identifier option as proposed on tech-net
in message <20020216172527.C23901@dr-evil.shagadelic.org>.
* Print the bootp/dhcp response, as is done for rarp/bootparam
  responses.
* Nuke bootp_flags and BOOTP_PXE; they're not used, nor should they be.
2002-03-20 23:10:39 +00:00
dbj
f0658bdada make compile with _STANDALONE 2002-03-18 05:10:58 +00:00
gmcgarry
d16aceedcc Protect remaining references to 'debug' with NETIF_DEBUG. 2002-03-17 05:46:37 +00:00
simonb
f28e18332c Move files[] from globals.c to its own file. Including all of globals.o
breaks the size limit for at least the pmax bootblocks.

Fixes PR port-pmax/15924 from Gregory McGarry.
2002-03-15 13:23:34 +00:00
eeh
4c434f6210 Updated from libc. 2002-03-13 00:59:29 +00:00
fvdl
104148a990 Sync with userland (1.1.4) 2002-03-12 00:42:23 +00:00
matt
e2d6f22138 Add register prefixes to these. 2002-02-24 00:12:41 +00:00
matt
6cad4b795d Upon further reflection, move udiv/urem to libkern and out of vax/vax. 2002-02-24 00:08:19 +00:00
thorpej
0b91bc440f Move files[] from open.c to globals.c, so that it's possible to
use libsa in an application where there are no file systems or
devices.
2002-02-23 05:44:24 +00:00
lukem
da694bd77b fix spelos 2002-02-22 12:46:53 +00:00
ragge
f2d946a56e blkset() used a register for set value that get clobbered by movc5,
causing the set area to get unpredictable contents.
2002-02-19 21:46:17 +00:00
thorpej
15bffcdeed Add a comment describing what SA_USE_LOADFILE is for. 2002-02-17 23:22:22 +00:00
thorpej
0d210931e3 Add a missing "static". 2002-02-17 23:19:00 +00:00
thorpej
bf9a052aa4 Add EOFFSET. 2002-02-17 23:18:32 +00:00
reinoud
e858ed8fa4 Not all ports use the `offset' in their calulations and on those platforms
compile errors are generated due to it. By explicitly using `offset=offset'
the variable is used in the compilers view and is optimised away anyway.
2002-02-11 20:25:56 +00:00
thorpej
2362fef9a8 Add __blkcpy() and __blkset() (renamed/modified from __blkclr()) to
libkern.
2002-02-10 22:04:51 +00:00
ross
e31435237d sync 2002-01-24 00:45:22 +00:00
uch
e71de3f668 R5900 short-loop bug. 2002-01-02 12:34:27 +00:00
thorpej
23ed6be403 Always provide alloca() as __builtin_alloca(). 2001-12-28 07:37:06 +00:00
shin
1bac15cba5 we need ffs(). 2001-12-27 00:10:39 +00:00
shin
6870c1d462 don't use .abicalls in kernel. 2001-12-27 00:09:59 +00:00
shin
e509d7712d copy from libc/arch/mips/string 2001-12-27 00:08:19 +00:00
thorpej
5ed948ecea The kernel is now built with -ffreestanding, so GCC built-ins are
disabled.  Explicitly re-enable some that we want to use, namely:

* memcpy() -> __builtin_memcpy()
* memcmp() -> __builtin_memcmp()
* memset() -> __builtin_memset()

* strcpy() -> __builtin_strcpy()
* strcmp() -> __builtin_strcmp()
* strlen() -> __builtin_strlen()

We might also consider some others for GCC 3.x.
2001-12-23 22:48:29 +00:00
tv
8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
wiz
b4371d47f5 Replace some misuses of "then" with "than". 2001-12-04 17:56:30 +00:00
mjl
f14e78b4c3 Disable bzero/memset assembler implementation until the dependency
problem on assym.h is sorted out and TRW to get at CACHELINESIZE in
the kernel is determined.
2001-12-02 11:03:39 +00:00
mjl
8231ab74c5 Add assembler version of strlen. 2001-11-30 02:27:20 +00:00
mjl
625c08cf7e Outifdef some stuff not needed in the _KERNEL case. 2001-11-30 02:25:50 +00:00
mjl
4ee3b0f097 Add assembler versions of ffs, bzero and memset. 2001-11-29 00:27:07 +00:00
jmc
2229499bfb Don't make clean and cleandir depend on the lib subdir. Just check for it's
existance before running the submake. This makes it possible to run a
make build (which runs cleandir before make obj) in a r/o source tree
2001-11-21 22:10:54 +00:00
chris
9cc0f33345 Tidy up some memory copying cruft:
bcopy.S is no longer needed
memmove and memcpy were both stacking r0 and unstacking it to keep the return value, so push this down into _memcpy.
rename _memcpy.S to memcpy.S.
memmove.S is now just a placeholder otherwise the make system automagically adds a memmove.c file to libkern.
memmove is just another entry point for memcpy.
2001-11-20 00:29:19 +00:00
lukem
2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
tv
4446c00002 Undefine DESTDIR; we don't want the special DESTDIR <bsd.lib.mk>
handling for kernel libraries.

XXX this build method should be replaced by something more sane
2001-11-14 21:59:31 +00:00
chris
4d1b8d545e Sync to libc version of divsi3.S. This is to fix up the stack for 8 byte alignment. 2001-11-13 20:06:40 +00:00
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