Commit Graph

677 Commits

Author SHA1 Message Date
dcs
d74e7634cf Add heap?, so we can tell how much free space we have left. 2000-05-04 20:41:30 +00:00
nyan
cae2d6459f - Removed hi-resolution mode supports.
- Added a dummy partition table.
2000-05-03 04:35:25 +00:00
n_hibma
c653b7f417 Add the udbp module 2000-05-02 11:51:07 +00:00
dwhite
2fa198a147 Add man page for pxeboot.
Reviewed By:	asmodai
2000-05-02 05:01:38 +00:00
peter
81103ba0e4 Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
peter
0ec4ea8f28 GC unused variable (size) 2000-05-01 18:03:15 +00:00
peter
5a04dd96b7 Fix some warnings on the Alpha. sizeof() returns different things on
x86 and Alpha. Sigh.
2000-05-01 18:02:38 +00:00
ps
9d2fdd353e Wrap the failure warnings around PXE_DEBUG in the cleanup routine.
It does not matter if they fail, so dont print anything about it
unless we are debugging.
2000-05-01 17:55:05 +00:00
bp
93440aad9b Update loader logic to distinguish modules vs. files.
Add support for module metadata. The old way of dependancy
handling will be supported for a while.

Reviewed by:	peter
2000-05-01 17:41:25 +00:00
nyan
527c30068e Sync with sys/boot/i386/libi386/biosdisk.c revision 1.30. 2000-04-30 08:24:36 +00:00
ps
9b0ecf22ab Fall back to /pxeroot as the location of the NFS exported directory
if we are not given one by dhcp.
Remove extra includes while I am here.

Reminded by:	jlemon
2000-04-29 23:08:49 +00:00
jlemon
0bc1a09423 Teach the loader about the ext2fs filesystem, extended partitions, and
the new readdir function.
2000-04-29 20:49:33 +00:00
ps
d3f05df1f8 Make PXE do a dhcp request to find out where its files are. The
DHCP server is no longer required to also act as the NFS/TFTP
server.
2000-04-27 12:30:28 +00:00
ps
a593237615 Don't report errors when we UDP_WRITE fails with a status of 1. 2000-04-27 03:23:50 +00:00
jhb
09ec2d9fab Now that we are compiling PXE into libi386, we don't need ../libi386 in
.PATH anymore.
2000-04-26 19:54:49 +00:00
ps
7fbc9ae671 Bring support in for Intel Wired for Management 1.1 (PXE 0.99 and
below).  This did not work previously because interrupts were
disabled when PXE calls were being made, and they must be enabled.
This should also allow us to be compliant with all newer PXE rom's
from Intel.

For PXE 0.99, this has been tested using the Intel N440BX motherboard
and I am confident it will work on the Intel L440GX motherboard.

Lots of help/information from: jhb, peter

I would like to thank Michael Johnston <michael.johnston@intel.com>,
Mike Henry <mike.henry@intel.com>, and all the other PXE developers
at Intel for their help, and information in helping solve this
problem.
2000-04-26 07:38:40 +00:00
jhb
129f9255f9 Don't disable interrupts when calling a vm86 mode interrupt or routine
from user mode.  Don't disable interrupts when returning from vm86 mode
to user mode either.  Now, we only disable interrupts before calling a
hardware interrupt handler, which is the only time we _should_ be
disabling interrupts.

Because of this, err, feature, any routine that one called in vm86 mode
had to re-enable interrupts by setting the interrupt flag or interrupts
would remain disabled even after the routine returned.  For example, I
have a simple debugging routine that uses a vm86 mode function to dump
any arbitrary memory word that I use to read the BIOS timer or any other
memory location.  This function does 1 load instruction from memory and
then returns.  Since it didn't re-enable interrupts, the first time I
called it to read the BIOS timer, it disabled interrupts.   This also
affected the PXE bootstrap as it needs interrupts enabled while it is
processing.  This patch fixes both of those situations so that those
functions do not worry about having to enable interrupts.  Hardware
interrupt handlers worked fine with the old code because they always
enable interrupts as part of their routine.

If you have any problems with the loader after this commit, please
let me know.  I'd like to MFC it in a week or two since PXE support
needs it.

Noticed by:	ps, Michael Johnston <michael.johnston@intel.com>
2000-04-26 04:35:25 +00:00
nyan
e82f5994bb Sync with the following changes.
sys/boot/i386/libi386/Makefile	1.16 and 1.17
sys/boot/i386/loader/Makefile	1.44
sys/boot/i386/loader/main.c	1.20
2000-04-23 09:33:31 +00:00
ps
a1a345ed14 Move the building of the PXE module into libi386. 2000-04-21 22:06:02 +00:00
ps
b10b355c77 Make the loader a little smarter about when it is and is not allowed
to call PXE.
2000-04-21 04:58:51 +00:00
ps
159d61a1ca Don't call the PXE cleanup routine if PXE is not enabled. This
should fix the "Invalid partition table" error people were seeing.
2000-04-21 03:04:16 +00:00
ps
76b2608c7b 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
8c121a8f23 Use !PXE api over PXENV+ api.
Magic trampoline by: peter (at 4am and after a good whipping at airhockey)
Do a better job of returning and detecting errors.
2000-04-19 11:22:38 +00:00
msmith
f99c30799c Some more i386-only BIOS-friendliness:
- Add support for using the PCI BIOS functions for configuration space
   accesses, and make this the default.

 - Make PNPBIOS the default (obsoletes the PNPBIOS config option).

 - Add two new boot-time tunables to disable each of the above.
2000-04-16 20:48:33 +00:00
nyan
233d640257 The printf function of boot2 can't recognize "%lx" format.
Submitted by:	Nobuyuki Koganemaru <kogane@koganemaru.co.jp>
2000-04-14 14:25:13 +00:00
nyan
9f1704174f Merged from sys/boot/i386/loader/Makefile revision 1.43. 2000-04-14 13:51:14 +00:00
kato
105341fb2e Merged from sys/boot/i386/loader/main.c rev 1.19. 2000-04-12 11:17:08 +00:00
jhb
6004c4c337 Add a missing dependency: boot2 depends on the BTX kernel. 2000-04-11 14:49:13 +00:00
jkh
dd12735b23 Nuke duplicate struct declaration from somebody's paste-o 2000-04-08 22:50:18 +00:00
ps
c022557931 Make PXE use the UDP API. This allows for both TFTP and NFS support.
You may specify TFTP or NFS via compile time options in the loader,
but not both at this time.

Also, remove a warning about not knowing how to boot from network
devices.  We can obviously do that now.
2000-04-08 01:22:14 +00:00
ps
155717ceb3 Add a missing PXE API call and structure. 2000-04-04 07:28:54 +00:00
ps
abcd8f38c1 Add all the PXE related structures from the 2.1 PXE spec from Intel.
Fix exsisting code to match the spec.
2000-04-04 00:38:59 +00:00
kato
106377e011 Synced with following files:
src/sys/boot/i386/Makefile.inc	1.1
  src/sys/boot/i386/btx/btx/btx.s	1.15
  src/sys/boot/i386/btx/btxldr/Makefile	1.8
  src/sys/boot/i386/btx/btxldr/btxldr.s	1.9
  src/sys/boot/i386/libi386/biosdisk.c	1.29
  src/sys/boot/i386/loader/Makefile	1.42
  src/sys/boot/i386/loader/main.c	1.18
(entry point address of loader was not changed.)

Reviewed by:	nyan
2000-03-31 16:03:02 +00:00
kato
0825187666 Separated serial boot block interface routine into NS16550 stuff and
i8251 stuff.
2000-03-30 09:25:03 +00:00
jhb
62947fcc35 Mega i386 loader commit.
- Don't hard code 0x10000 as the entry point for the loader.  Instead add
  src/sys/boot/i386/Makefile.inc which defines a make variable with the
  entry point for the loader.  Move the loader's entry point up to
  0x20000, which makes PXE happy.
- Don't try to use cpp to parse btxldr for the optional BTXLDR_VERBOSE,
  instead use m4 to achieve this.  Also, add a BTXLDR_VERBOSE knob in the
  btxldr Makefile to turn this option on.
- Redo parts of cdldr's Makefile so that it now builds and installs cdboot
  instead of having i386/loader/Makefile do that.  Also, add in some more
  variables to make the pxeldr Makefile almost identical and thus to ease
  maintainability.
- Teach cdldr about the a.out format.  Cdldr now parsers the a.out header
  of the loader binary and relocates it based on that.  The entry point of
  the loader no longer has to be hardcoded into cdldr.  Also, the boot
  info table from mkisofs is no longer required to get a useful cdboot.
- Update the lsdev function for BIOS disks to parse other file systems
  (such as DOS FAT) that we currently support.  This is still buggy as
  it assumes that a floppy with a DOS boot sector actually has a MBR and
  parses it as such.  I'll be fixing this in the future.
- The biggie:  Add in support for booting off of PXE-enabled network
  adapters.  Currently, we use the TFTP API provided by the PXE BIOS.
  Eventually we will switch to using the low-level NIC driver thus
  allowing both TFTP and NFS to be used, but for now it's just TFTP.

Submitted by:	ps, alfred
Testing by:	Benno Rice <benno@netizen.com.au>
2000-03-28 01:19:53 +00:00
nyan
affa545252 Sync with sys/boot/i386/libi386/biosdisk.c revision 1.27 and 1.28.
Submitted by:	Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
2000-03-17 12:38:36 +00:00
jhb
502d2263b9 Remove some extra spammage that made it into this commit. This will be
revisited later with a better fix, or at least one that compiles. :)

Approved by:	dcs
2000-03-15 16:36:55 +00:00
dcs
77c8173518 Pass an unit number to bcache_strategy, so it can flush the cache when
necessary. Pass an absolute block number too, instead of receiving a
relative one in realstrategy(), as bcache_strategy() requires this.

The fix is sligthly different from the one in the PR.

PR:		17098
Submitted by:	John Hood <jhood@sitaranetworks.com>
2000-03-15 01:58:45 +00:00
dcs
ac481054b0 bcache_strategy() now receives an unit number, and keep track of what
was the last unit number received. If it changes, it flushes the cache.
Add bcache_flash().

The actual fix is sligthly different from the one in the PR.

PR:		17098
Submitted by:	John Hood <jhood@sitaranetworks.com>
2000-03-15 01:56:12 +00:00
dcs
ae1fd9c262 Pass unit number to bcache_strategy(), so that the cache can be
flushed if the unit changes. Compute the absolute offset before
bcache_strategy() instead of after.

The actual fix is sligthly different for the one in the PR.

PR:		17098
Submitted by:	John Hood <jhood@sitaranetworks.com>
2000-03-15 01:53:34 +00:00
bp
1e197670cc Fix the loader to handle module dependencies properly. More fixes
will be provided after modmetadata appears in the kernel.

Reviewed by:	msmith
Approved by:	jkh
2000-02-25 05:10:44 +00:00
msmith
7fc3700f65 Close a file descriptor leak in the code which loads file objects.
Submitted by:	Paul Saab <paul@mu.org>
Approved by:	jkh
2000-02-17 02:19:19 +00:00
jhb
804eab39ba This patch to BTX fixes several small things:
1) Fix a bug in the int15 function 87 emulation where we only copied half
   of what the BIOS asked for.  This caused the Mylex RAID adapter to go
   haywire and start trashing memory when you tried to boot from it.
2) Don't use interrupt 19 to reboot.  Instead, set the reboot flag to a warm
   boot and jump to the BIOS's reboot handler.  int 19 doesn't clear memory
   or restore the interrupt vector table, and thus really isn't safe.  For
   example, when booting off of PXE, the PXE BIOS eats up a chunk of memory
   for its internal data and structures.  Since we rebooted via int 19,
   using the 'reboot' command in the loader resulted in that memory not
   being reclaimed by the BIOS.  Thus, after a few PXE boots, the system
   was out of lower memory.
3) Catch any int 19 calls made by a BTX client or a user pressing
   Ctrl-Alt-Delete and shutdown BTX and reboot the machine cleanly.  This
   fixes Ctrl-Alt-Delete in the loader and in boot2 instead of presenting
   the user with a BTX fault.

Approved by:	jkh
Found by:	1) by msmith
2000-02-16 07:00:16 +00:00
ru
10b480fdaa Support the new ata(4) syntax, while providing backward compatibility for wd(4).
Reviewed by:	jkh, msmith, sos
Approved by:	jkh
2000-02-09 19:23:46 +00:00
kato
2d340300cf Synced with sys/boot/i386/loader/Makefile rev 1.41. 2000-02-05 02:21:31 +00:00
luigi
0087260d5e Add a NOFORTH variable so we can build a smaller loader without
Forth support, for use with PicoBSD

Approved-By: jordan
2000-02-04 20:57:09 +00:00
jhb
d737aee48a Fix bogon in previous commit. Re-enable Forth in the loader.
Noticed by:	dcs
Approved by:	jkh
2000-01-30 06:56:27 +00:00
kato
f6521b92ef Synced with sys/boot/i386/btx/btx/btx.s rev 1.14. 2000-01-29 13:48:36 +00:00
jhb
591bcae81b Allow for cdldr to be built in ${.OBJDIR}/../cdldr/cdldr instead of
only looking for it in ${.CURDIR}/../cdldr/cdldr.  This fixes world.
2000-01-28 15:19:22 +00:00
dcs
00db0780a2 Implement a machine-independent (word size-independent) FICL_TRUE. 2000-01-28 03:59:12 +00:00
dcs
349ab048b8 ANS Forth for logical not is 0=, not invert. Replace wrong usage. 2000-01-28 03:41:39 +00:00
dcs
0668f8b171 Add testmain.o to CLEANFILES. 2000-01-28 03:07:25 +00:00
dcs
297f17afc4 Try my hand again at removing ugly testmain target. 2000-01-28 02:40:23 +00:00
jhb
5c6ef651db Add the new cdldr CD bootstrap loader. This patch includes the following:
- Fix btxldr to preserve a NULL bootinfo pointer when it copies the kernel
  arguments.
- Add the cdldr bootstrap program.  This program is tacked onto the
  beginning of the standard 3rd stage boot loader (/boot/loader) to form
  the CD boot loader (/boot/cdboot).  When a CD is booted, the cdboot file
  is copied into memory instead and executed.  The cdldr stub emulates the
  environment normally provided by boot2 and then starts the loader.  This
  booting method does not emulate a floppy drive, but boots directly off of
  the CD.  This should fix the problems some BIOS's have with emulating a
  2.88 MB floppy image.
- Add support to the loader to recognize that it has been booted by cdldr
  instead of boot2 and use a simpler method of extracting the BIOS boot
  device.
2000-01-27 21:21:01 +00:00
jhb
b6882786cd Fix brokenness introduced with the PAGING conditional variable. The value
of %cr0 wasn't reloaded into %eax before being modified to turn protected
mode off if PAGING was not defined.  The result was that the processor did
not exit protected mode, so when it tried to jump to segment 0x0 in the
next instruction to clear the prefetch cache like one should when leaving
protected mode, it actually tried to jump to a null selector, causing a
GPF.
2000-01-27 21:06:13 +00:00
wpaul
ef88b7c3be Add driver support for the Aironet 4500/4800 series wireless 802.11
NICs. (Finally!) The PCMCIA, ISA and PCI varieties are all supported,
though only the ISA and PCI ones will work on the alpha for now.
PCCARD, ISA and PCI attachments are all provided. Also provided an
ancontrol(8) utility for configuring the NIC, man pages, and updated
pccard.conf.sample. ISA cards are supported in both ISA PnP and hard-wired
mode, although you must configure the kernel explicitly to support the
hardwired mode since you have to know the I/O address and port ahead
of time.

Special thanks to Doug Ambrisko for doing the initial newbus hackery
and getting it to work in infrastructure mode.
2000-01-14 20:41:03 +00:00
wpaul
17317c9fef Add device driver support for USB ethernet adapters based on the CATC
USB-EL1202A chipset. Between this and the other two drivers, we should
have support for pretty much every USB ethernet adapter on the market.
The only other USB chip that I know of is the SMC USB97C196, and right
now I don't know of any adapters that use it (including the ones made
by SMC :/ ).

Note that the CATC chip supports a nifty feature: read and write combining.
This allows multiple ethernet packets to be transfered in a single USB
bulk in/out transaction. However I'm again having trouble with large
bulk in transfers like I did with the ADMtek chip, which leads me to
believe that our USB stack needs some work before we can really make
use of this feature. When/if things improve, I intend to revisit the
aue and cue drivers. For now, I've lost enough sanity points.
2000-01-14 03:14:49 +00:00
wpaul
b5bfb61799 Add device driver support for USB ethernet adapters based on the
Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the
Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com
3c19250 and the ADS Technologies USB-10BT. This device is 10mbs
half-duplex only, so there's miibus or ifmedia support. This device
also requires firmware to be loaded into it, however KLSI allows
redistribution of the firmware images (I specifically asked about
this; they said it was ok).

Special thanks to Annelise Anderson for getting me in touch with
KLSI (eventually) and thanks to KLSI for providing the necessary
programming info.

Highlights:
- Add driver files to /sys/dev/usb
- update usbdevs and regenerate attendate files
- update usb_quirks.c
- Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha
- Update LINT, GENERIC and others for i386, alpha and pc98
- Add man page
- Add module
- Update sysinstall and userconfig.c
2000-01-05 04:27:24 +00:00
nyan
980426e730 Merge from the following changes.
sys/boot/i386/libi386/biosmem.c	Rev 1.4
	sys/boot/i386/libi386/time.c	Rev 1.3
	sys/boot/i386/loader/main.c	Rev 1.16
2000-01-03 15:43:52 +00:00
nyan
8aa0982899 Fixed to get the BIOS geometry. 2000-01-03 15:28:05 +00:00
msmith
78d9c20456 Substantially revamp the way that we determine the amount of memory available
for our use.  Use the same search order for BIOS memory size functions
as the kernel will later use.

Allow the loader to use all of the detected physical memory (this will
greatly help people trying to load enormous memory disk images).

More correctly handle running out of memory when loading an object.

Use the end of base memory for the top of the heap, rather than
blindly hoping that there is 384k left.

Add copyrights to a couple of files I forgot.
1999-12-29 09:54:46 +00:00
peter
4a06465a4e 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
msmith
0bbb50119f Correctly handle a user-requested abort in the middle of displaying a
help subtopic.

PR:		kern/13196
Submitted by:	MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
1999-12-28 07:19:22 +00:00
wpaul
56f680165a This commit adds device driver support for the ADMtek AN986 Pegasus
USB ethernet chip. Adapters that use this chip include the LinkSys
USB100TX. There are a few others, but I'm not certain of their
availability in the U.S. I used an ADMtek eval board for development.
Note that while the ADMtek chip is a 100Mbps device, you can't really
get 100Mbps speeds over USB. Regardless, this driver uses miibus to
allow speed and duplex mode selection as well as autonegotiation.
Building and kldloading the driver as a module is also supported.

Note that in order to make this driver work, I had to make what some
may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer()
function will use tsleep() for synchronous transfers that don't complete
right away. This is a problem since there are times when we need to
do sync transfers from an interrupt context (i.e. when reading registers
from the MAC via the control endpoint), where tsleep() us a no-no.
My hack allows the driver to have the code poll for transfer completion
subject to the xfer->timeout timeout rather that calling tsleep().
This hack is controlled by a quirk entry and is only enabled for the
ADMtek device.

Now, I'm sure there are a few of you out there ready to jump on me
and suggest some other approach that doesn't involve a busy wait. The
only solution that might work is to handle the interrupts in a kernel
thread, where you may have something resembling a process context that
makes it okay to tsleep(). This is lovely, except we don't have any
mechanism like that now, and I'm not about to implement such a thing
myself since it's beyond the scope of driver development. (Translation:
I'll be damned if I know how to do it.) If FreeBSD ever aquires such
a mechanism, I'll be glad to revisit the driver to take advantage of
it. In the meantime, I settled for what I perceived to be the solution
that involved the least amount of code changes. In general, the hit
is pretty light.

Also note that my only USB test box has a UHCI controller: I haven't
I don't have a machine with an OHCI controller available.

Highlights:

- Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part.
- Updated usbdevs and regenerated generated files
- Updated HARDWARE.TXT and RELNOTES.TXT files
- Updated sysinstall/device.c and userconfig.c
- Updated kernel configs -- device aue0 is commented out by default
- Updated /sys/conf/files
- Added new kld module directory
1999-12-28 02:01:18 +00:00
peter
5ba368763d Connect up the bootforth glue and compile it, but don't initialize it
at runtime as it has a nasty habit of crashing on the Alpha :-(.
This is being done this way so we have a common starting point for
debugging.
1999-12-27 09:20:33 +00:00
wpaul
9a7944a6f2 Close PR #15422; fix loader.conf to reflect new driver support (old
tulip clone NICs merged into if_dc driver).

PR: conf/15422
1999-12-23 05:28:31 +00:00
nyan
d90faeb6d8 - Supported the bd_getbigeom function and use this function to get BIOS
geometry.
- Use i386/libi386/bootinfo.c instead of pc98/libpc98/bootinfo.c.

Submitted by:	IMAI Takeshi <take-i@ceres.dti.ne.jp>
1999-12-19 14:05:46 +00:00
marcel
8f2f26ff55 Don't build gensetdefs when we can use /usr/bin/gensetdefs. The latter
also creates setdef{0|1}.c so there's no need to have those in the
repository. Using /usr/bin/gensetdefs has no consequences for the
output.
1999-12-16 17:25:01 +00:00
marcel
b17eb5ce7c Add -L${DESTDIR}${LIBDIR} to ld's command line so that the right
libstand is used.
1999-12-15 18:16:56 +00:00
phk
cb4ec6e79f Remove BAD144 support, it has already been disabled for some time. 1999-12-08 09:33:00 +00:00
msmith
9b73fddca4 Update the sample for $init_path to reflect the kernel default. 1999-12-07 18:35:58 +00:00
msmith
8111b30ac6 Update to reflect use of : not ; as separator in paths passed to the
kernel.
1999-12-07 18:31:43 +00:00
dcs
81bb37695f Make some examples reflect defaults. 1999-12-07 04:24:05 +00:00
nyan
da3a3a5988 Supported to sound beep.
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
1999-12-03 13:20:55 +00:00
dcs
0957612049 Add bus suffix to mii. 1999-12-02 03:48:50 +00:00
dcs
0d326e34d9 Add if_ prefix to network drivers. 1999-12-02 03:47:46 +00:00
dcs
d159fe7620 Add fairings. Do not depend on user actually supplying the arguments
he is supposed to supply.
1999-12-01 18:30:26 +00:00
dcs
47c061fc55 Make the prompt look like on OpenBoot. 1999-11-27 21:44:47 +00:00
dcs
99ef0c1c8e Zeroes structure before using it. 1999-11-27 18:31:57 +00:00
dcs
2c1cef39a9 Belatedly add splash_pcx_load to the documented variables. Reword
splash_bmp_load.
1999-11-26 08:09:04 +00:00
nyan
408053c1bd Sync with sys/boot/i386/loader/Makefile revision 1.37. 1999-11-25 12:46:16 +00:00
dcs
48ac5d361d Activates password protection (if a password is defined).
Adds $FreeBSD$.
1999-11-24 17:59:37 +00:00
dcs
d514607b94 Add silly password feature. If people want to depend on a flawed
security measures, so be it. It costs us almost nothing.

Document some code in support.4th that I was unable to understand
just by reading.
1999-11-24 17:56:40 +00:00
dcs
0a7014fdc2 Add machine-specific include path to ficl's sysdep.h. Wishes I had
gone to bed earlier.

Pointed by: peter
1999-11-23 16:30:48 +00:00
dcs
81fe52dbc1 Revert ill-considered simplification in 1.13.
Pointed by: peter
1999-11-23 16:28:39 +00:00
dcs
67fbd7499f Improve Makefile by using .PATH.
Taught by: peter
1999-11-23 15:55:28 +00:00
dcs
62fdef4846 Improve on ficl port to alpha.
Files sysdep.[ch] are now in ${MACHINE_ARCH} subdirectory. Internal
#if's used to identify the platform where removed.

Make rule for target testmain was greatly simplified, because it was
easier simplifying it than changing it to support the new location of
sysdep.[ch].

(a repo-copy was done on sysdep.[ch], of course)
1999-11-23 15:24:30 +00:00
dcs
ba38cdf274 (Hopefully) make all necessary changes for ficl to support alpha. 1999-11-23 11:17:37 +00:00
n_hibma
e18c53ba1f Add comments on what it the USB modules are. Add the usb module.
The USB module contains the OHCI and UHCI controllers as well.
Sticking them into separate modules might be possible after I have
untangled the mess.
1999-11-22 04:08:37 +00:00
n_hibma
992526d8f4 Change the name of the modules from <name>_mod to <name>
Suggested by:	David O'Brien <obrien@FreeBSD.ORG>
1999-11-17 22:47:11 +00:00
n_hibma
5d438d5114 Add the USB modules. 1999-11-16 22:00:46 +00:00
nyan
e79fac6204 Fixed warnings. 1999-11-16 11:59:19 +00:00
nyan
020e6d4e20 Remove -mno-486 option and add -mpreferred-stack-boundary=2 option. 1999-11-16 11:56:38 +00:00
nyan
a079d3cfb1 Cosmetic changes. 1999-11-16 00:42:18 +00:00
nyan
3291052a67 Install loader.rc. 1999-11-16 00:38:20 +00:00
marcel
e19b91a463 PC-98 has MACHINE_ARCH=i386 and MACHINE=pc98. Make it a special case.
This should fix the breakage reported by nyan.
1999-11-15 08:31:14 +00:00
obrien
ed517373b9 Add -fdata-sections, which is a new GCC 2.95 optimization. Remove
-fschedule-insns as it wasn't such a big win with 2.95 after all.

Add the *BIG* win "-mpreferred-stack-boundary=2" optimiztion submitted by
Dima.  GCC 2.95 ensures the stack frame is always properly [opitimally]
aligned by surrounding every function call by code simular to
"addl $-12, %esp" / "addl $12, %esp".  Here we need the reduction in space,
with speed not an issue.
1999-11-15 04:23:40 +00:00
obrien
2e847e6a66 Return this file to its pre-spammed version. Thanks to some new compiler
optimizations, we can go from 3 bytes free with the spammed version, to
279 bytes free with the full version.
1999-11-14 22:17:06 +00:00
marcel
b6a67d6d2b ${MACHINE} -> ${MACHINE_ARCH}
All Makefiles now use MACHINE_ARCH for the target architecture.
Unification is required for cross-building.

Tags added to:
	sys/boot/Makefile
	sys/boot/arc/loader/Makefile
	sys/kern/Makefile
	usr.bin/cpp/Makefile
	usr.bin/gcore/Makefile
	usr.bin/truss/Makefile

usr.bin/gcore/Makefile:
	fixed typo: MACHINDE -> MACHINE_ARCH
1999-11-14 13:54:44 +00:00
obrien
dfdd1a62a7 Enter complier upgrade mode again. We need to cut 169 bytes from this:
Remove some printf() calls, reduce size of buffers, and abbreviate
	some strings.

Hopefully the boot people will fix this spamage after the cut over to
Gcc 2.95.2 as the system compiler.
1999-11-14 00:41:54 +00:00
obrien
3d1602af03 Turn on the -fforce-addr and -fschedule-insns optimizations. Adding
either one gives us an additional 32 bytes of additional space available
when using EGCS 1.1.2.  With GCC 2.95.2 -fforce-addr gives us 12 more bytes,
and adding -fschedule-insns gives us an additional 4 bytes.
1999-11-13 23:08:46 +00:00
dfr
d16d0cbc09 Add back netboot since it compiles just fine. Note that you need a full
source tree to build netboot since it depends on headers from libstand.
1999-11-03 20:19:30 +00:00
dfr
fd6512f0f3 * Don't wait forever for the boot2 filename if the PCC wraps.
* If the user presses return, load boot2 immediately.
1999-11-03 20:18:12 +00:00
nyan
002d21a72f Sync with sys/boot/i386/btx/btx/btx.s revision 1.13. 1999-11-03 08:32:03 +00:00
nyan
d0c4b8183d Sync with sys/boot/i386/libi386/Makefile revision 1.15. 1999-11-03 08:23:57 +00:00
dcs
3da35ce053 Changes prompt to "ok". This line is actually commented out, and serves only
as an example and to reflect the builtin default.
1999-11-01 08:07:04 +00:00
dcs
518d0ce5d9 Changes the default prompt to "ok".
Mike says the whole idea of a current device was a bad idea in first place,
and will be doing away with currdev.

Anyway, people are not supposed to even notice this. :-)
1999-11-01 08:05:22 +00:00
phantom
5f7f9c4fa2 Remove comments left since mdoc.template time or just useless comments 1999-10-30 15:38:20 +00:00
jhb
ff1fe78fa9 If PAGING is defined then actually turn it on when entering protected
mode.
1999-10-27 02:22:52 +00:00
dcs
25784fa2c3 Make the "machine" target a prequisite to all source files.
Hinted-at by: bde
1999-10-19 03:53:59 +00:00
kato
e1ce37b7d4 Sync with sys/boot/i386/btx/btx/Makefile and btx.s revisions 1.7 and
1.12, respectively.
1999-10-13 10:55:56 +00:00
jhb
77c4d7b9aa aThis patch updates the BTX to emulate the BIOS function "Copy Extended
Memory" called as function 0x87 of interrupt 0x15.  Since the Mylex RAID
adapter's BIOS used this function to access memory (actually PCI bus
space) beyond 16 MB, this patch also allows BTX to address all 4 Gig of
possible address space on i386+.  Since the loader does not have room for
4 MB of page tables, this was done by turning off paging.

Paging was turned off via a compile time setting which defaults to off.
To enable paging, simply define the make variable PAGING.

rnordier might want to clean this up later.

Submitted by:	W. Gerald Hicks <wghicks@bellsouth.net>,
		Bosko Milekic <bmilekic@ares.dsuper.net>
Reviewed by:	msmith
Required by:	Mylex RAID adapter's BIOS
1999-10-12 21:33:49 +00:00
dfr
f2070d171b Allow this driver to open disks with no labels (CDROMS don't). 1999-10-12 20:04:46 +00:00
brian
0d3d335feb Blank out the twiddly thing when outputting the ``BTX loader'' message. 1999-10-12 06:57:26 +00:00
dfr
d2308f5b2f Fix build break.
Submitted by: Thomas Valentino Crimi <tcrimi+@andrew.cmu.edu>
1999-10-09 12:30:18 +00:00
dfr
d0b3e151f4 Add net device to netboot. 1999-10-09 12:29:42 +00:00
dcs
f50e32422e Fix world-breaking bug, add $FreeBSD$ tag.
This happened to be my first "for real" broken world. I had broken
it once before, but nobody noticed, so it didn't count.

So, how do I get the "I broke world and all I got was the lousy t-shirt"
t-shirt?
1999-09-29 10:58:43 +00:00
dcs
92690f4ed8 Bring in ficl version 2.03. No version bump for loader. 1999-09-29 04:43:16 +00:00
kato
53ff94a650 - Fixed DMA 64k boundary problem.
- Test the processor flag to detect disk I/O BIOS errors.

Submitted by:	IMAI Takeshi <take-i@ceres.dti.ne.jp>
1999-09-23 03:57:16 +00:00
mjacob
f5811d12ad netboot removed until somebody fixes it so it compiles 1999-09-09 01:28:26 +00:00
msmith
b1b1b015f6 Add more missing files from the reorganisation.
Submitted by:	dfr
1999-09-07 09:08:09 +00:00
wpaul
0dfb862e27 Add mii_load entry to the network drivers section. Also add entries for
a few additional drivers that have recently been module-ized.
1999-09-07 05:03:06 +00:00
dfr
5ef89c9209 Change NetBSD/Alpha to FreeBSD/alpha. 1999-09-06 18:32:40 +00:00
msmith
2564d1573e Common Alpha loader Makefile, omitted accidentally from the previous set
of commits.
1999-09-06 08:38:10 +00:00
peter
225758a297 $Id$ -> $FreeBSD$ 1999-09-05 15:21:05 +00:00
msmith
1457023606 Slight reorganisation of the Alpha/SRM loader build:
- Make as much of the makefile for each of the three flavours
   (disk, CDROM, net) common.
 - Special-case the libalpha startup module on its use in boot1, not
   the other way around.
 - Build the loader out of a "loader" directory

Reviewed by:	mjacob, dfr
1999-09-03 19:42:18 +00:00
julian
0c6300ca16 Remove accidental cut&paste garbage in a comment. 1999-09-03 01:38:29 +00:00
julian
cc8aa4997c Comment the boot manager. So I don't have to work it all out again :-)
Reviewed by:	rnordier@freebsd.org
1999-09-03 01:35:06 +00:00
dfr
1f0c51c0e4 Change $Id$ to $FreeBSD$ 1999-09-01 09:38:21 +00:00
dfr
70e65e7344 * Fix a stack of warnings.
* Make it possible to type a filename to boot1 so that it is possible to
  recover from fatally broken versions of /boot/loader.
* Make a start at a CD boot program (not yet functional).
1999-09-01 09:11:14 +00:00
peter
e4b04a2b21 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
chris
24ff4e8603 Fix a bunch of broken cross-references 1999-08-18 05:55:22 +00:00
jdp
12d95a9af7 Append the flags from the "boot" command to those which came from
the SRM environment.  This makes the traditional "boot [/kernel] -s"
and similar things work on the Alpha.  Since the flags are appended,
they augment and/or override those from the SRM environment.
1999-08-14 17:06:11 +00:00
kato
b944ccda32 Merge from sys/boot/i386/libi386/bootinfo.c revision 1.21. 1999-08-13 02:05:07 +00:00
wpaul
6e06012de6 Convert the Winbond driver to newbus and have it compiled as a module. 1999-08-10 21:09:12 +00:00
wpaul
b5cc48fe2d Convert the VIA Rhine driver to newbus and set it up to be compiled as
a module. Also modified the code to work on FreeBSD/alpha and added
device vr0 to the alpha GENERIC config.

While I was in the neighborhood, I noticed that I was still using
#define NFPX 1 in all of the Makefiles that I'd copied from the fxp
module. I don't really use #define Nfoo X so it didn't matter, but
I decided to customize this correctly anyway.
1999-08-10 17:15:20 +00:00
kato
bf1da8c2e7 - Don't assume that SCSI ID numbers of HDD units are contiguous. That
is, don't assume that SCSI ID corresponds to a unit number of da
  device.  Unit number of da device is provided by 2nd stage loader
  and 3rd stage loader now use it.
- Fix drive letter to display.

Submitted by:	IMAI Takeshi <take-i@ceres.dti.ne.jp>
1999-08-05 03:19:37 +00:00
kato
7ef918dce9 Provides discontinuous unit number support to make external FDD
bootable on 1 FDD PC98 machines.  (When an external FDD unit is
installed, unit numbers become discontinuous.)

Submitted by:	IMAI Takeshi <take-i@ceres.dti.ne.jp>
1999-08-05 03:12:20 +00:00
green
ce250ee07e Add various network cards that have been new-busified and made into KLDs
(thanks Bill!)

Remove lkm.
1999-08-04 17:44:07 +00:00
dfr
5bdfec38a1 Make this build if there is an obj directory. 1999-08-02 19:16:42 +00:00
se
2ba7605ba8 Add missing "path mnemonics" as given in Table 4-3 of rev. 1.2 of the
ARC Specification.
1999-08-02 18:26:28 +00:00
se
3ccca9ab08 Fix install target (install loader.exe, not loader). 1999-07-29 22:22:38 +00:00
se
658a989cd3 Activate "arc" (ARC / AlphaBIOS loader) on Alpha. 1999-07-28 20:32:44 +00:00
nik
6af49de99d Fix some typos.
PR:             docs/11955
Submitted by:   Christian Weisgerber <naddy@mips.rhein-neckar.de>
1999-07-28 20:30:59 +00:00
se
39d00d4fc7 This commit was generated by cvs2svn to compensate for changes in r49187,
which included commits to RCS files with non-trunk default branches.
1999-07-28 20:28:47 +00:00
se
159c5d3210 The ARC BIOS / AlphaBIOS specific primary boot loader. This code is the
result of a joined effort with parts contributed by Doug Rabson, Warner
Losh and Stefan Esser (hope I did not forget anybody). Part of the sources
is obtained from NetBSD with modifications.

This code is work in progress:

As of the time of the initial import, a loader.exe executable is built,
which can be loaded on an Alpha with NT only firmware, but no attempt is
made to switch to OSF PAL code as required to start an actual kernel.
1999-07-28 20:28:47 +00:00
rnordier
c0466155cf Recognise NetBSD slices.
Submitted by : Lars Koeller <lkoeller@cc.fh-lippe.de>
PR           : 12772
1999-07-24 17:40:40 +00:00
msmith
a5862823bf Walk around the end of all the silly guessing of device types and unit
numbers that we have been doing in the past, and read /etc/fstab off the
proposed root filesystem to determine the actual device name and vfs
type for the root filesystem.  These are then exported to the kernel
via the environment variable vfs.root.mountfrom.
1999-07-21 00:08:54 +00:00
rnordier
c7f4e998c2 Reintroduce LBA (cyl > 1023) support in the bootblocks, enabled by
means of a build option.
1999-07-20 01:19:23 +00:00
rnordier
bbc6188804 Activate kgzldr. 1999-07-19 20:16:34 +00:00
rnordier
289309451d Use M4FLAGS for m4. 1999-07-19 20:10:17 +00:00
rnordier
91c94bd082 This commit was generated by cvs2svn to compensate for changes in r48907,
which included commits to RCS files with non-trunk default branches.
1999-07-19 18:07:44 +00:00
rnordier
f5a2fbe418 kgzldr is a kzipboot replacement for use with kgzip(8).
Development sponsored by Global Technology Associates, Inc.

Reviewed/tested by: abial
1999-07-19 18:07:44 +00:00
n_hibma
5320938375 The boot countdown timer says it will boot in 1 seconds,
which is grammatically incorrect.

PR:		12628
Submitted-By:	R. Matthew Emerson <rme@nightfly.apk.net>
1999-07-15 20:40:52 +00:00
msmith
ea00911144 Document the hw.physmem tunable. (There should be arch-specific tunable
help sections.)
1999-07-02 20:38:05 +00:00
peter
51e973cbfb Fix typo (wrong path) 1999-06-29 21:40:05 +00:00
peter
811ab8f8e7 Reconcile all the loader newvers.sh's into one common one. 1999-06-29 21:23:26 +00:00
peter
c857e3b02c Don't use head/tail - they don't exist in a 'make world' environment.
(Why do we have three copies of this script anyway?)
1999-06-29 21:06:16 +00:00
peter
4fcf231cb2 ABS_SET() and BSS_SET() are no longer used. The sole remaining user of
TEXT_SET() is DDB's command tables.
1999-06-26 12:27:01 +00:00
ru
07907f62ce -mdoc fix. 1999-06-23 09:06:18 +00:00
rnordier
08e6c47478 Fill in bi_bios_geom[] in the bootinfo structure passed to the kernel.
This should resolve the problem raised in PR 12315, and incidentally
makes it easier to determine what geometry the BIOS is actually using
(by way of boot -v and dmesg).
1999-06-21 18:27:02 +00:00
rnordier
a25b356d16 Provide for enabling/disabling each slice individually. 1999-06-19 21:40:55 +00:00
rnordier
64519f78ad Fix use of e_phoff in place of e_phnum. 1999-06-19 20:50:38 +00:00
rnordier
9d8d429e37 Correct and clarify some comments. 1999-06-19 20:40:32 +00:00
rnordier
69923944d2 Change active flag handling; sanity check passed drive number; pass
partition pointer to bootstrap; optimise away 10 bytes; cosmetics.
1999-06-18 21:49:18 +00:00
roger
ee1fb8b1da Add bktr_load for the loadable Bt848/Bt878 driver. 1999-06-13 15:45:49 +00:00
kato
cff64fbb98 Sync with sys/boot/i386/libi386/bootinfo.c revision 1.19. 1999-06-06 12:46:40 +00:00
ghelmer
2642600181 Modify the boot loader to recognize the -C flag and pass the RB_CDROM
flag to the kernel to mount a CDROM as the root filesystem.  Alternatively,
the boot_cdrom env var can be set.

As Mike Smith noted, "-C is the "wrong" way to do this", but this is
an acceptable stopgap in lieu of a better way.

PR:		bin/11884
Reviewed by:	msmith@freebsd.org
1999-06-04 03:18:28 +00:00
dfr
80e673aeb3 Typo: "can't boot 'boot'" should be "can't boot 'kernel'" 1999-05-30 10:45:03 +00:00
brian
93bfb8720b Always output a linefeed when we've decided whether to boot
or display a loader prompt; either we've said
"Booting [%s]..." or we've received a non-line-feed character
and need a '\n' anyway.
1999-05-28 08:01:52 +00:00
rnordier
dd639b1c90 Activate mbr. 1999-05-24 22:44:32 +00:00
rnordier
32c4cd5138 Add mbr: a standard master boot record intended to replace a couple
that are presently embedded in the fdisk and sysinstall code.
1999-05-24 22:36:24 +00:00
rnordier
93351c7db4 This commit was generated by cvs2svn to compensate for changes in r47471,
which included commits to RCS files with non-trunk default branches.
1999-05-24 22:36:24 +00:00
rnordier
db4f5997b9 Fix a reference to the mysterious Mike Smisth. 1999-05-22 13:18:28 +00:00
kato
29b554063e Sync with sys/boot/i386/btx/Makefile revision 1.5. 1999-05-20 08:00:08 +00:00
rnordier
a8bddff8a9 Drop some non-existent commented-out targets. 1999-05-18 22:10:05 +00:00
dcs
18ede3f41b Add "initialize" to loader.4th, so running "start" is not actually needed. 1999-05-14 18:59:27 +00:00
dcs
04514cbba4 Add fxp on a category of it's own. 1999-05-14 10:20:54 +00:00
dcs
b34951e060 Remove atapi and joy, add svr4 and streams. I wonder if removing vinum
is in order or not... (things are _not_ loaded by default, but it serves
as a reference to people tweaking their own loader.conf files)
1999-05-14 10:14:50 +00:00
dcs
e18563da67 Add ntfs and splash_pcx, remove pcic and wcd (yikes! what was THAT
doing here?).

Candidate for 3.2.
1999-05-14 10:03:58 +00:00
brian
1674c482e9 Better English. 1999-05-13 14:53:13 +00:00
jb
f0b9ae8c02 Found the needle in the haystack!
Use colons instead of semi-colons in the default init_path to behave like
UNIX instead of DOS.

Suggested by: bde
Reminded by: des (with no hint as to *which* man page).
1999-05-11 11:20:13 +00:00
dfr
df6b2fad79 Changes to support diskless booting on the alpha:
* Make the network code in the bootstrap more chatty (helps debugging)
* Add nfs root stuff to cpu_rootconf(). I also added a check to make sure
  it really was netbooting which allows the use of the same kernel for local
  and network boots.
* Tweak the de driver so that it takes the speed setting from the console
  for the alpha (some PWSs have broken de chipsets). This is the same
  behaviour as NetBSD/alpha.

Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
1999-05-03 09:36:29 +00:00
jkoshy
95dbecceb2 Correct typos.
PR:		docs/11445
Submitted by:	Kazuo Horikawa <horikawa@jp.freebsd.org>
1999-05-03 08:32:45 +00:00
jkoshy
76fbf03505 Correct misuse of .Nm.
PR:		docs/11449
Submitted by:	Kazuo Horikawa <horikawa@jp.freebsd.org>
1999-05-03 07:25:50 +00:00
dcs
02b27945ac Make man page reflect reality on parsing rules. Now I know Jordan
never read this man page... :-)
1999-04-25 21:41:09 +00:00
kato
65555e3a34 Sync with sys/boot/i386/loader/Makefile revision 1.34. 1999-04-25 03:56:44 +00:00
dcs
152fc09cc5 Minor nit. It is probably still incorrect, but at least don't
claim to use i386-specific files on alpha...
1999-04-24 18:05:45 +00:00
dcs
a534890a72 Move loader.conf.5, while it is still in it's first revision. 1999-04-24 17:49:47 +00:00
dcs
c79fc9e895 Add loader.4th man page (worst man page I ever wrote -- reviews
are welcomed). Correct a nasty bug in loader.4th before anyone
notices, add a couple of features.
1999-04-24 17:25:35 +00:00
kato
4da4f41b71 Optimize better for space.
Submitted by:	Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1999-04-24 04:29:13 +00:00
jdp
4da19c88ea Update #include statements to reflect the new location of "sioreg.h".
With these changes plus the egcs fix I committed a few minutes ago,
"make -DWANT_AOUT world" works again.  Most likely, "make upgrade"
is fixed too, though I haven't tested that.
1999-04-22 21:02:44 +00:00
des
f3c948877e Make the location of init(8) tunable at boot time. 1999-04-20 21:15:13 +00:00
joerg
b221fe8173 Don't clobber the "prompt" variable if it has already been set (e. g.
from within loader.conf).

Reviewed by:	dcs
1999-04-20 12:07:03 +00:00
kato
4f15a51c56 Sync with sys/boot/i386/loader/Makefile revision 1.32. 1999-04-19 11:02:19 +00:00
dcs
682ae87634 Installs a default loader.rc if none exists. Document loader.conf. 1999-04-18 09:21:12 +00:00
dcs
4220b330cd A default loader.rc to be installed. 1999-04-18 09:20:08 +00:00
peter
dc1b9002a0 Bring the 'new-bus' to the i386. This extensively changes the way the
i386 platform boots, it is no longer ISA-centric, and is fully dynamic.
Most old drivers compile and run without modification via 'compatability
shims' to enable a smoother transition.  eisa, isapnp and pccard* are
not yet using the new resource manager.  Once fully converted, all drivers
will be loadable, including PCI and ISA.

(Some other changes appear to have snuck in, including a port of Soren's
 ATA driver to the Alpha.  Soren, back this out if you need to.)

This is a checkpoint of work-in-progress, but is quite functional.

The bulk of the work was done over the last few years by Doug Rabson and
Garrett Wollman.

Approved by:	core
1999-04-16 21:22:55 +00:00
dcs
72718a97c3 Reactivate trace! after making it egcs-friendly. 1999-04-06 02:43:06 +00:00
rnordier
ccb5f518b6 Fix damage introduced in previous commit. 1999-04-05 07:36:30 +00:00