Commit Graph

296 Commits

Author SHA1 Message Date
mp
9cd078f86a Make include file consistent with the rest of libstand. 2001-07-31 15:49:50 +00:00
dd
a145482cf6 Remove whitespace at EOL. 2001-07-15 07:53:42 +00:00
ru
317b7d8e37 mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 13:41:46 +00:00
dd
eaa6ee03b8 mdoc(7) police: remove extraneous .Pp before and/or after .Sh. 2001-07-09 09:54:33 +00:00
mikeh
eb666cf8c5 Reset errno so that subsequent TFTP requests don't fail after the
first failure.

PR:		misc/25502
MFC after:	2 weeks
2001-06-30 21:39:09 +00:00
msmith
18d7539d2e Correct the returned UDP datagram length. See the PR for a more comprehensive
description of the fix.

PR:		misc/25503
Submitted by:	Jim Browne <jbrowne@jbrowne.com>
MFC after:	1 week
2001-05-28 22:27:06 +00:00
msmith
10ff37925c The shortest valid TFTP packet is 4 bytes, not 8.
PR:		misc/25503
Submitted by:	Jim Browne <jbrowne@jbrowne.com>
MFC after:	1 week
2001-05-28 22:25:44 +00:00
dcs
bcc6e22c2f Replace functional bugs of ctypish functions in libstand with style
bugs.

reviewed by:	bde
MFC after:	1 week
2001-05-14 16:49:20 +00:00
markm
c3217820c0 Compensate for header dethreading. 2001-05-01 09:37:01 +00:00
msmith
d5cca47fac Unbreak world by defining isalnum() for libstand consumers. 2001-04-29 19:06:57 +00:00
gallatin
c75e034cd6 fix cd9660 to work on files larger than ISO_DEFAULT_BLOCK_SIZE and unbreak
cdboot on alphas (which has been broken since just after 4.0-RELEASE)

submitted by: jlemon
2001-04-07 23:48:46 +00:00
ru
25ef23ac1c MAN[1-9] -> MAN. 2001-03-27 17:27:19 +00:00
dfr
1915fa0c31 A quick and dirty port of libstand to ia64. 2001-03-06 16:11:36 +00:00
ru
2d99511f43 Prepare for mdoc(7)NG. 2001-02-22 15:03:09 +00:00
dcs
4656ee74ca Correct the prototype for pager_output(). 2001-02-22 10:58:30 +00:00
kris
65e412c000 Silence -Wnon-const-format 2001-02-18 04:51:47 +00:00
asmodai
7d76aced28 Fix typo: compatability -> compatibility.
Compatability is not an existing english word.
2001-02-06 12:05:58 +00:00
ru
8a6f8b5fe4 mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
ru
8ad24f0a49 mdoc(7) police: removed leading whitespaces that are not inside
Bd/Ed; these hardly degrade the quality of the produced output.
2001-01-19 14:15:40 +00:00
ru
8ba4187688 Prepare for mdoc(7)NG. 2000-12-29 14:08:20 +00:00
ru
c23c39b3a4 mdoc(7) police: removed history info from the .Os FreeBSD call. 2000-12-14 11:52:05 +00:00
ps
b9f1a189bc When TFTP tries to open a file, it is expecting struct open_file
member f_devdata to be a pointer to a socket number.  When currdev
is "pxe", that assumption is correct.  When currdev is "disk*", that
assumption is incorrect.

Submitted by:	Jim Browne <jbrowne@jbrowne.com>
2000-12-08 05:02:12 +00:00
benno
1b55b7a246 Disable the end guard for now.
The test for failing the end guard was always triggering (and was reported as
such in compiler warnings).  This is a temporary band-aid until I can work
out what's really going on.

Reviewed by:	obrien
2000-11-10 06:15:24 +00:00
benno
36ed9a46b8 Make setjmp work our way, as opposed to NetBSD's.
This file needs commenting still.

Submitted by:	luoqi
Reviewed by:	obrien
2000-11-10 06:10:28 +00:00
benno
397d6d3e99 Don't always enable debugging for the network device code.
Reviewed by:	obrien
2000-11-10 06:06:55 +00:00
ps
26690141b4 Honor the ip address given in the root-path dhcp option.
PR:	21743
Submitted by:	Brian Candler <B.Candler@pobox.com>
2000-11-05 14:55:09 +00:00
obrien
abe86defcd Inital PowerPC loader build support.
Submitted by:	Benno Rice <benno@jeamland.net>
2000-10-10 13:22:41 +00:00
obrien
db661fd431 Fix the embeded VCS ID for FreeBSD vs. NetBSD. 2000-10-10 13:15:26 +00:00
obrien
ef62f71c02 Architecture-specific setjump()/longjmp() bits for the PowerPC
needed by the loader.

Submitted by:	Benno Rice <benno@jeamland.net>
Obtained from:	NetBSD (Wolfgang Solfrank <ws@@tools.de>)
2000-10-10 13:11:47 +00:00
ps
a51e07d640 IN_CLASS*() macros assume host order and s_addr is network byte
order, so we must convert them to host order.
2000-09-20 18:16:20 +00:00
phk
fc5495e38e Turn dkcksum() into an __inline function.
Change its type to u_int_16_t.
2000-09-16 13:43:00 +00:00
ps
0f7130e6ed Backout last commit. It was wrong.. *sigh* 2000-09-10 01:17:47 +00:00
ps
0965196029 include string.h to silence a warning. 2000-09-10 01:10:15 +00:00
msmith
e2f94e5aa5 Expose the NFS root node, so that an evil consumer can use it to get the
NFS filehandle for the root mount.
2000-09-05 22:11:41 +00:00
msmith
6ff92c14b7 Implement readahead buffering for non-raw files. This drastically improves
the efficiency of byte-by-byte read operations on filesystems not already
supported by the block cache (especially NFS).

This should be a welcome change for users booting via PXE, as the loader
now reads its startup files almost instantly, instead of taking tens of
seconds.
2000-09-05 09:52:50 +00:00
peter
fc5face494 Make libstand compile 2000-09-03 11:29:18 +00:00
peter
baf02ac10c Add the -mpreferred-stack-boundary=2 option to reduce code bloat. We
compile the kernel with this.
2000-08-11 23:18:37 +00:00
ps
1dd134848f Add support to send the string 'PXEClient' as the Vendor class
identifier to the DHCP server.  Now you can check for this string
in your dhcp configuration to decide whether you will hand out a
lease to the client or not.
2000-08-11 08:36:17 +00:00
jhb
04f2dc8e0b Cleanup warnings by adding missint prototypes, removing unneeded duplicate
prototypes, and adding in several 'const's.  Also, add some missing
$FreeBSD$'s.

Found by:	BDECFLAGS
2000-08-03 09:08:29 +00:00
jake
961b97d434 Back out the previous change to the queue(3) interface.
It was not discussed and should probably not happen.

Requested by:		msmith and others
2000-05-26 02:09:24 +00:00
jake
d93fbc9916 Change the way that the queue(3) structures are declared; don't assume that
the type argument to *_HEAD and *_ENTRY is a struct.

Suggested by:	phk
Reviewed by:	phk
Approved by:	mdodd
2000-05-23 20:41:01 +00:00
peter
a07fee2cdf Fix the real problem that broke the Alpha loader this last week. It
was not the fault of the module code, nor FICL.  The malloc code requires
sbrk() to return addresses that were at least 16 byte aligned.  If the
Alpha loader happened to be 8 byte but not 16 byte aligned in length, then
you would get a zfree() panic at startup.

Incidently, this affected the i386 loader as well, and explains why
the static heap changed things and why jlemon had trouble when the bss
was not ending at a multiple of 8 bytes.

My fix is to 16 byte align it on all arches, even though the x86 version
only required 8 byte alignment (struct MemNode is smaller there).  We could
page align it if we wanted to be paranoid, but it isn't presently necessary.
2000-05-12 22:43:20 +00:00
peter
0f1968a738 We compile expressly on the alpha with -mno-fp-regs - so do not use them
explicitly here. This was the original cause of instruction faults on
the Alpha in loader. (not this code, but the same problem in libficl.a)
2000-05-12 21:48:54 +00:00
ps
75b9bb7e77 Fix comment. 2000-05-06 04:50:09 +00:00
ps
222439bc50 Add readdir support to the NFS filesystem in libstand. 2000-05-01 15:03:52 +00:00
ps
2cf1490ab7 Do not attempt to free a nfs node if it is the root node. The root
node is statically allocated and is not guarded, so free will panic
in nfs_close.
2000-05-01 10:53:21 +00:00
jlemon
9f5d586c97 Add a readdir function to the loader fsops vector, and implement the
functionality for some of the filesystesms.
2000-04-29 20:47:10 +00:00
jlemon
0340a88f8a Add ext2fs support to the loader. 2000-04-29 20:44:07 +00:00
ps
4422f2d83b Add a cleanup function. This is needed for PXE where you should
shutdown the UNDI and unload the stack.
2000-04-20 00:06:15 +00:00
ps
1e90e50f9f Break out sendudp and readudp from net.c. This is for PXE, so it
can use its own UDP interface.
2000-04-08 01:18:04 +00:00
sheldonh
329223e6f2 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-02 09:14:21 +00:00
obrien
edb0f8fb68 trailing white space removal. 2000-01-18 07:43:12 +00:00
obrien
1e82517f05 Add two new functions cd9660_readfile() & cd9660_readdir(), which
cd9660_read() now uses to read CDROMs.  With these changes FreeBSD/Alpha
can now boot from a bootable CDROM.

Submitted by:	dfr
2000-01-18 07:37:10 +00:00
peter
d53e4c1d80 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 05:07:58 +00:00
peter
8d188898fd Use the ctype.h version of isascii() - it doesn't loose precision and think
that 0x100 (int) is an ascii character.

Submitted by:	bde
1999-12-28 11:48:23 +00:00
peter
070fb078b6 Tidy up some loose ends. nullfs_read/write were returning the wrong value.
Fix some ctype problems - isascii() caused a warning if fed an unsigned
char - it's always > 0 and libstand is compiled with -Wall.
Missing prototype/include in printf.c
1999-12-27 08:45:14 +00:00
peter
89bff97f82 longjumperror() and abort() don't exist in libstand.. Don't test
for a condition we can't handle (like the x86 longjmp).  This was
highlighted by attempting to build FICL into the alpha loader.
1999-11-24 13:54:46 +00:00
dfr
d9e5c7d5f2 Change toupper/tolower so that they don't give a bogus answer if the
argument is already upper/lower.
1999-09-11 17:54:37 +00:00
peter
76f0c923fe $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
imp
404ab5f9ba More egcs warning fixes:
o use braces to avoid potentially ambiguous else
	o don't default to type int (and also remove a useless register
	  modifier).
	o Use parens around assignment values used as truth values.
	o Remove unused function.

Reviewed by: obrien and chuckr
1999-04-25 22:29:30 +00:00
jdp
14244169a1 Don't build with -g. The a.out egcs can't handle it at the moment.
This seems to have snuck back into the Makefile in an unrelated
commit (rev. 1.8).
1999-04-22 15:47:21 +00:00
dcs
f0e98b9519 Remove float-point dependency from i386's version of setjmp()/longjmp(). 1999-02-12 17:22:30 +00:00
dcs
6e51bd9735 Copy _setjmp.S from libc in preparation for loader-specific version. 1999-02-12 17:20:19 +00:00
jkh
97fc2dc4c8 Oops. Missed this in the last commit.
Submitted by: Daniel C. Sobral <dcs@newsguy.com>
1999-02-01 12:32:37 +00:00
msmith
192ad366a1 POSIX introduced optreset to deal with multiple invocations
of getopt (as in, multiple input lines :). This is documented in the
man page and is used in the code, but unistd.h and stand.h do not
declare it. Incidentally, it prevents me fixing a bug in loader's
code... :-)

PR:		misc/9373
Submitted by:	"Daniel C. Sobral" <dcs@newsguy.com>
1999-01-11 06:01:29 +00:00
peter
e99e311d6b Remove stray .endif from previous commit (I hope this is right) 1998-11-04 12:49:31 +00:00
msmith
e663a65541 Don't need this one anymore. 1998-11-04 07:40:05 +00:00
msmith
4674ed7cfb Well I never. Seems like _setjmp()/_longjmp() are just what the doctor
ordered.  This brings the Alpha back to parity, and should bring us
BootForth on both platforms.

Submitted by:	John Birrell (jb@freebsd.org)
1998-11-04 07:39:53 +00:00
msmith
dc1da60388 Improve the quality of isspace() to match expectations. This should make
the Ficl interpreter read its softwords array OK.
1998-11-04 07:04:00 +00:00
msmith
7294da4e68 Don't try to build (nonexistent) Alpha setjmp until we have one. 1998-11-04 00:32:08 +00:00
msmith
e29cc743ca Move setjmp/longjmp implementations here from libc; no signal handling
in libstand, only for i386 until I locate an alpha setjmp/longjmp.

Minimal 64-bit gcc integer support for i386.  This is kinda nasty, and
should be revisited once we decide whether the bootblocks need
quad arithmetic.
1998-11-04 00:23:18 +00:00
msmith
f00eb1aa64 Add:
assert()
	setjmp()/longjmp()
	vsprintf()
1998-11-01 09:31:08 +00:00
msmith
e6108119c4 Add a new field to the devsw structure; dv_print, to print all valid units
etc. associated with the device entry.
Consider EOF an 'error' for fgetstr if we haven't read anything yet.

You *MUST* recompile and reinstall libstand before rebuilding the bootstrap.
1998-10-31 02:48:29 +00:00
dfr
17c3d6ec94 Implement a hook to allow us to reclaim the memory used by the first stage
of the bootstrap (the bit which loads /boot/loader).
1998-10-19 09:08:40 +00:00
obrien
763d39061e To clarify last commit, msmith says:
The reason the Alpha has less room than the i386 is because the bootstrap
is given a 256K mapping by the firmware; to add more requires extra work.
1998-10-17 22:20:06 +00:00
msmith
2fb2fc3d2a Reduce the sbrk() increment from 64K to 4K. There's not much room on the
Alpha, and wasting potentially 64K-4 bytes of RAM just isn't an option.
1998-10-16 19:23:37 +00:00
msmith
56cd124a88 Add strcasecmp source file required for dosfs operation. 1998-10-07 13:50:17 +00:00
msmith
28bef97c3e Enable the DOS filesystem. This allows reading from various DOS filesystems
(FAT12/16/32, VFAT).

Make a private copy of strcasecmp, as the "real" one uses the system ctype
header, which introduces locale poisoning.
1998-10-06 19:23:57 +00:00
msmith
411f2725f9 Don't build with -g. 1998-10-04 08:10:29 +00:00
msmith
c0b467b849 Prune unused zalloc components as recommended by Matt Dillon. Extra debugging
code is still enabled (it's not very expensive).
1998-10-01 17:35:08 +00:00
dfr
236ad5eb3c * Enable old UFS compatibility code for booting from Digital Unix formatted
disks.
* Fix a whole raft of warnings, printf and otherwise.
* Make zalloc work for alpha (just a case of using the right typedef).
* Add some (disabled) malloc debug printing to stand.h.
1998-09-26 10:48:50 +00:00
dillon
7897bd89f8 Fixed setting of mp_End in zextendPool(). A case was missing and mp_Size
no longer reflects the mp_End - mp_Base equivalent.
1998-09-26 03:24:14 +00:00
msmith
ea783268e7 Replace the old and extremely icky Mach/NetBSD allocator with a similarly
compact and much better one donated by Matt Dillon.  Implement a simple
sbrk() which uses the existing setheap() api.

Remove the custom allocator from the UFS code.  It wasn't working quite
right, and it shouldn't be needed with the new allocator.

Fix a serious problem with changing the value of already-existent
environment variables.  Don't attempt to modify the supposedly-const
argument to putenv()

Fix an off-by-one sizing error in the zipfs code detected by the new
allocator.

Submitted by:	zmalloc from Matt Dillon <dillon@backplane.com>
1998-09-26 01:42:40 +00:00
dfr
7c71d4162d Use unsigned chars instead of signed chars when extracting bits of the
inet address.
1998-09-23 21:35:40 +00:00
jkh
17155df940 Include "stand.h", not <stand.h>. 1998-09-21 06:07:34 +00:00
dfr
48b3e54701 Allocate disk buffers using a custom allocator. The standard allocator fragments
extremely badly if disk buffers are freed back into the main heap and the alpha
bootstrap has a restricted address space which just ran out :-(.
1998-09-20 21:42:20 +00:00
dfr
0c4d54326b Use a simple version of inet_ntoa(). The libc one uses inet_ntop which is too
complicated.
1998-09-20 21:40:28 +00:00
msmith
efee224c31 Nuke prototype for strerror, consumers get it from <string.h>
Fix overlooked nullopen() implementation.
1998-09-18 23:00:57 +00:00
msmith
3b7700ffef Path arguments to *_open functions should be const, but we were mangling
them.

Submitted by:	write-protected text segment in BTX
1998-09-18 22:58:01 +00:00
msmith
565c7a3929 Remove (wrong) OBJFORMAT setting. 1998-09-15 02:30:22 +00:00
rnordier
ab70f0b218 Add support for reading directories as files.
Sort out fs_ops, alloc/free.
1998-08-27 10:45:20 +00:00
bde
16b9fca94f Fixed syntax errors (__dead should have gone away years ago, and
__attribute__(()) is a gccism - we use __dead2).
1998-08-24 02:54:33 +00:00
msmith
8e2e50a330 Install libstand header <stand.h> and manpage (libstand.3) 1998-08-20 08:23:12 +00:00
msmith
42e6e188ef This commit was generated by cvs2svn to compensate for changes in r38451,
which included commits to RCS files with non-trunk default branches.
1998-08-20 08:19:55 +00:00
msmith
b29bbd55da This is libstand; a support library for standalone executables (eg. bootstrap
modules).
Obtained from: NetBSD, with some architectural changes and many additions.
1998-08-20 08:19:55 +00:00
msmith
335c4be5b1 This is libstand; a support library for standalone executables (eg. bootstrap
modules).
Obtained from: NetBSD, with some architectural changes and many additions.
1998-08-20 08:19:55 +00:00