Commit Graph

557 Commits

Author SHA1 Message Date
thorpej
66f972ab70 Need byteorder.c for loadfile_elf*.c 2001-10-31 21:39:02 +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
jmc
60263432a6 Add the fact that SRCS depends on machine. This way the link is always created
Otherwise trying to do make installboot.o will fail
2001-10-04 04:15:17 +00:00
jmc
806aee01eb Don't force CFLAGS to -g for all builds. 2001-09-30 23:02:25 +00:00
tls
9b9300274d GCC 2.95 generates significantly larger code with -O2 than our old compiler did; this can cause the second-stage bootblock to exceed the number of blocks that fit in the list in the first-stage bootblock. I thought we used to explicitly set -Os in here; anyway, with this change, we do now! 2001-09-23 23:43:29 +00:00
tv
ab11c169b5 objcopy -> ${OBJCOPY}; remove redundant definitions of OBJCOPY?= (it is
now in bsd.own.mk).
2001-09-22 03:34:17 +00:00
wiz
d0b8cdc6a9 When using va_list, use vprintf, not printf. 2001-09-20 22:11:30 +00:00
enami
b605664b49 Include bsd.own.mk a bit earlier so that make cleandir works. 2001-08-18 12:53:58 +00:00
enami
cebeb402de Fix white space usage. 2001-08-18 12:48:59 +00:00
bjh21
ad2c12a28d Bump version numbers of all bootloaders that use loadfile/ELF, to account for
my changes to symbol loading.  I should probably have done this at the time,
but it's better late than never.
2001-08-02 12:24:05 +00:00
drochner
23204e4b5f document 3c90xb support
use default settings which make more sense (for me)
2001-07-25 12:51:44 +00:00
drochner
a3cdd518ad make it compile after i82557reg.h changes 2001-07-25 12:47:34 +00:00
perry
c3748d9175 b*()->mem*() 2001-07-07 22:57:57 +00:00
itojun
1e8074db2e sort boot flag to alphabetical order. add -c. 2001-07-05 00:58:45 +00:00
soren
882f3b1bd2 Const'ify bootblk_commands[] to match lib/libi386.h change. 2001-06-27 22:58:32 +00:00
jdolecek
4db9600c94 use hd0a instead sd0a in 'help' command example 2001-06-02 14:56:13 +00:00
jdolecek
b001ce9b90 g/c COMPAT_OLDBOOT from bootblocks, sprinkle some const
bump bootblock version to 2.10
2001-06-01 23:26:30 +00:00
jdolecek
e3daef46ec Add some IBM PS/2 support bits:
* recognize PS/2 L40 via biosmca() and biosmca_ps2model in gatea20.c, instead
  of being a compile time option
* if the system is PS/2 with MCA bus, map DTYPE_ESDI disks to ed(4) for
  COMPAT_OLDBOOT

The new code is conditional on SUPPORT_PS2 define, which is on by default
for biosboot-based bootblocks.
2001-05-19 18:15:14 +00:00
jdolecek
2a7ff4a9ab Add biosmca.S if I386_INCLUDE_PS2 variable is "yes" (default, overridable) 2001-05-19 17:53:30 +00:00
jdolecek
a97bf5e6b4 Change biosmca() to export the model number via biosmca_ps2model
variable, if the machine has a MCA bus according to info returned
by BIOS (i.e. on machines without MCA bus, biosmca_ps2model would be zero).

biosmca() is expected to be called on beginning the initialization,
and biosmca_ps2model is then used for further checks.
2001-05-14 22:14:47 +00:00
jdolecek
7cb5602067 Nuke biosboot_ps2 2001-05-02 13:43:10 +00:00
jdolecek
7e111aa959 Add function which uses bios call to get system configuration; this can
be used for presence of MCA bus, if ever needed to be done in bootblocks.
Not used at the moment, but may be in future.
2001-05-02 13:41:07 +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
thorpej
7c2615290b Add support for MS-DOS file system, but don't enable it by
default -- the resulting binary is too large, and thus does
not work.
2000-11-02 01:02:07 +00:00
lukem
b14a596beb Add support for booting off RAIDframe RAID1 mirrors. Check the first partition
type in biosdiskopen(), and if it is of type FS_RAID, add 64 to d->b_off.

NOTE: installboot(8) still needs some hacking to DTRT, but at least this way
if you can load "/boot" off another partition (e.g, wd0h), then wd0a can be
of type `RAID' with a raidframe mirror at the start and the kernel
will load OK of wd0a, and with raidctl -A root partitions, it will change
root as well.
2000-10-30 07:30:59 +00:00
wiz
c374cadf43 Get RELEASEDIR setting from /etc/mk.conf. Fixes misc/11104 by Markus Kurek. 2000-10-15 22:42:49 +00:00
jdolecek
2308091f66 update usage message (new flags -v, -q) 2000-09-24 18:28:18 +00:00
jdolecek
b135d5504a netbsd_opts.c was removed as part of bootverbose/bootquiet changes
Pointed out by Lennart Augustsson in private e-mail.
2000-09-24 18:13:54 +00:00
jdolecek
49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +00:00
tron
cb01317d62 Final fix to make this work without object directories again. 2000-09-08 19:57:05 +00:00
tron
3220c30427 Readd at signs before commands which were removed for debugging. 2000-09-08 19:50:52 +00:00
tron
278e796ec6 Do last change differently: "(unset MAKEOBJDIRPREFIX || true)" is a NOP,
use "MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX" instead.
2000-09-08 19:48:00 +00:00
tron
f5cb2786f8 Use "(unset MAKEOBJDIRPREFIX || true)" because unset return an error code
if the variable was not set before.
2000-09-08 19:45:45 +00:00
matt
9c01e4e226 deal properly with MAKEOBJDIRPREFIX (which has priority over MAKEOBJDIR so
the MAKEOBJDIR to ${MAKE} has no effect) so we unset MAKEOBJDIRPREFIX before
invoking ${MAKE}
2000-09-08 05:37:59 +00:00
enami
ef2b361222 Fix to work with objdir. 2000-09-05 05:05:16 +00:00
jdolecek
3fd457414e constify first arg to parseopts() 2000-08-31 07:21:46 +00:00
jhawk
2ea44b1dd4 install dosboot.com in the release(7) hierarchy. 2000-08-23 21:00:46 +00:00
erh
df316aa06c Change the heap limit from 40000 to 50000 so the heap is the same size as it was before the "Hack from Hell'. 2000-08-22 02:46:30 +00:00
simonb
1483e8c25e Fix "suggest parentheses around assignment ..." warning in normally
unused code segment.
2000-07-30 06:11:38 +00:00
jdolecek
e25636b5da g/c RB_DFLTROOT
I've tried hard to find also various usage() messages and remove the
appropriate flag from there as well, hopefully all occurences are covered.
2000-07-29 20:06:27 +00:00
jdolecek
c8f528ad5e switch to MI newvers_stand.sh version info generator 2000-07-12 21:05:35 +00:00
jhawk
c4f2dfb0b9 Enable "old partition ID" compatibility by default, just as in biosboot. 2000-07-06 03:39:53 +00:00
thorpej
7f1c64b910 Enable the code that passes the ACPI memory map to the kernel. 2000-06-02 18:26:10 +00:00
perry
2a9fe3a4e7 Actually return the BIOS error code (if any) generated by the reads 2000-05-21 16:59:28 +00:00
jhawk
24396ea653 revert 1.21 (back to 1.20);
the problem was due to diskbuf[] getting pushed over a 64k
boundary, and has now been fixed (for the moment).
2000-05-21 16:33:12 +00:00
jhawk
07a3d660c5 This change courtesy of Charles Hannum <root@ihack.net>. This
addresses the problems seen by Jason Thorpe <thorpej@netbsd.org> and
Erik Berls <cyber@netbsd.org> necessitating rev 1.20 of
biosboot/main.c.

Move BOOTSEG from 0x100 to 0x1000.
Move heap from 0x10000 to 0x20000.

XXXXXXXX

This is a Kluge From Hell to allow boot blocks to grow a little larger
without diskbuf[] crossing a 64k boundary.
2000-05-21 16:29:14 +00:00
thorpej
4756ba9e32 #if 0 out the consdev command stuff -- with it, boot blocks don't
work, without it, they work fine.  Size issue?
2000-05-19 22:26:50 +00:00
jdolecek
6572f303f4 remove now redundant comment regarding IBM_L40 define 2000-05-13 19:58:41 +00:00
jdolecek
950749ab6f add special bootblocks for IBM PS/2 - those machines need different gate A20
addressing
2000-05-13 19:58:01 +00:00
jhawk
187860f8fb Fix problem from 1.27, and more long-standing in the commented-out
-DSUPPORT_SERIAL options:

Only set -DSUPPORT_SERIAL=CONSDEV_PC for "biosboot" and "biosboot_resetvideo",
but not for biosboot_com0.
2000-05-13 19:03:19 +00:00
jhawk
d4091aa02e Add support for on-the-fly switching of console devices interactively
from biosboot via the "consdev" command.
2000-05-13 05:31:00 +00:00
jhawk
a72e1e9c59 Add support for on-the-fly switching of console devices interactively
from the i386 biosboot via the "consdev" command.
2000-05-13 05:25:20 +00:00
jhawk
1dac4cd666 Add support for on-the-fly switching of console devices interactively
from biosboot via the "consdev" command.

Move "Press return" printf() out of print_banner() so we can
print_banner() reasonably after switching devices.
2000-05-13 05:23:37 +00:00
jdolecek
6c1643be43 minor adjustment for compiling with IBM_L40 2000-05-11 16:11:54 +00:00
jdolecek
98beeaa61d add commented out CPPFLAGS+= -DIBM_L40 - needed for PS/2 bootblocks 2000-05-11 16:05:51 +00:00
fvdl
5ebece6b49 Use ES to address the partition table when checking if we need to use
int13 extensions. Fixes PR 9676.
2000-05-07 22:58:58 +00:00
tsarna
da1f2723c4 Addredd port-i386/9897, but differently. Since the effect of resetting
the video mode on machines with ancient or no video cards is not clear,
for safety's sake a I created a new biosboot variant, biosboot_resetvideo
that does the call.

Anyway, now I can boot my i-opener without hitting Tab. Thanks Andrew!
2000-04-23 19:57:12 +00:00
soren
71398b0ad8 With e.g. mbr_bootsel, the boot loader just exits rather than reboot,
so print that.
2000-03-29 14:29:34 +00:00
soren
95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
martin
8ba340d655 Do the same as biosboot does.
This makes it possible to create serial console dosboot.com's via uncommenting
the appropriate Makefile options.
I needed this when testing the SMP test kernels at work.
2000-03-13 10:51:22 +00:00
dbj
ef5d25c147 use bios' idea of the basemem size and create the kernel stack
at the top of it instead of hard coding 0x90000
2000-02-22 07:45:04 +00:00
tsutsui
11c8f56d48 Revert STRIPPROG -> STRIP 2000-02-01 05:25:24 +00:00
drochner
f41d426732 nuke this, there is no valuable information anymore 2000-01-26 18:50:18 +00:00
mycroft
f456106d03 Fix the symlink hack. 2000-01-23 16:45:54 +00:00
mycroft
295c3f303e Fix the symlink hack. 2000-01-23 16:44:18 +00:00
christos
c6b70bdfe2 Use .PATH.c not .PATH otherwise builds without objdirs fail from biosboot_com0.
Reported by Tron.
2000-01-20 16:51:01 +00:00
drochner
8395a5e928 like com.c, raise DTR/RTS in console initialisation 2000-01-20 15:22:57 +00:00
tsutsui
e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
christos
1b02e0a7db Build biosboot_com0 too. 2000-01-15 01:17:12 +00:00
drochner
5d8a0c0ddd add a function which prints out the memory descriptors (for debugging) 1999-12-21 14:22:54 +00:00
drochner
e5bc2ce76f add support for 3c905b-Combo 1999-12-02 13:21:48 +00:00
drochner
262d9092fc add media definition for 100baseTX 1999-12-02 13:20:56 +00:00
mycroft
6816b631ab Nit: Make bootrealseg conforming. 1999-11-07 01:06:37 +00:00
drochner
db5d01fc72 back out the "ep"/"ex" guessing part of the previous - the check was
removed from the kernel and the device name is only informational now
1999-11-05 22:57:39 +00:00
mycroft
3c702c1d8d Recognize the 3c595, and use `ex' for 3c90x now. 1999-11-03 12:38:54 +00:00
mycroft
dfc00b5b24 Back out the GDT changes in the previous. Didn't mean to commit that. 1999-11-03 09:55:32 +00:00
mycroft
1ee8f66dfe Picking a few nits...
* The direction flag wasn't set right in the presence of ROMDEBUG.
* There were missing data32's.
* We weren't as careful as we should be with relocations.
1999-11-03 09:28:15 +00:00
drochner
e6d27a3a83 correct debug printf() to make it compile with DISK_DEBUG again,
closes PR kern/8718 by Takahiro Kambe
1999-11-02 16:52:25 +00:00
mycroft
093997a6f6 Remove totally gratuitous check on the unit number in dev2bios(). 1999-10-28 05:20:05 +00:00
drochner
353a512c22 create "machine" symlink 1999-10-25 20:27:48 +00:00
drochner
2c0e7cf113 allow to set boot timeout and password, following PR port-i386/8196
by Stephan Thesing
1999-09-10 16:45:27 +00:00
drochner
3e60c834ed install /boot -r-------- for security reasons 1999-09-10 16:41:10 +00:00
drochner
4486b15211 -make ustarfs optional (enabled per default) for cases where space is
scarce
-make the boot timeout patchable
-optionally, call checkpasswd() before the boot menu can be accessed
(The latter 2 follow PR port-i386/8196 by  Stephan Thesing.)
1999-09-10 16:38:46 +00:00
drochner
5c48b9a115 improve awaitkey()'s printout for >9 seconds 1999-09-10 16:23:55 +00:00
drochner
2914ef7fd2 sync with changes to if_fxp header,
thanks to <ks@ub.uni-mainz.de> for testing
1999-09-10 09:12:44 +00:00
ross
9efd996351 spelling 1999-09-07 18:27:58 +00:00
kleink
5663256d0a Unlike in an i386 a.out assembler, where in an .align n directive n is meant
to be the logarithm to base 2 of the alignment, in an ELF environment n is
the actual alignment boundary; thus, adjust the directives accordingly.

Albeit the wonderful i386 architecture doesn't mind the smaller alignment in
an obvious way, it is likely to have resulted in some performance penalty
during the a.out->ELF transition.
1999-08-23 08:24:36 +00:00
drochner
29a8d333b6 put biosdiskclose() inside LIBSA_NO_FS_CLOSE 1999-08-03 19:46:22 +00:00
drochner
7dab8cef61 fix logics in device recognition 1999-07-15 18:00:27 +00:00
kim
0dc60ae78c Build bootblocks to always use COM0 for console. 1999-07-11 01:23:53 +00:00
kim
f93a90f888 Use same Makefile for biosboot_com0 too. 1999-07-11 01:22:45 +00:00
drochner
6211cd566c fix creation of DOS / ROM images from ELF executables: use "objcopy" 1999-07-08 14:32:28 +00:00
christos
2f1646ea98 Remove -DDEBUG 1999-07-06 14:37:05 +00:00
kim
c867e93fae Pickup changes from ../biosboot/Makefile and add .PATH so that source
files are found.  Now this compiles ok (have yet to run the blocks).
1999-06-13 17:21:18 +00:00
drochner
19e64942a2 don't printf(NULL), not even in the DEBUG case
(It doesn't hurt the bootloader, but the junk output hangs my serial
console.)
1999-05-15 15:42:23 +00:00
drochner
998ac16bb7 add some casts for gcc -Wall, from David Rankin
<drankin@bohemians.lexington.ky.us> per PR port-i386/7554
1999-05-11 19:57:05 +00:00
drochner
6959d736df make sure the ./machine link is created early enough for specific targets,
fixes PR port-i386/7553 by David Rankin <drankin@bohemians.lexington.ky.us>
1999-05-11 19:43:09 +00:00
drochner
fe310dd299 include <lib/libkern/libkern.h> for intoa()/inet_ntoa() 1999-05-07 16:19:27 +00:00
fvdl
4fbaa0b272 Restrict "out of CHS range" check to harddisks. 1999-05-04 17:14:55 +00:00
fvdl
ec559f688b Be more careful with saving registers around the "out of CHS range" check. 1999-05-02 12:44:34 +00:00
christos
57e4b98787 - Use the proper multiply instructions so that we don't get truncated. 1999-04-30 15:31:17 +00:00
fvdl
48003b2c88 Only use int13 extensions if the sectors can not be read through the
older CHS interface. This works around stupid BIOSs who report that
int13 extensions are present and functional, but fail when you actually
use them. Like Adaptec SCSI BIOSs.
1999-04-28 23:24:42 +00:00
christos
c5ec77e01b use new loadfile 1999-04-28 09:14:22 +00:00
christos
5317a4673a Use new loadfile 1999-04-28 09:14:07 +00:00
christos
a030d021a7 Use new loadfile.c 1999-04-28 09:13:51 +00:00
drochner
ca053f4364 remove an "unmodified" so that the copyright notice will hopefully match
pk's "BSD-style (clauses: 2; no acknowledgements)" pattern
1999-04-22 10:27:16 +00:00
drochner
982c55e22c another nit in error handling: don't try to print out a NULL filename
(which means "use default" and is dealt with properly by open())
1999-04-17 11:18:36 +00:00
christos
30ffed2123 remove bogus prototype for getopt 1999-04-14 15:22:46 +00:00
christos
c70b4ad2a1 Add prototype for getsecs 1999-04-14 15:22:07 +00:00
drochner
1ecbaaabf8 this is now sys/lib/libsa/ufs_ls.c 1999-04-14 13:31:49 +00:00
hpeyerl
6cde76c6fe fix some copyright foo. 1999-04-14 12:56:33 +00:00
drochner
e4841b3edf add prototypes, use ufs_ls() from mi libsa,
compile with -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-main
1999-04-14 11:53:43 +00:00
drochner
312eae2bf4 add prototypes, use ufs_ls() from mi libsa, revert to "void main()",
compile with -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-main
1999-04-14 11:45:39 +00:00
drochner
dd0ed4267b add prototype 1999-04-14 11:19:23 +00:00
drochner
2d1e6a1f5a add prototypes, slight formatting changes 1999-04-14 11:17:04 +00:00
drochner
ffd8d7c6d0 add prototypes
being here, format ala KNF
1999-04-14 10:57:59 +00:00
drochner
7d5e1f9211 fix error handling: almost all errors were ignored 1999-04-09 20:12:57 +00:00
drochner
552f55e726 Call bi_getbiosgeom() after loadfile() returned successfully. This avoids
a memory leak if loadfile() gets an error.
1999-04-08 18:21:15 +00:00
drochner
0ead10436a define VERSIONFILE, from John Darrow <John.P.Darrow@wheaton.edu>
per PR port-i386/7336
1999-04-08 10:23:23 +00:00
drochner
5d86b86370 #ifdef out the last change for the branch 1999-04-01 19:36:09 +00:00
drochner
3497f157fd On serious boot errors, dont lock the machine. Instead, wait 3 seconds
and call the ROM BASIC vector. This might behave differently on different
machines, but normally it allows to reboot without power-cycling.
1999-04-01 17:07:54 +00:00
drochner
99a84ef740 sync to changed biosdisk interface again 1999-04-01 16:09:49 +00:00
fvdl
fb1b0e7a0b Shifting ecx without explicit prefix in real mode won't work. 1999-03-30 22:35:21 +00:00
drochner
17de7b2576 adapt to set_geometry change: we don't have to correct the geometry
anymore
1999-03-30 17:58:05 +00:00
drochner
62031ff978 fix some disk handling problems introduced in the last commits:
-read retries were botched, use the right sector count
-read-ahead buffer was effectively unused
-concentrate the handling of the weird BIOS geometry report at one place
-fallback for old floppies left cylinder count uninitialized
1999-03-30 17:55:48 +00:00
drochner
4feae58ec1 sync to changed geometry handling in the standalone code 1999-03-30 11:51:35 +00:00
fvdl
b815df141c Only use the total number of sectors information field from the EDD if
the bit is set that declares the geometry valid. The spec itself says
that this field isn't covered by the "geometry valid" bit, but at
least one BIOS implements it that way.
1999-03-28 19:41:27 +00:00
sommerfe
82f8a7dee9 Turn off biosboot_ser until makefile issues get worked out.. 1999-03-14 05:50:38 +00:00
fvdl
35d517b9f1 Hack to make biosboot_ser work.
XXX The makefile structure in src/sys/arch/i386/stand is very bad.
1999-03-14 00:04:06 +00:00
tron
32e0182e15 $(OBJS) -> ${OBJS} 1999-03-13 20:58:25 +00:00
sommerfe
fc47c0c742 Also build serial bootblocks by default, installing into
/usr/mdec/biosboot_ser.sym
Change Makefile.booters to not assume `version' file is in source directory.
1999-03-12 16:07:57 +00:00
sommerfe
df8e0043e3 Fix compile warning in getcomaddr() 1999-03-12 04:14:37 +00:00
fvdl
8371eb7a88 Clean up the BIOS disk matching code a bit (better naming, one structure
and sysctl to export to userland). Also, only use total number of sectors
given in the extended parameters if the physical chs geometry is
marked invalid. Hopefully fixes a problem where BIOSs would not correctly
fill in this field.
1999-03-12 01:01:41 +00:00
fvdl
bc38bb1052 Declare nhd to be unsigned char, as we're only copying one byte to it.
From Matthias Drochner.
1999-03-11 12:34:36 +00:00
drochner
b477d700f2 add support for 3c905b TX 1999-03-10 10:37:38 +00:00
fvdl
bdb770bc34 Create a list of native disks too, and make it retrievable. It contains
all matching BIOS disks per entry, so that we have complete match info.
Enable the matching code.
1999-03-10 01:28:24 +00:00
drochner
743494ae88 add a function to pass the "memory map" ie the outcome of INT15/0xe820,
to the kernel
1999-03-08 21:44:48 +00:00
drochner
0cb921e61e change the interface for getmementry() to hold the iterator in an
argument and to return success or error explicitely.
Now we can "error" and "end of list" cleanly; this should fix the
problem where the last list element was ignored.
1999-03-08 21:38:28 +00:00
fvdl
f8e221511b * query BIOS geometry information, possibly using the int 13 extensions.
* pass them on to the kernel
* print a message if the 2nd stage bootloader returns (i.e. fails)
  instead of just hanging.
1999-03-08 00:09:24 +00:00
he
e9f9c1625e Add handling of OMAGIC files, where exec header isn't part of the
text segment.  Needed for woring installboot, since biosboot.sym is OMAGIC.
1999-03-07 20:03:44 +00:00
fvdl
5a32d4bb8b Make bootblocks really work this time. From Christos. 1999-03-05 20:33:08 +00:00
christos
4b494ca224 Fix the symbol reading problem... 1999-03-04 20:46:23 +00:00
simonb
1397fd691b fix spel. 1999-03-01 12:46:16 +00:00
drochner
d57c7b76ca replace ENTRY() label in data segment which broke the code completely 1999-02-28 11:45:44 +00:00
drochner
9e8c9e9594 -pull in exec.c, needed since loadfile.c
-don't pull in tftp.c anymore, it's in libsa now
1999-02-24 19:38:17 +00:00
drochner
f1d1de8c7a moved to mi lib/libsa 1999-02-24 19:32:34 +00:00
drochner
eac4e51111 redirect the linker's stderr to the protocol file too 1999-02-19 19:53:01 +00:00
drochner
cb2e02af94 Make this compile and work again after the assembler update.
The new assembler doesn't allow 16-bit relocations involving arithmetics
with 32-bit variables. (The old one did silently truncate, which was
the right thing in our case.) Further, the new assembler uses to scatter
size prefixes around if the size of the operation is not explicitely
specified, even if the result is nonsense, eg for moves to segment
registers or control registers.
Add some debugging code (generating printouts) and comments.
Remove the !BOOTROM code which was intended for a DOS harness but isn't
that useful anymore.
Some cleanup and formatting to make it more similar to the other
startup code variants.
1999-02-19 19:48:06 +00:00
drochner
fd3ad59373 make the ethernet address an unsigned char array to avoid sign extension
when it is printed
1999-02-19 19:30:46 +00:00
drochner
0ce9e35aae add boot ROM support for the DMA-only 3com network adapters, tested with
3c900b-Combo only for now
1999-02-19 19:22:52 +00:00
dean
6dc3d1eae8 Put back bsd.own.mk and added comment explaining why it must be included. 1999-02-14 02:56:19 +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
dean
c372a9b915 Remove bsd.own.mk include 1999-02-12 23:48:46 +00:00
cjs
8a3ac60bb8 Change NOMAN to MKMAN. 1999-02-12 05:15:35 +00:00
cjs
3e90f302b6 Don't give exit() a parameter, as libstand version doesn't take one. 1999-02-12 05:14:22 +00:00
tron
2fefe24803 Remove "lib" directory only during "make cleandir" so that ".depend"
doesn't get nuked during "make clean".
1999-02-07 18:25:54 +00:00
tron
08c7376961 Remove "lib" directory created during build process while doing
"make clean" or "make cleandir".
1999-02-07 13:39:36 +00:00
christos
736a561afb Add my name in the copyright, since the code looks very different now. 1999-01-30 17:51:52 +00:00
christos
5699d1ab3d Remove exec.c from here. I want to make it obvious that it has to be built
with different flags from dosboot and biosboot. Although right now this
does not make a difference because we are building the libraries twice,
it can make a difference when we share the builds.
1999-01-30 17:46:53 +00:00
christos
07b1febfb8 - Use MARK_ENTRY instead of MARK_START.
- ELF changes. Now an ELF installboot installs ELF bootblocks properly.
1999-01-30 17:45:42 +00:00
christos
371363a158 Add exec.c here and bump version for elf.
XXX: This code has not been tested!
1999-01-30 17:44:10 +00:00
christos
25fc1fa758 Add exec.c here... 1999-01-30 17:43:38 +00:00
christos
ad9c7a287c Remove exec.o, and make necessary changes for elf. 1999-01-30 17:43:10 +00:00
thorpej
191dab44fa Um, last rev was kind of backwards... actually build exec.o so that
the boot block links.
1999-01-29 22:13:42 +00:00
christos
e58bb79483 Merge XMS changes from exec_fromdos.c 1999-01-29 18:49:08 +00:00
christos
e25e5c88f9 Both booters need exec.o now. 1999-01-29 18:47:58 +00:00
christos
35ca0db06c Revert, wrong place for this. 1999-01-29 18:47:24 +00:00
christos
6cadeb1ea6 Add exec.c here. 1999-01-29 18:46:15 +00:00
christos
3c7776f1b6 exec.c has all the info now. 1999-01-29 18:45:34 +00:00
christos
89cc672d98 Jason forgot to make the disklabel_mbr.h changes for this and ows me 5 hours
of debugging.
1999-01-29 18:45:12 +00:00
christos
722d35a400 Add the ability to get the size of the loaded image without actually
loading. This is useful for dos loading and installboot.
1999-01-29 18:44:09 +00:00
christos
7a7391de52 Simplify by using new feature of getting the load size. 1999-01-29 18:43:11 +00:00
christos
1e39fefac4 Remove -g accidental addition 1999-01-29 18:41:50 +00:00
christos
74d863263c Use loadfile() to load the bootblocks, so that we are going to be able
eventually to load boot blocks with this. Unfortunately the elf assembler
chokes currently on our bootblocks, so the ELF portion does not work (yet).
1999-01-28 22:47:25 +00:00
christos
f1fd49f426 Add support for selectively loading sections, and make this compile in
userland with -DINSTALLBOOT
1999-01-28 22:45:06 +00:00
christos
9fa73628c9 Minor changes to prototypes. 1999-01-28 20:22:31 +00:00
christos
63546de24a Remove a.out loading code and use loadfile.c for everything.
Populate the btinfo_symtab structure.
1999-01-28 20:21:24 +00:00
christos
0fcf083702 Add loadfile.c (stolen from Jason's alpha/stand/common/loadfile.c)
loadfile.h contains macros that are supposed to be MD, but loadfile.c is now MI.
Fixes:
- a.out support
- pass information values via an array not global variables
- don't assume that you can access memory directly.
- remove MD parts
- remove some printfs.
XXX:  loadfile.c needs to be moved somewhere where other ports can use it.
XXX2: read() routines on the i386 don't appear to set errno on failure.
1999-01-28 20:18:31 +00:00
christos
408aa9a669 Bump number to 2.6 and say ELF works!
But, this is not selfhosting yet. I need to fix the installboot crap.
[i.e. you need the a.out tools to build it and install it].
1999-01-28 20:12:49 +00:00
thorpej
f077362c41 Use the MI <sys/disklabel_mbr.h>, not our own machine-dependent
definitions.
1999-01-27 20:54:56 +00:00
thorpej
6ead44025b Fixup some usage of _C_LABEL(). 1999-01-22 22:43:44 +00:00
he
30cc2d95cb Actually handle small boot blocks (<=15 blocks) correctly in the ffs case. 1999-01-17 18:16:16 +00:00
he
4155434b1c Fix uninitialized `inode' variable in save_ffs(), fixing port-i386/6682. 1999-01-16 18:26:47 +00:00
kleink
657d577aeb Pull in <errno.h> instead of <sys/errno.h> for declaration of errno. 1999-01-11 22:21:30 +00:00
he
bdafd9591e Add "ustarfs" as a recognized boot file system type, and bump version number. 1998-12-19 19:44:56 +00:00
he
2cfee96f35 Implement -b option, similar to on alpha, required for ustar floppy support. 1998-12-19 19:17:23 +00:00
drochner
be595f36c4 document support for Intel 82557/82558 1998-12-12 15:51:49 +00:00
drochner
6f71e420f3 add support for the Intel 82557/82558 fast ethernet chip 1998-12-12 15:47:05 +00:00
drochner
1c0cc94837 Update for INT13 support.
XXX We can't easily emulate this here due to the 16-bit-pointer
call interface.
1998-11-22 15:44:03 +00:00
ws
18f9174133 Some BIOSs insist on patching the Bios Parameter Block for some drives
(e.g. LS-120).  Make room for this.
1998-11-11 16:46:38 +00:00
ws
2791cf041a Fix a thinko which still prevented this to run on non-int13-ext machines.
Thanks to entropy@zippy.bernstein.com for pointing this out and testing the fix.
1998-10-30 12:16:59 +00:00
ws
6463d10c79 Fix typo which prevented this from working
on disks without int13-extension support.
1998-10-27 14:08:55 +00:00
ws
a541c86a76 Update version number and mention int13 extension support
(sorry, forgot this on the recent commit of the above).
1998-10-27 12:59:02 +00:00
ws
d65dc0de3b Make ourseg visible to the outside similar to bootsect/start_bootsect.S
(Thanks to hannken@eis.cs.tu-bs.de for pointing this out).
1998-10-16 18:07:35 +00:00
ws
f82918b49b Add int13 extension support 1998-10-15 15:28:22 +00:00
ws
3e28defef4 No point in making the fake partition that large.
This smaller one will (hopefully) make 0-start
installations work on more machines.
1998-10-08 14:25:42 +00:00
lukem
c9db84ecc9 distclean is a synonym for cleandir 1998-09-05 15:15:14 +00:00
drochner
5e4c58a7d0 Fix incomplete variable renaming in the last commit.
Found by taca@sky.yamashina.kyoto.jp (Takahiro Kambe) - PR port-i386/6087.
1998-09-02 08:24:51 +00:00
rvb
67390e1ee2 Make serial line debugging easier to enable and use 1998-08-13 17:41:10 +00:00
drochner
fa0aee147e Use the new mkdtemp() instead of mktemp();mkdir().
Various cleanups (and typecasts) to get lint quiet.
Add remaining prototypes, enable -Wmissing-prototypes -Wstrict-prototypes.
1998-07-28 20:10:53 +00:00
drochner
7cdf5d9a77 retry disk accesses (for shaky floppy drives) 1998-07-23 09:59:44 +00:00
drochner
acea5c2e79 add dependency to get the version number right 1998-07-08 17:47:42 +00:00
drochner
13b329cdd2 bump version number to reflect the partition ID change
(should have been done long ago)
1998-07-08 17:46:21 +00:00
drochner
cbb7aa93f0 from FreeBSD:
wpaul       1998/07/02 08:36:36 PDT

  Modified files:
    sys/i386/boot/biosboot start.S
  Log:
  Add workaround to allow the FreeBSD boot block to work on
  Kapok Computer Co. notebook with AMI 'WinBIOS' which seems to insist
  on having a short jump and nop as the first instructions in the
  boot sector code. The prevailing theory is that the BIOS is doing
  some sort of boot sector virus detection and refusing to run any
  boot block that doesn't start with the same instruction sequence as
  MS-DOG boot sector code. If this is the case, it would be nice if it
  actually printed an error message to this effect instead of just
  saying 'FAILED.'

  This workaround has no effect on the boot sector code other than to
  increase its size by three bytes.
1998-07-07 13:58:59 +00:00
kleink
e6be56ae0b Need <stdlib.h> for mktemp() prototype. 1998-06-01 14:05:35 +00:00
drochner
4153971158 Framework to test standalone code in a friedly user environment. 1998-05-15 17:07:14 +00:00
drochner
a8857f05e8 Allow to use the code in user land test programs. 1998-05-15 16:38:53 +00:00
drochner
12d352b2f9 minor corrections 1998-05-14 18:34:11 +00:00
drochner
04682788a9 misc improvements:
-initialize errno to 0 before receiving
-minimal allowed packet size is 4 (empty data packet)
-Be nice to the TFTP server - tell it that the transfer is finished
  (additinal ACK at EOF, ERROR otherwise). Otherwise, it will linger
  around and retransmit. This can be left out (TFTP_NOTERMINATE) if we
  are really short on space.
1998-05-14 18:26:47 +00:00
drochner
2e9a412d43 allow to use from user space test programs 1998-05-14 18:17:44 +00:00
drochner
26d2f5e3b6 allow to access from user space test programs 1998-05-14 18:15:02 +00:00
drochner
2a3fff85f0 add RCS ID 1998-05-06 13:32:18 +00:00
mycroft
4fe1e7a83d Make main() return int to shut up egcs. (Yuck.) 1998-03-31 05:29:21 +00:00
cgd
b3d285e625 add -nostdinc to CPPFLAGS, so that /usr/include won't be used 1998-03-27 01:32:53 +00:00
cgd
9da165424c allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 19:57:00 +00:00
fvdl
0485953099 Make this compile after the lite2 merge. 1998-03-01 13:22:55 +00:00
drochner
3ee0e26f7d document 3c900 TPO support, add comments 1998-02-25 12:19:12 +00:00
drochner
41bbe0c360 3c900 TPO works too, as reported by Feico Dillema <dillema@acm.org>. 1998-02-25 12:15:49 +00:00
mycroft
03f75a79ff Nuke the override of libkern SRCS from orbit. 1998-02-22 07:19:02 +00:00
drochner
ce380ad936 enable "old partition ID" compatibility per default 1998-02-19 14:18:36 +00:00
drochner
ad33d83f8b Add compatibility code (#ifdef COMPAT_386BSD_MBRPART): look for 386BSD
partition ID if the NetBSD ID was not found.
Cleanup, use definitions from <machine/disklabel.h>
1998-02-19 14:15:38 +00:00
drochner
411e77cac8 Add compatibility code (#ifdef COMPAT_386BSD_MBRPART): look for 386BSD
partition ID if the NetBSD ID was not found.
1998-02-19 14:12:48 +00:00
drochner
07fdccb3a4 Document new WD80x3 option. 1998-02-16 11:41:14 +00:00
drochner
509f891bd0 -Completely reset the card in EtherStop(), otherwise the next
open can fail.
-Disable interrupts in the mask register - EP_W0_RESOURCE_CFG is not
  sufficient for PCI cards.
1998-02-16 11:26:36 +00:00
drochner
b8cdacb8d5 Redo standalone driver for WD8013 / SMC Ultra boards.
(The old one was buggy.)
Frontend / backend splitup and most code taken from sys/dev/ic/dp8390.c
and sys/dev/isa/if_we.c.
1998-02-16 11:21:59 +00:00
drochner
ae1a2006c5 -take over debugging printf format fixes from sys/lib/libsa/nfs.c rev.1.23
-make error reporting for mount working as in sys/lib/libsa/nfs.c
1998-01-24 12:43:09 +00:00
drochner
9219f22775 strchr.c disappeared from libkern, use index.c instead
(we can't control the libkern build as we want, but it works...)
1998-01-22 15:48:02 +00:00
perry
015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
drochner
23e7d0a259 Adjust comment for new default fragment table size. 1997-11-07 17:01:45 +00:00
drochner
4ad496626c Double default fragment table size. For fragmented and / or small
blocksize filesystems the old default was too small.
1997-11-07 16:59:41 +00:00
drochner
8539f2f3b9 ../lib/exec_fromdos.c doesn't use the memory size returned by XMS check
anymore if other methods work better. Sync banner output with this.
1997-11-03 18:17:19 +00:00
drochner
90e33ee203 When using XMS, use the XMS size returned by the BIOS only if the other
methods to detect extended memory didn't work well.
(this XMS size is always too small, typically by 68k)
1997-11-03 18:06:22 +00:00
lukem
3e8e744696 getopt returns -1 not EOF 1997-11-01 06:49:14 +00:00
drochner
bdf1b13477 -Don't try to parse the bootfile path in DOS mode.
-Take "dev" command from "biosboot" for consistency.
1997-10-31 18:50:09 +00:00
fvdl
d2016e2df0 Disable interrupts when frobbing the keyboard controller for A20, as
it may generate a reset on some (older) controllers. Introduce a delay
to make some kbd controllers happier.
1997-10-29 00:32:49 +00:00
drochner
ec78310453 Catch "timeout" return of serial port read BIOS call. 1997-10-27 19:53:20 +00:00
drochner
64550a14f3 Pass status byte to caller too. 1997-10-27 19:51:18 +00:00
hubertf
59b0f424db Prevent error if machine-symlink isn't already there (rm -> rm -f) 1997-10-18 21:46:27 +00:00
mycroft
4b807f403c dev/isa/comreg.h -> dev/ic/comreg.h 1997-10-16 08:03:05 +00:00
drochner
e14496efb8 Ignore BIOS partition table and disklabel for floppys and RAW_PART,
for consistency with the kernel.
1997-10-13 09:26:29 +00:00
drochner
6969cb676f Pass new boot information per default. 1997-09-28 13:31:45 +00:00
drochner
4de13c78d3 Use the "proginstall" rule from <bsd.prog.mk> to get the UPDATE
behaviour right.
1997-09-28 11:47:29 +00:00
drochner
c03122fcb1 In some future (ie, without COMPAT_OLDBOOT), we don't want to bother
with the disk type (IDE or SCSI) here - the BIOS doesn't do it either.
Set "#ifdef"s accordingly.
1997-09-20 12:36:05 +00:00
drochner
dc0b04e0ad Note use of common menu functions and new framework for argument passing
to the kernel.
1997-09-20 12:28:21 +00:00
drochner
041680f614 don't forget to save the partition number for the kernel 1997-09-20 12:17:41 +00:00
drochner
9b4679d869 -Don't pass hardware address, it is not of much use for the kernel.
-define "addr" differently for ISA and PCI devices - for PCI, it is
 (bus,device,function) now, in the format used by the PCI BIOS
1997-09-20 12:13:01 +00:00
drochner
1d47009a08 Use <machine/bootinfo.h> for definitions shared with the kernel. 1997-09-20 12:10:06 +00:00
drochner
8b0c39d09e The additional linefeed appeared again... kill it. 1997-09-17 19:39:37 +00:00
drochner
a577f67769 Use common menu / parse functions.
Adapt to new console / exec_netbsd arguments.
1997-09-17 18:52:41 +00:00
drochner
a1fc367b4b Cleanup for new libsa/bootp.c (unused global variables).
Do the vararg stuff right.
Remove the useless "no_bootp" variable.
1997-09-17 18:50:24 +00:00