Commit Graph

287 Commits

Author SHA1 Message Date
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
drochner
5a1b04beab Put bootfile name into "bootfile" before network initialization, for
use by BOOTP.
Put name of bootfile into "bootinfo" structure.
1997-09-17 18:47:13 +00:00
drochner
d9641ea06f Use common menu / parsing functions.
Adapt to new console / exec_netbsd arguments.
1997-09-17 18:44:15 +00:00
drochner
23d58b46d3 Put name of booted file into a "bootinfo" structure.
(not for DOS files for now, we don't know the absolute path)
1997-09-17 18:40:33 +00:00
drochner
38b36ed152 -Use shared menu / parsing functions.
-Adapt to changed console and exec_netbsd arguments.
-Turn private "cd"-like behaviour into a regular command.
1997-09-17 18:37:58 +00:00
drochner
1d521976af Put name of booted file into a "bootinfo" structure. 1997-09-17 18:32:50 +00:00
drochner
0c825594ef Function to collect geometry and partitioning information about the
BIOS-known disks in a "bootinfo" structure (still experimental).
1997-09-17 18:30:51 +00:00
drochner
c65435feb3 "document" serial console support 1997-09-17 18:28:50 +00:00
drochner
a8c2622575 Collect information in a "bootinfo" structure. 1997-09-17 18:21:40 +00:00
drochner
c2095ccd48 Remove old SERIAL support, it will be done at a higher level now. 1997-09-17 18:10:51 +00:00
drochner
2fba0a4db7 Convert DOS error numbers into UNIX errno values. 1997-09-17 18:09:04 +00:00
drochner
4162c9025a Do the vararg stuff cleanly.
Collect disk information in a "bootinfo" structure.
1997-09-17 18:08:13 +00:00
drochner
0851ea1331 Add now common menu / parsing functions.
Adapt to new console I/O functionality.
Update exec() arguments.
1997-09-17 18:04:21 +00:00
drochner
83ce8d9ef8 Use the "bootinfo" defined structures to collect information about boot
device/file and console setting, remove the old, limited, "xbootinfo".
Fix a printf() format warning in debug code.
1997-09-17 18:02:11 +00:00
drochner
f93967e407 add new files 1997-09-17 17:51:12 +00:00
drochner
dae95d6c0b -extend serial console code to all 4 BIOS known interfaces
-optionally, use Martin's direct hardware access to serial lines
-optionally, new console autoselection method: select serial console
 if a character is seen within 1 second
-move awaitkey() here, it can be shared by different bootloaders and
 it is used by console autoselection
-collect information about console selection in a "bootinfo" defined
 structure, for passing to the kernel
1997-09-17 17:48:00 +00:00
drochner
f7b795d3c0 Definitions and helper functions to collect information in the boot
loader (still experimental).
1997-09-17 17:39:29 +00:00
drochner
fb3350eb72 Console I/O functions for serial lines, accessing the hardware directly.
Allows higher baudrates than 9.6 and software flow control.
From Martin Husemann.
1997-09-17 17:31:41 +00:00
drochner
27d7edd928 Factor out functions for table driven boot menus and command line parsing
usable for different boot programs.
1997-09-17 17:13:02 +00:00
drochner
25aa241d8a Use the private nfs.c instead of "nfswrapper".
Disable UDP checksums in the sample configuration, otherwise this doesn't
fit into the ROM.
1997-09-17 17:07:10 +00:00
drochner
7f4ef01688 Use the private nfs.c instead of "nfswrapper". 1997-09-17 17:04:28 +00:00
drochner
ac061ce8b1 Use a private NFS layer. This allows for more optimization than the
separated "nfswrapper.c"/"nfs.c".
This nfs.c differs from the stand/lib/libsa one in that it does not
have a separate mount() function - the mount is done in open().
1997-09-17 17:03:00 +00:00
drochner
3c46c18a00 Use the original bp_siaddr field as TFTP server. Allows to have
different TFTP and NFS servers.
Don't byteswap port number from UDP header back to network order - net.c
doesn't swap it anymore.
1997-09-17 16:57:07 +00:00
drochner
fba474f53a add prototype definition for DHCP support 1997-09-06 14:32:31 +00:00
drochner
e153e51fa3 Make "genprom" work in objdir.
Minor cleanup to ease bootcode development at non-standard locations.
Closes PR port-i386/4013 by Luke Mewburn.
1997-08-20 16:53:30 +00:00
hannken
a44c1f66a7 Change "it's" to "it is" inside assembler comments to
stop "unterminated character constant" messages from `mkdep'.
1997-08-18 22:44:01 +00:00
drochner
80a5032beb Make new memory detection default.
Introduce a new option, "CONSERVATIVE_MEMDETECT", which disables the
new BIOS calls.
1997-08-14 17:00:18 +00:00
drochner
c4af2e3042 Build the new memory detection stuff. 1997-08-14 15:40:28 +00:00
drochner
26f8c5bd65 Prepare definition for EXTENDED_MEMDETECT.
Not yet default.
1997-08-14 15:38:30 +00:00
drochner
a6d6ef3a20 Use traditional memory detect function (int15/88) as indication for
a XMS driver.
From Martin Husemann.
1997-08-14 15:28:47 +00:00
drochner
2092d92ef2 New, optional, method to get size of extended memory.
It will be used for getextmem() if EXTENDED_MEMDETECT is defined.
Worked on all tested machines.
Thanks to all testers, especially Martin Husemann!
1997-08-14 15:22:00 +00:00
drochner
23fd5d0d9b #if -> #ifdef, fixes XMS support
from Martin Husemann, pr port-i386/3941
1997-08-05 10:27:57 +00:00
christos
832c3f464d If we have xms print the xms memory size, and indicate that this is xms
memory in the banner. It is confusing to show 0 memory...
1997-07-29 16:01:45 +00:00
thorpej
e31d380775 New welcome banner code, modeled after NetBSD/hp300's boot program
welcome banner code.  Includes additional build information, and it
generally nicer to look at.
1997-07-26 01:50:36 +00:00
drochner
bdb232d2b6 Don't use <lib/libsa/if_ether.h> anymore. This was a copy of the
old (before ARP changes) <netinet/if_ether.h>, intended for
temporary use.
1997-07-22 17:41:01 +00:00
drochner
1a0708ed1d -Print debug messages to stderr instead of stdout to avoid mix with
warn() output.
-Try to rename an existing "/boot" before writing a new one. This allows
 to restore the old boot if an error occurs later.
1997-07-21 18:04:35 +00:00
drochner
b401c3f024 Use include files from kernel source, not userland. Create a
"machine" link automatically for this.
1997-07-15 13:02:04 +00:00
drochner
6b02672ee8 Cleanup include file usage: Avoid user space headers, use
<sys/types.h> instead of <sys/param.h> where possible.
1997-07-15 12:45:22 +00:00
drochner
d6a6f815ee Add boot ROM support for 3c905 TX ethernet card. 1997-07-15 11:23:04 +00:00
drochner
41c3159f16 Emulate old bootblocks better: Use type of boot harddisk, extracted
from disklabel, as default.
(Pushed by Darren Reed <darrenr@cyber.com.au>:-)
1997-07-04 10:52:44 +00:00
drochner
0b58e59709 Correct the error message printing for failed boot attempts
("filename" must be processed by parsebootfile() first).
Being here:
- remove the special "#ifdef MATTHIAS" mainloop
- make some "booting..." output match reality
- print '\n' and '\b' more controlled
1997-07-02 13:20:36 +00:00
mikel
7b93ae0fcb if exec_netbsd() fails, indicate what file we were trying to boot.
suggested by Havard Eidnes in PR port-i386/3771.
1997-07-02 04:07:43 +00:00
drochner
7f15295bde Define _STANDALONE for standalone programs. 1997-06-26 19:03:32 +00:00
mrg
e179766b04 move man pages into share/man. 1997-06-22 05:58:25 +00:00
drochner
a401914d1a "document" the new hardware support. 1997-06-21 14:43:51 +00:00
drochner
e19d907613 Support SMC Ultra.
The code is becoming messy...
1997-06-21 14:43:11 +00:00
drochner
faf30015a9 Support 3c900 Combo.
(The elink3 code works probably with other boards too, but this is what
I tested.)
1997-06-21 14:41:13 +00:00
drochner
cc7a41e5d2 Weaken the restrictions on the device file name a bit: /boot can
now be installed on any partition.
Allow PRIM_LOADSZ to be set in the Makefile.
This together allows to make bootable 720k floppys.
closes PR port-i386/3751
1997-06-19 11:46:44 +00:00
drochner
444a854ad2 Separate access to filesystem and access to raw device, mount
device only if needed. This allows to work on unmounted disks in
securelevel 1.
1997-06-13 22:14:58 +00:00
drochner
a0d9d3bc54 Allow to boot from DOS if a XMS manager is installed.
XMS is recognized and used as temporary buffer for the kernel image.
The processor must still be in real mode at program start, so EMM386
or QEMM are not allowed. W*95 is OK.
Written by Martin Husemann (pr port-i386/3336).
Completely separated from other bootloaders for sanity.
1997-06-13 17:49:22 +00:00
drochner
5af5a7c097 Remove strerror() prototype, it goes into stand.h. 1997-06-13 13:48:47 +00:00
drochner
d0bb0480b7 Remove bzero() prototype, it goes into libkern.h. 1997-06-13 13:45:50 +00:00
drochner
715639165d Use default media selection from EEPROM. 1997-06-13 13:44:37 +00:00
drochner
7713cd3fb6 Fix misleading comment. 1997-06-13 13:43:05 +00:00
drochner
e82115f7f4 Add missing datasize prefix. 1997-06-13 13:42:27 +00:00
drochner
e242b6fe17 Reformat comments. (messed up by "indent")
-Wall fixes
1997-06-13 13:41:20 +00:00
drochner
d55d9adc84 Reformat comments. (messed up by "indent") 1997-06-13 13:36:04 +00:00
drochner
ec191bc613 Fix operand size confusion in 16-bit code. 1997-06-13 13:32:09 +00:00
drochner
2d36b26ee0 The socket descriptor can only be used by one connection at a time.
Simplify the code accordingly.
1997-06-13 13:28:19 +00:00
drochner
44079e2f16 Remove strerror() prototype, it goes into stand.h.
Pass console selection to exec_netbsd().
1997-06-13 13:25:25 +00:00
drochner
906ad4efef Remove strerror() prototype, it goes into stand.h. 1997-06-13 13:22:08 +00:00
drochner
771175f3d8 Remove some relicts from the time before libsa/Makefile got
"SAMISCCPPFLAGS".
Enable -Wall.
1997-06-13 13:17:46 +00:00
drochner
1b787da26a Force inclusion of "diskbuf" into bootsectors.
This allows to build bootsectors containing netboot code
("make netboot.sym" in the netboot directory).
1997-06-13 13:12:29 +00:00
mycroft
5432d44374 Override the proginstall target to do our special hackery. (Yuck.) 1997-05-07 16:15:01 +00:00
thorpej
6a2fc99857 STRIP -> STRIPFLAG 1997-04-17 07:27:46 +00:00
perry
a0e583f33e Fix problem I just introduced in booting on timeout. 1997-04-13 19:10:00 +00:00
perry
7f3e4fcb29 bump to 2.0Beta2; we'll keep incrementing until we release the real 2.0 1997-04-13 18:49:31 +00:00
perry
00b5e61754 Provides "reboot" call, which just calles INT 19h to ask the bios to
reboot the machine.
This may be insufficient, but its enough for now.
1997-04-13 18:45:37 +00:00
perry
20b87fc0c9 1) Make carriage return start boot immediately.
2) Make "quit" reboot machine. This works by adding a reboot assembler
   hook that calls INT 19h
1997-04-13 18:44:39 +00:00
thorpej
edad9d2e05 Purely cosmetic whitespace/indentation changes (mmm, indent(1)) 1997-03-22 09:13:48 +00:00
thorpej
e321bba79a Purely cosmetic whitespace/indentation changes (mmm, indent(1)) 1997-03-22 09:03:29 +00:00
thorpej
83edf0b6cd - oops, fix a missing space in a printf
- allow whitespace before a command, and if there is only whitespace,
  don't print the help message (seeing a help message after just
  tapping return can be a shade annoying).
1997-03-22 09:00:41 +00:00
thorpej
ecfdbcaa40 Mimmick the old boot block's hdN -> Xd0 (where X is specified by the
disklabel type) unit conversion behavior.
1997-03-22 04:15:51 +00:00
thorpej
f07be03679 Purely cosmetic whitespace and indentation changes (mmm, indent(1)) 1997-03-22 01:48:27 +00:00
thorpej
5e82fddd43 Purely cosmetic whitespace/indentation changes (mmm, indent(1)) 1997-03-22 01:41:34 +00:00
thorpej
ddf4bc9113 Don't abort if we don't find an MBR or NetBSD MBR partition; simply assume
that the NetBSD portion of the disk begins at sector 0.
1997-03-22 01:33:10 +00:00
thorpej
5bd8a86d23 Link installboot statically so that it can be used on install floppies
and in emergency situations.
1997-03-22 00:16:56 +00:00
is
6c55a345c6 Make this compile with NetBSD-1.2D (if_ether.h location changed). 1997-03-20 16:15:15 +00:00
is
5df51f68f4 Make this compile with 1.2D (if_ether.h location changed) 1997-03-20 16:14:22 +00:00
sommerfe
9fefd40478 In 16-bit mode, mov %ax,%bx is interpreted as mov %eax,%ebx; this
breaks zero-extension of the 16-bit memory size return from the BIOS.
on at least one system, the trash left in the upper half of %eax
causes the kernel to crash during VM system initialization when it
thinks it has on the order of 2**31 bytes of memory to play with.

We now *say* mov %eax,%ebx, but *mean* mov %ax,%bx..
1997-03-19 18:12:10 +00:00
perry
520b71bb34 From Matthias Drochner:
give global constants more meaningful names
1997-03-15 22:20:55 +00:00
perry
5347892165 From Matthias Drochner:
give global constants more meaningful names
eliminate code duplication
1997-03-15 22:20:02 +00:00
perry
aa5f5f8441 From Matthias Drochner:
use constants from etherdrv.h
1997-03-15 22:18:55 +00:00
perry
6a00e9acc8 From Matthias Drochner:
use constants from etherdrv.h
make selection table driven
1997-03-15 22:18:21 +00:00
perry
3824935377 From Matthias Drochner:
add constants for media selection
1997-03-15 22:17:35 +00:00
perry
e097564463 From Matthias Drochner:
add definition prototype for PCI ROMs
add optional definition for serial console support
1997-03-15 22:16:35 +00:00
perry
817522ff26 From Matthias Drochner:
fix prototypes
use CONSDEV_* constants for consistency
1997-03-15 22:15:49 +00:00
perry
86ab882a41 From Matthias Drochner:
support for ROMs ala PCI specification
1997-03-15 22:15:02 +00:00
perry
492449d27a From Matthias Drochner:
calculate 16-bit checksum
support for ROMs ala PCI specification
1997-03-15 22:14:02 +00:00
thorpej
a276c4ee15 - Some cosmetic changes to whitespace
- make the command parser table-driven
1997-03-14 06:56:27 +00:00
thorpej
6ed34bacd9 Purely cosmetic whitespace changes. 1997-03-14 06:55:07 +00:00
mycroft
e96f48563b Add netboot.bin to CLEANFILES. 1997-03-14 05:07:27 +00:00
thorpej
63a75dcdcf Make this work with obj* dirs. 1997-03-14 04:59:34 +00:00
perry
627952867a Ressurect (not quite, since this is in fact the new boot code Makefile
now).
1997-03-14 02:54:14 +00:00
perry
816bb96145 Initial import of new boot code, created by Matthias Drochner with a
little hacking by me. This isn't strictly identical to his 920312
release -- I've hacked it a bit -- but since we are taking over change
control it doesn't matter much.
1997-03-14 02:40:32 +00:00
perry
2eb5a59f71 Initial import of new boot code, created by Matthias Drochner with a
little hacking by me. This isn't strictly identical to his 920312
release -- I've hacked it a bit -- but since we are taking over change
control it doesn't matter much.
1997-03-14 02:40:29 +00:00
perry
0c7dacfcec All these files are ancient and haven't been used in years -- the
current boot blocks are in boot/; we need the thing cleaned out so we
can put the new libsa based boot stuff in its place.
1997-02-15 23:54:52 +00:00
mycroft
88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
mycroft
4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
cgd
022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
mycroft
52efca41cd Nuke remaining patchkit headers. 1993-08-02 18:17:24 +00:00
mycroft
4862b84c92 Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.
1993-08-01 19:22:24 +00:00
mycroft
690cae8181 Add RCS indentifiers. 1993-07-31 15:17:49 +00:00
cgd
30177b538f add rcsids to everything and clean up headers 1993-05-22 07:56:12 +00:00
cgd
b740fbac92 bsd->netbsd 1993-04-28 06:37:52 +00:00
cgd
d49f6418c3 386bsd -> bsd for kernel name, and kill weird binary... 1993-04-28 05:38:44 +00:00
cgd
e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00