Commit Graph

379 Commits

Author SHA1 Message Date
cgd
bdbfa48c0b Add machine-independent assertion-checking support. macros are:
assert()	which always does assertion checking
			unless "NDEBUG" is defined.

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

	KDASSERT()	which does assertion checking if DEBUG is
			define.  This macro exists for compatibility
			with existing ports' assertion checking macros.
			(Assertion checking is not typically an
			"expensive" operation, and DIAGNOSTIC should be
			used for inexpensive consistency checks.)
1996-08-27 00:44:20 +00:00
cgd
fb6d196140 fix up for new libkern path specs 1996-08-21 19:18:47 +00:00
jtc
030f7ba872 Added to libkern in preparation for change from b* to mem*. 1996-08-15 22:59:11 +00:00
mycroft
811315ca92 Add anchors so that only exactly `-I. is modified. 1996-08-10 04:01:29 +00:00
mycroft
9c5b0780c0 Convert the -I. to -I${.OBJDIR}, so that the `machine symlink is available. 1996-08-10 03:00:51 +00:00
mycroft
44f440543f We dont need to pass down COMPATDIR and KERNDIR. 1996-08-08 15:15:16 +00:00
mycroft
3f0b5a641e Run the child make in the source directory, so that nothing here needs to be
changed when the compile directory is outside the source tree.
1996-08-08 15:06:39 +00:00
cgd
a906c164d2 frob the mask so that only the low set bit is set, to avoid lossage. 1996-07-15 05:20:19 +00:00
cgd
3f38b4d7ad add an assembly version of ffs(), copied down from libc 1996-07-15 03:13:41 +00:00
cgd
8042054add remove some unnecessary and broken casts on char *'s which are being subtracted 1996-07-10 18:41:38 +00:00
cgd
910efd056e nfs_read and nfs_write return 'int' rather than ssize_t. 1996-07-10 18:32:33 +00:00
abrown
de7ece6ce5 Prevent recursive invocation of mcount() while in kernel by setting profiling
state to BUSY while in mcount(). This allows profiling to work when mcount()
calls a profiled routine (for example, udiv on the SPARC).
1996-06-29 14:30:32 +00:00
pk
51347fcaaa Return useful file descriptor when opening a raw device. 1996-06-21 20:51:23 +00:00
pk
68f420b593 Oh, what's in a name.. 1996-06-21 20:29:28 +00:00
pk
b461ef1d17 Allow seeks on raw devices. A `f_offset' field is added to the file structure
which is maintained in lseek(), read() and write(), and passed along to
the device's strategy routine.
1996-06-21 20:09:03 +00:00
cgd
e1078396e5 copy down from libkern:
>use p->hashfraction when doing non-time-critical calculations, rather than
>using HASHFRACTION directly.  in time-critical calculations, if HASHFRACTION
>is a power of two, check that p->hashfraction == HASHFRACTION and if so do
>the calculation with the compiled-in value so that the compiler can optimize
>out (potentially) expensive divisions.  if p->hashfraction != HASHFRACTION,
>actually do the division.  This has the result that on machines with slow
>division, the division can be optimized out of the common case, but that
>if HASHFRACTION changes from the compiled-in value (for whatever reason),
>profiling will still work.  Changes suggested by Chris Torek.
1996-06-12 04:16:53 +00:00
cgd
352d972c94 locc() is unused. Remove it from the machine-independent kernel interface. 1996-06-10 15:33:33 +00:00
pk
433594b99d missing semicolon 1996-06-03 22:11:23 +00:00
ragge
28061842a2 Fix include file order to confirm to KNF in master tree also. 1996-06-02 13:28:21 +00:00
cgd
efd9d2dc7f Copy from libkern:
Add some casts so that we're not bitten by type promotions on 64-bit
systems.  Not a great concern since the only 64-bit system currently
supported by NetBSD (Alpha) uses assembly versions of these routines.
1996-05-29 23:39:30 +00:00
mrg
663808dfc5 use ' not " when passing variables to a sub-make. pr#1199/pr#1296 1996-05-20 17:23:25 +00:00
leo
c9a8578d2b Fix gcc -Wall warnings about printf arguments. 1996-05-14 10:28:18 +00:00
mycroft
540f9550c0 Make `make depend' work for libraries. 1996-05-11 16:11:30 +00:00
mycroft
e901286aad When sending an ARP request, use the interface address for the route, rather
than the first address assigned.  This gives slightly different behaviour in
the presence of aliases.  From Bill Fenner, via Pete Bentley.
1996-05-11 12:59:55 +00:00
scottr
ba554befe5 Make sure we clean up libkern.o and libkern.po, too. Closes PRs 1951
and 2387.
1996-05-10 21:27:32 +00:00
mark
d4fcd14ee3 No longer needed. The netbsd config for gcc/arm has been fixed to generate
correct profiling code.
1996-04-26 20:07:43 +00:00
mark
39b959c810 Added copyright message. 1996-04-26 20:05:28 +00:00
christos
0ca6a87952 Remove memset.c; it is not currently used, and .c files should belong in
the MI portion of libkern. When/if we move to use mem* routines in the kernel
we can add it to the MI portion/write a memset.s.
1996-04-23 23:05:22 +00:00
cgd
4a134a0780 don't include user-land headers in libkern files when compiling for
the kernel.
1996-04-18 02:19:59 +00:00
cgd
1813cc71d0 don't include user-land headers in libkern files when compiling for
the kernel.  memset.c does not belong here.  it either belongs in
the MI libkern directory, or does not belong in libkern at all.
1996-04-18 02:19:07 +00:00
cgd
55afd9912f don't get rid of the -D_KERNEL in KERNCPPFLAGS 1996-04-18 02:14:48 +00:00
cgd
a5dc646be0 use assembly version of strcat (copied down from libc) 1996-04-18 01:53:04 +00:00
cgd
eccf43e127 files copied from libc 1996-04-17 22:46:34 +00:00
cgd
e70b1375c9 add strncasecmp.c to ports' libkern Makefile.inc's. When adding a new
source file to libkern, it should be added to _ALL_ ports makefiles if
it is machine-independent and used by machine-independent code (in
this case adosfs).  (There are several arguments that say that
strncasecmp should not be in libkern at all, and i think they're
good ones, but as long as ADOSFS needs it to link, it has to be here
for all architectures.)
1996-04-13 01:17:27 +00:00
christos
fb901eb966 - Add missing prototypes
- Bring prototypes into scope
- Correct prototype for skpc
1996-03-14 18:52:03 +00:00
scottr
e494b8793f Back out previous change. 1996-03-11 05:46:51 +00:00
scottr
c31eae0510 Back out previous change. 1996-03-11 05:31:59 +00:00
thorpej
e142a2195f Provide a memset() for the i386 (assembly version), and move memset.c
out into the libkern proper in case other ports want to use it.
i386 kernels with COMPAT_LINUX should compile now.
1996-03-11 03:19:37 +00:00
gwr
056810ed99 Make this code independent of <sys/nfs> now that we use very little
from there anyway, so we can ignore changes in the NFS code...
1996-02-26 23:05:14 +00:00
scottr
6a0803ca9a Make these build again in the wake of the v3 changes 1996-02-26 21:50:07 +00:00
scottr
c24557134f Needed for NFS booting; we aren't likely to use v3 here any time soon. 1996-02-26 21:49:34 +00:00
christos
1cb0b13391 Add declaration of strncasecmp. 1996-02-13 23:48:26 +00:00
christos
14d9cd33af netinet prototypes 1996-02-13 23:40:59 +00:00
gwr
b3ba75d64e use vprintf where appropriate 1996-02-09 16:10:59 +00:00
gwr
7ce27395a6 Need vprintf() for things like panic(). 1996-02-08 20:19:36 +00:00
christos
b07937f401 Make it really work like strncasecmp, instead of 0/1 return codes. 1996-02-06 21:35:31 +00:00
christos
70552d3392 Add strncasecmp.c; extracted from ADOSFS adlookup.c. 1996-02-06 21:22:00 +00:00
mycroft
f96fc7f12e Simplify, and add support for passing CPPFLAGS. 1996-02-02 20:34:38 +00:00
mark
f56b429c95 Initial commit of the NetBSD/arm32 port. 1996-01-31 23:44:43 +00:00
thorpej
43349cd7ef Add a memcpy() function, just a cheezy wrapper around bcopy(). Yes,
it's really true...we didn't have one before, even though the Makefile
thought we did.  (Yes, I checked the Attic...)
1996-01-30 19:45:34 +00:00
gwr
38c7f668a2 Clean-up open/close logic of "net" device. Fixes PR 1726 1996-01-29 23:54:14 +00:00
leo
b7b97847ce Some files containing more than one function are split. This reduces the
size of the resulting loader. The read_inode() function now returns the
result of the strategy function instead of success in all cases (ufs.c).
Fixes pr#1817
1996-01-13 22:25:32 +00:00
pk
284c0cd0b1 Make `time difference' a signed quantity explicitly. 1995-12-13 23:38:10 +00:00
gwr
63a836a44a Check return value from sendrecv so that ARP timeout does not cause
garbage to be entered into the ARP table.  Also fix ARP_DEBUG code.
1995-12-08 04:12:53 +00:00
gwr
63e145ebd7 Correct error which caused truncation of port number on i386 (PR#1823) 1995-12-08 04:10:28 +00:00
jtc
0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
thorpej
87093145ce Use bzero() instead of memset(..., 0, ...). 1995-11-29 06:12:08 +00:00
cgd
dfad729a16 make netinet work on systems where pointers and longs are 64 bits
(like the alpha).  Biggest problem: IP headers were overlayed with
structure which included pointers, and which therefore didn't overlay
properly on 64-bit machines.  Solution: instead of threading pointers
through IP header overlays, add a "queue element" structure to do
the threading, and point it at the ip headers.
1995-11-21 01:07:34 +00:00
cgd
40a4907f5e oops; i forgot these u_int -> size_t conversions. 1995-10-20 01:35:25 +00:00
cgd
6b49a2ceed copy from libkern 1995-10-20 01:16:02 +00:00
cgd
35742ffe0a use NetBSD RCS id format. use bzero.S, not bzerro.c 1995-10-20 01:15:37 +00:00
cgd
47667c7df1 set, don't add to, CFLAGS from KERNCFLAGS. Do assignment of CC and
CFLAGS earlier, so that the arch-specific Makefile can add to them.
1995-10-20 01:10:06 +00:00
cgd
51f39e4840 fix prototypes here, to match u_int->size_t changes in ufs.c 1995-10-20 00:54:17 +00:00
cgd
d7a207fd49 update from libc 1995-10-20 00:53:28 +00:00
cgd
6c46625cf7 cast pointer to long, not int 1995-10-20 00:47:47 +00:00
cgd
2677a05d99 fix spacing in header 'room to leave' comment 1995-10-20 00:46:30 +00:00
cgd
e7290be2cd add prototypes for static functions. make ffs_oldfscompat static.
fix some arguments and structure members, in recognition of the fact
that (u_int == u_long == size_t) is not true on all systems.
1995-10-20 00:42:21 +00:00
jtc
af8ead3302 Fix from Jochen Pohl which fixes case where quad multiply
goes awry if bit 31 of at least one of the operands is set
(PR #1591).
1995-10-12 15:05:35 +00:00
pk
600acb3b06 Conditionalize ancient @' and #' erasors. 1995-10-11 21:16:57 +00:00
mycroft
9782971b02 Remove setjmp() and ffs(). 1995-10-07 22:26:53 +00:00
mycroft
209bd1b877 Build libkern as one .o file, so that all symbols defined therein are
always available to loadable modules.
1995-10-07 09:56:54 +00:00
mycroft
120925e7c3 Remove bzero.S and setjmp.S, as these functions are in locore. 1995-10-07 09:52:48 +00:00
mycroft
a09832e624 Update from libc. 1995-10-07 09:26:14 +00:00
phil
1f494d0265 Don't add network files to SRCS if NO_NET is defined. (I'm getting
very short of disk space on STEELHEAD!)  The pc532 doesn't use the
network (yet?) from boot.
1995-10-01 06:00:32 +00:00
pk
de4e651542 Careful with initializers. 1995-09-27 23:14:57 +00:00
jonathan
65c53f255c Remove old .PATH directives that referenced libc source.
Libkern has its own copies of all the requisite source files.
1995-09-26 18:27:24 +00:00
leo
230fb12a7a Add abs() function as an 'inline'. The atari-port needs it since the
-fno-builtin is used in the kernel Makefile.
1995-09-23 20:35:47 +00:00
thorpej
df8c694f7e Add an inet_addr() function; return network-order numeric representation
of an IP address from `aa.bb.cc.dd'-style text input.
1995-09-23 17:14:40 +00:00
gwr
23ee56022d Cleanup, and catch up with libsa changes. 1995-09-23 03:42:17 +00:00
gwr
6f2a9404ee More cleanup: change some private types to eliminate casts,
replace some "goto xxx" with return(-1). (mostly cosmetic)
1995-09-23 03:36:06 +00:00
gwr
bdad6c4104 Fix/improve some comments. 1995-09-23 03:31:50 +00:00
thorpej
c9a13fa080 Assume that if devopen() points `file' at a NULL that a raw device was
opened (as opposed to only checking to see if `file' itself is NULL).
1995-09-19 09:16:52 +00:00
pk
d9124da47f Another round of clean up, including fixes presented by Matthias Drochner
(PR#1404). Things to be noted:
	- all IP addresses are now `struct in_addr's.
	- the function rarp_getipaddress() no longer return `myip'; in stead
	  it returns -1 on failure (errno set), 0 on success. `myip' is set
	  as a size-effect.
1995-09-18 21:19:18 +00:00
pk
f5cf4bbc37 De-activate DEBUGFLAGS again. 1995-09-17 01:01:07 +00:00
pk
82e5cf06bc Revert fs_ops read/write declarations; these return error numbers.
Get rid of some more compiler warnings.
Set errno where appropriate.
1995-09-17 00:49:37 +00:00
pk
7824355d25 libsa compilation is no longer controlled from here, obviating the purpose
of this makefile.
1995-09-15 21:04:33 +00:00
pk
84c517c128 Clear up some size_t/ssize_t confusion. 1995-09-14 23:45:21 +00:00
pk
0c92121b3f Mirror libkern makefiles. 1995-09-14 20:55:00 +00:00
gwr
0081434965 Correct the padding to min Ethernet packet size. 1995-09-13 15:06:12 +00:00
thorpej
eb50acd998 Changes from Gordon Ross:
a) check against `my' ethernet or broadcast addresses done in
	   ether.c
	b) changed interface to readether() to provide ethertype info
	c) respond to arp requests when appropriate.
First two are clean-up.  Last fixes hp300 and presumably mvme68k netboot
code.
1995-09-11 21:11:36 +00:00
pk
07f70f97f1 Avoid calling device-close routine when open() not completed. Otherwise you
lose if this sequence occurs: open()->devopen()->...->panic()->closeall().
1995-09-06 19:53:27 +00:00
pk
848dfdfec6 Fix bogus numerical conversion by using sprintf(); 1995-09-03 20:56:14 +00:00
pk
8ede82abe2 Merge an sprintf() in. 1995-09-03 20:51:21 +00:00
pk
904eed507d Add a driver hook to the `netif' structure. 1995-09-03 20:49:38 +00:00
cgd
26fbf3bbb8 prototype inline functions, almost as suggested by Jonathan Stone in PR 1258. 1995-08-14 05:43:24 +00:00
gwr
b090a64678 Add bcea[] here now that is is gone from arp.c 1995-08-08 20:59:07 +00:00
thorpej
9800370998 Fix off-by-one error when padding text segment. 1995-08-04 07:37:03 +00:00
thorpej
fb56ae3095 Kill extra declaration of bcea[]. It's also defined in globals.c. 1995-08-04 01:17:26 +00:00
gwr
492a481622 Removed libc_sa, libnetboot 1995-07-10 23:14:46 +00:00
gwr
0604e38f2e Nobody uses this anymore (all use ../libsa) 1995-07-10 23:09:30 +00:00
gwr
0a035e5e9f Can not use htonl() in static initializers. (Fixes PR 1188) 1995-07-03 04:56:33 +00:00
gwr
2d83203f6a Build all RPC requests with AUTH_UNIX (thanks to Chuck Silvers) 1995-07-03 02:59:16 +00:00
christos
6b27eeffbc Don't make libkern. 1995-06-30 03:00:33 +00:00
cgd
8357feb486 update dependencies to deal with the alpha 1995-06-28 02:59:12 +00:00
gwr
b4c3997cb9 Support functions for NFS boot (get server address and root path). 1995-06-27 15:32:40 +00:00
gwr
539a3bff11 Modified to do less copying, and to allow determination of
the address from whence the reply has come.
1995-06-27 15:28:58 +00:00
gwr
1fe28794f3 Fix ARP opcode, add more debugging prints. 1995-06-27 15:27:24 +00:00
gwr
55eb5a12f1 Re-work for new rpc interface, and simplify a bit. 1995-06-27 15:25:30 +00:00
gwr
d7e1ef6af2 Pad HEADER_SIZE for alignment. 1995-06-27 15:23:18 +00:00
gwr
0e4efb30ef Pad the request out to the minimum Ethernet length.
Improve some debug prints...
1995-06-27 15:18:57 +00:00
christos
2cb09c2709 Add the ability to override KERNREL and KERNDST. 1995-06-26 03:25:46 +00:00
christos
fc5a8cffa2 Build libkern in the kernel compilation directory, like libcompat. 1995-06-24 20:31:12 +00:00
mycroft
6897f39ae9 Various cleanup, including:
* Convert several data structures to use queue.h.
* Split in_pcbnotify() into two parts; one for notifying a specific PCB, and
one for notifying all PCBs for a particular foreign address.
1995-06-12 00:46:47 +00:00
gwr
8e179d8e95 Have netboot! 1995-06-09 22:02:39 +00:00
cgd
dd614d8474 parenthesize macro arg usage 1995-05-16 05:26:36 +00:00
cgd
05af191f3b spacing fixups and KNF. #define ether address size, so it's not
hardcoded as '6' all over.
1995-05-15 01:30:44 +00:00
cgd
b835913465 first arg to open() is a 'const char *'. pointed out by David Brownlee
in pr 1004.
1995-04-30 03:57:54 +00:00
cgd
a24d2f6e17 cast pointers to longs, print appropriately 1995-04-22 14:10:10 +00:00
cgd
b94f71c618 prototype strlen; shouldn't be here. 1995-04-22 14:09:29 +00:00
cgd
29038d1929 cast pointers to longs 1995-04-22 14:09:00 +00:00
cgd
f8e4de6a7a ints and pointers of various types are _NOT_ interchangable in protos 1995-04-22 14:07:54 +00:00
cgd
01208c85a3 cast pointers to longs, kill stupid local var return error, types. 1995-04-22 14:01:40 +00:00
cgd
586427643d various attribute poisoning, don't be as quick to specify size of files[] 1995-04-22 13:57:03 +00:00
cgd
4316c36ca7 cast pointers to longs 1995-04-22 13:53:48 +00:00
cgd
07231e5b52 note properly whether or not functions return, etc. 1995-04-22 13:51:19 +00:00
cgd
60b1ffa877 cast ptrs to longs, etc. 1995-04-22 13:50:27 +00:00
cgd
06b2dbd4dd cast ptrs to longs. 1995-04-22 13:47:52 +00:00
cgd
84d0d2f495 various type fixups 1995-04-22 13:46:50 +00:00
pk
1778fc8e4a eserve the equality "x == y*(x/y)+(x%y)" for negative y; from Lon Willett. 1995-04-22 09:37:39 +00:00
ragge
dfcfbc4f03 Added VAX specific makefile. (In libkern/arch/vax) 1995-04-18 21:59:46 +00:00
cgd
c03b53c2e8 spacing cleaup. also, minor type mixup fixups. 1995-04-17 05:32:52 +00:00
cgd
b5b72d26ea be a bit more careful and explicit with types. (basically a large no-op.) 1995-04-13 06:25:36 +00:00
mycroft
2f30839b62 Remove now unneeded #ifdef. Prototype new function. 1995-04-10 00:06:54 +00:00
briggs
6efcd1b6d4 KERNEL -> _KERNEL 1995-03-29 21:57:43 +00:00
jtc
db0046c14d KERNEL -> _KERNEL 1995-03-28 19:59:56 +00:00
jtc
7c04233887 KERNEL -> _KERNEL 1995-03-26 20:23:52 +00:00
glass
af55380e5a remove references to arptnew. fix spelling error 1995-03-06 19:06:05 +00:00
cgd
b5d8c76eb5 copy down from libc. 1995-03-03 01:14:11 +00:00
mycroft
4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
glass
48b5b94c4f fix some typos. from frank@fwi.uva.nl (Frank van der Linden) 1995-02-27 09:10:24 +00:00
mycroft
3757efcbfc Clean up a little. 1995-02-21 10:14:53 +00:00
mycroft
97cf758f6d Add EFTYPE. 1995-02-21 07:52:45 +00:00
mycroft
cba39e9e88 Correct some error strings, and add a few more. Don't print error messages in
exec(); let the caller do it.
1995-02-21 07:38:37 +00:00
mycroft
248e7ebfb0 Update prototypes. 1995-02-21 07:16:24 +00:00
mycroft
d031ff677c exec() doesn't need to return a value. 1995-02-21 07:14:37 +00:00
mycroft
2af23945b3 Add the security check in the hp300 code, and clean a little. 1995-02-21 06:56:06 +00:00
mycroft
2d7464c4b9 Add a generic twiddler. 1995-02-21 06:33:22 +00:00
mycroft
258efc53df Various:
* Fix some misused types.
* Encapsulate the protocols better.
* Rearrange the RPC stuff to work more like the kernel.  (Needs more work.)
* Remove a bunch of extra hair when reading a file over NFS.
* Use RPCAUTH_UNIX when talking to the NFS server.
1995-02-20 11:04:00 +00:00
mycroft
fcf2c007f3 Define netif_debug in here. 1995-02-20 00:19:09 +00:00
mycroft
ffd9c97e2a Add some more diagnostic info. Increment the xid in a better place. 1995-02-19 23:52:18 +00:00