dsl
f671893500
Files to build ffsv1 and ffsv2 versions of ufs.c
2003-04-11 11:28:54 +00:00
dsl
af3660bcdb
Use common ffs/lfs file ufs.c instead of lfs specific version.
2003-04-11 11:27:06 +00:00
dsl
5a0534abeb
Merge in lfs.c, use defines to build ffsv1, ffsv2, lfsv1 or lfsv2.
...
(removes the ability to build a single ufs.o that supports ffs v1 and v2,
that animal was too large for some of the boot code.)
Use shifts and masks to avoid pulling in 64bit divide.
2003-04-11 11:24:49 +00:00
dsl
fbf4bd0cfe
Put extern definition of bcopy in () to avoid macro expansion when
...
LIBSA_USE_MEMCPY is defined. Fixes breakage because the return
type of memcpy() is different to that of bcopy.
2003-04-11 10:34:38 +00:00
dsl
cff85b34d5
Fix prototypes of null_read and null_write, change to return errno values.
...
This code can't actually be used anywhere! I don't think its obvious use
would compile!
2003-04-10 14:44:05 +00:00
dsl
4a16b1cc1d
Add FS_DEF() and FS_OPS() defines to save typing (and errors) elsewhere.
...
Kill __P() and argument names in prototypes.
(approved by christos)
2003-04-10 14:39:46 +00:00
he
97b6d5bf4f
Conditionalize declaration of local variable ``i'', now that the
...
code which uses it is also conditionalized.
2003-04-02 19:47:25 +00:00
fvdl
42614ed3f3
Add support for UFS2. UFS2 is an enhanced FFS, adding support for
...
64 bit block pointers, extended attribute storage, and a few
other things.
This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.
Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.
2003-04-02 10:39:19 +00:00
mycroft
0b87bcb397
constify a couple of pointers.
2003-04-01 21:09:32 +00:00
drochner
8b0843a5b2
There is no point in initializing "rootpath" to "/".
...
Move it into BSS.
2003-03-27 12:28:58 +00:00
mycroft
c6052ec21f
const! const!
2003-03-25 22:35:36 +00:00
drochner
f81c1c504b
remove stuff just moved to bootparam.c and some variables which are
...
never used.
2003-03-19 17:19:32 +00:00
drochner
3906113e15
Move global variables which are used only by bootparam here.
...
("domainname" is useless and could be removed, but adding code to
skip this in the RPC reply would probably be more expensive than leaving
it as a dummy variable.)
2003-03-19 17:18:07 +00:00
mycroft
f6258762e1
Move some stuff into .rodata.
2003-03-18 19:20:09 +00:00
drochner
68edf0e576
separate ether_sprintf() from the rest of ethernet support -- sometimes
...
it makes sense to use the former w/o the latter (eg PXE)
2003-03-12 16:46:31 +00:00
drochner
7b3b2ea783
no need to include "netif.h" anymore
...
(shared interface stuff is in iodesc.h, included by net.h)
2003-03-12 14:51:31 +00:00
drochner
7816074c59
separate the netif interface from the rest of the networking code,
...
so that it can be replaced easily in md code
2003-03-12 14:49:19 +00:00
jmmv
5649a49e43
After the "insert disk <number>, and press return..." message, check only
...
for the return keypress.
2003-03-11 19:43:04 +00:00
drochner
dd688f888f
translate EACCES (happens with NFS)
2003-03-11 15:02:54 +00:00
dsl
ef50700873
LIBSA_NO_CLOSE is LIBSA_NO_FS_CLOSE everywhere else.
2003-03-07 00:46:37 +00:00
ragge
e8d062d58b
Remove bogus check for bogus netmask.
2003-02-25 14:42:30 +00:00
pk
d71686ab26
Introduce fdloadfile() to load an image from an open file descriptor;
...
implement loadfile() in terms of it.
This allows clients to open a file once and "load" it multiple times (e.g.
first with COUNT_KERNEL, then with LOAD_KERNEL) without the side-effects
of multiple open calls.
2003-02-24 10:51:05 +00:00
simonb
6e4342ca79
Add support for LFSv2 filesystems. From a libsa standpoint, LFSv1 and
...
LFSv2 are treated as separate filesystem types for size considerations.
2003-02-23 23:17:42 +00:00
simonb
7d43baad24
Use the MAX() macro from <sys/param.h> instead of a local inline. Results
...
in same code size in ufs.c and removes an unused inline function in lfs.c.
2003-02-23 22:47:43 +00:00
simonb
8d6004faf3
We can't use <string.h> for standalone programs;
...
use <lib/libkern/libkern.h> for str*() prototypes instead.
2003-02-23 12:31:29 +00:00
dsl
2d1837c8fc
KNR, removing ugly 'unsigned' variables.
...
Probably should be size_t, but now matched prototype.
(mainly agreed with christos - he wanted size_t....)
2003-02-01 14:57:02 +00:00
dsl
912fab6ec9
Beautify a little
2003-02-01 14:54:22 +00:00
dsl
2c4edf02a4
Save some space
...
(agreed by christos)
2003-02-01 14:53:38 +00:00
dsl
3080e19ff3
Support limited filename globbing
...
- agreed by christos
2003-02-01 14:52:13 +00:00
fvdl
a3ff3a3038
Bump daddr_t to 64 bits. Replace it with int32_t in all places where
...
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
2003-01-24 21:55:02 +00:00
christos
8453828bf1
PR/19607: Bernd Ernesti: libsa does not have access to arpa/tftp.h. Put a
...
copy of it in our tftp.h
2003-01-12 18:59:15 +00:00
veego
a64314e402
Fix broken build due too the move of the cd9660 and msdosfs kernel source code.
2002-12-30 16:41:53 +00:00
pk
bd20047a69
Only display the final progress counter if any of the LOAD_ flags was given.
...
Fix comment describing the return value.
2002-12-11 09:55:20 +00:00
thorpej
e8cc3884de
Rename __LDPGSZ to AOUT_LDPGSZ, to accurately reflect what it is.
2002-12-10 17:14:02 +00:00
provos
0f09ed48a5
remove trailing \n in panic(). approved perry.
2002-09-27 15:35:29 +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
itojun
937b671271
use exit(int), not exit(void), consistently - even if the arg has no meaning.
2002-06-01 11:40:31 +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
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
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
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
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
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
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
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
tv
8e6f7afb5b
MKfoo=no -> NOfoo
2001-12-12 01:48:43 +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
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
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
jdolecek
a8fcba2901
Fix compilation on Alpha with ARP_DEBUG.
...
Fixes kern/6440 by R. C. Dowdeswell
2001-10-18 19:00:38 +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
tsutsui
cf574991b8
Add a small version of memmove() for libsa.
...
Mostly identical with libsa/bcopy.c.
2001-09-02 07:04:16 +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
23a3a54650
libkern.h now has the ctype routines.
2001-04-05 04:39:02 +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
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
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
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
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
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
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
tsutsui
e61f177ab1
STRIP -> STRIPPROG
2000-01-19 16:29:54 +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