Commit Graph

1218 Commits

Author SHA1 Message Date
peter
b866d91337 Lookup the EFI_FPSWA driver and pass the interface pointer through to the
kernel before we call ExitBootServices().  I've typed the definitions
in efifpswa.h from the Intel FPSWA manual (urk).
2001-11-19 07:09:47 +00:00
peter
40fe009adb Remove bootinfo.bi_kernel. It isn't used by the kernel. struct bootinfo
should go away on ia64, we should be loader metadata based since that is
the only way we can boot (loader, skiload).
2001-11-19 07:05:10 +00:00
peter
536bf9b42b Fix a dependency violation, same as in libefi/elf_freebsd.c a while back. 2001-11-19 06:59:53 +00:00
peter
58087902a2 This is used in C, not C++. functions with no args have func(void) in our
kernel.
2001-11-19 06:58:14 +00:00
nyan
82943ba683 MFi386: revisions from 1.26 to 1.30. 2001-11-17 13:58:04 +00:00
nyan
d482b20b09 MFi386: revision 1.12 2001-11-17 13:57:32 +00:00
iedowse
4e3498d275 Fix a number of misspellings of "dependency" and "dependencies" in
comments and function names.

PR:		kern/8589
Submitted by:	Rajesh Vaidheeswarran <rv@fore.com>
2001-11-16 21:08:40 +00:00
fenner
5c86756d5c Initialize first to -1; this will create a (nearly) empty file on failure,
instead of looping until the disk is full.  This kind of failure can
especially happen when a version of awk that doesn't support POSIX
character classes is used.

Submitted by:	David Wolfskill <david@catwhisker.org>
2001-11-07 17:53:25 +00:00
jhb
a4e77dae6a Remove a few more debugging bits and turn on twiddle output while reading
from the CD.  This turns off the dual console output to COM1.
2001-11-07 01:20:33 +00:00
iwasaki
37688d6327 Add S4BIOS sleep (BIOS hibernation) and DSDT overriding support.
- Add S4BIOS sleep implementation.  This will works well if MIB
   hw.acpi.s4bios is set (and of course BIOS supports it and hibernation
   is enabled correctly).
 - Add DSDT overriding support which is submitted by takawata originally.
   If loader tunable acpi_dsdt_load="YES" and DSDT file is set to
   acpi_dsdt_name (default DSDT file name is /boot/acpi_dsdt.aml),
   ACPI CA core loads DSDT from given file rather than BIOS memory block.
   DSDT file can be generated by iasl in ports/devel/acpicatools/.
 - Add new files so that we can add our proposed additional code to Intel
   ACPI CA into these files temporary.  They will be removed when
   similar code is added into ACPI CA officially.
2001-11-06 15:00:30 +00:00
nyan
f6200bb4f8 MFi386: sys/boot/i386/loader/main.c revision 1.25 2001-11-06 12:31:56 +00:00
nyan
0975bb0246 MFi386: sys/boot/i386/libi386/Makefile revision 1.21 2001-11-06 12:31:05 +00:00
jhb
c719e36f58 - If we are booted via cdboot, use bc_add() to instantiate the cd0 device
from the loader.
- Cleanup extract_currdev() some and add support for setting the currdev
  to cd0 when booted via cdboot.
2001-11-05 19:03:01 +00:00
jhb
a4fb7c0967 Hook up the bioscd driver and the cd9660 filesystem. 2001-11-05 18:59:13 +00:00
jhb
094cb29b11 Add a device driver for the BIOS device for CD-ROM's booted via El Torito
no emulation mode.  Unlike other BIOS devices, this device uses 2048 byte
sectors.  Also, the bioscd driver does not have to worry about slices
or partitions.
2001-11-05 18:58:33 +00:00
jhb
c077e35a66 Add a DEVT_CD type for CD drivers. 2001-11-05 18:51:47 +00:00
jhb
1c85c21111 Trim all the extra debugging output including hexdumps, debug messages,
etc.  The only bit of debugging left is performing dual output to both
the screen and COM1.  Also, the twiddle is still disabled since it seems
to do weird things to the serial dump.  cdboot now has 880 bytes to spare.
2001-11-04 03:51:59 +00:00
jhb
b95616aa58 Axe the old cdldr. 2001-11-04 03:28:10 +00:00
jhb
677b4a24d6 Use the new cdboot instead of cdldr. 2001-11-04 03:27:06 +00:00
jhb
2515f10902 This is a new CD bootstrap utility designed to replace cdldr. According
to the El Torito standard for CD booting, a CD may boot in "No emulation"
mode without using a floppy image.  In this mode, the BIOS loads a program
off of the CD into memory and creates a BIOS device using 2048 byte sectors
for the CD.  According to the standard, this program can be up to 0xFFFF
virtual (512-byte) sectors long.  The old cdldr depended on this by having
the BIOS load the entire loader and the small cdldr stub as one binary
similar to pxeboot so that cdldr didn't have to read the CD to find the
loader.  However, the NT no emulation loader just uses 1 disk sector
(4 virtual sectors), so it seems that at least some BIOS writers just did
enough to get NT to boot by only loading 1 sector and ignoring the sector
count.  Thus, while cdldr should have worked in theory, it doesn't in
practice.  This replacment fits entirely in 1 sector and includes simple
ISO 9660 support.  It looks for /boot/loader on the CD and loads it up
using the BIOS.  This allows us to not have to depend on the limited size
of floppy images but use a full GENERIC kernel for CD-ROM installs in the
future, among other things.

This version of cdboot is a bit bloated as it includes some useful
debugging routines that people can pull to use in other x86 assembly
modules.  Even with all the debugging cruft, we still have 272 bytes to
spare.
2001-11-04 03:24:16 +00:00
jhb
c22f597592 Print out 'foo devices:' as the line before displaying a group of
devices in 'lsdev' output rather than printing out a pointer to the
print function since the user really could care less about the pointer
value.  Perhaps this was intended to be a debugging printf?
2001-11-04 02:58:39 +00:00
jhb
7079074a9c Whoops, missed these bits in the previous commit. 2001-11-03 22:21:21 +00:00
jhb
a4df14b208 Add support for sending messages to the serial console which is helpful
when debugging boot problems.  It is not on by default but is enabled via
the BTX_SERIAL variable.  The port and speed can be set via the same
variables used by boot2 and the loader.
2001-11-03 22:09:30 +00:00
jhb
f40c8aa82e Add support for outputting multiple lines when dumping memory during the
register dump.  Change the default to bump 2 lines of output (32 bytes)
instead of 1 line (16 byte).
2001-11-03 21:53:46 +00:00
jhb
008cbb2dde Add support for trace traps by returning from them just as for breakpoint
traps rather than halting.  Ideally, we should avoid printing the
'BTX halted' message for debug register dumps.
2001-11-03 21:42:25 +00:00
jhb
6bee569517 Output a newline at the end of a dump so that there are blank lines between
dumps when using breakpoints or tracing.
2001-11-03 21:40:47 +00:00
obrien
9bd91d26be Revert rev 1.3 which moved us away from POSIX character classes.
The community feels our base AWK must handle them.
2001-11-03 01:35:07 +00:00
obrien
8e8327cb31 Revert rev 1.7 which moved us away from POSIX character classes.
The community feels our base AWK must handle them.
2001-11-03 01:33:12 +00:00
mike
3df91ed4db o Add new header <sys/stdint.h>.
o Make <stdint.h> a symbolic link to <sys/stdint.h>.
o Move most of <sys/inttypes.h> into <sys/stdint.h>, as per C99.
o Remove <sys/inttypes.h>.
o Adjust includes in sys/types.h and boot/efi/include/ia64/efibind.h
  to reflect new location of integer types in <sys/stdint.h>.
o Remove previously symbolicly linked <inttypes.h>, instead create a
  new file.
o Add MD headers <machine/_inttypes.h> from NetBSD.
o Include <sys/stdint.h> in <inttypes.h>, as required by C99; and
  include <machine/_inttypes.h> in <inttypes.h>, to fill in the
  remaining requirements for <inttypes.h>.
o Add additional integer types in <machine/ansi.h> and
  <machine/limits.h> which are included via <sys/stdint.h>.

Partially obtain from:	NetBSD
Tested on:		alpha, i386
Discussed on:		freebsd-standards@bostonradio.org
Reviewed by:		bde, fenner, obrien, wollman
2001-11-02 18:05:43 +00:00
nyan
40808c1936 Fixed sioreg.h path. 2001-11-02 15:15:09 +00:00
obrien
112eea5338 Substitute "[:space:]" with the character constants it expands to.
This was a silent 'failure' when using Bell-Labs awk.

Submitted by:	David Wolfskill <david@catwhisker.org>
2001-11-01 19:14:16 +00:00
obrien
3be11f77da Bell-Labs AWK does not support POSIX "bracket expressions" (POSIXese for
"character classes", basically).  So change them to their character
representation.

Submitted by:	David Wolfskill <david@catwhisker.org>
2001-11-01 07:16:35 +00:00
peter
364766b6e6 Fix the ILLEGAL fdisk table that is there for supporting "dangerously
dedicated" mode.  This was specifying that there are 256 (illegal!)
heads on the disk.  If bioses store that in a byte, and it gets truncated
to 0, then that almost certainly causes the infamous divide-by-zero
nightmare.

This is also most likely the reason why the Thinkpad T20/A20 series
were locking up when FreeBSD was installed.  This is also the most likely
reason why a boot1 being present causes an IA64 box to lock up at boot.
(removing the "part4" stuff from boot1.s fixes the IA64 boxes and would
most likely have fixed the T20/A20 and some TP600E series thinkpads)
2001-11-01 06:19:32 +00:00
jake
cf11e2a00d Add code to copy the enironment and loader metadata into kernel space. 2001-10-30 06:37:36 +00:00
jake
db9bc81630 Add definitions for network support, doesn't work yet.
Pass the right arguments to the kernel.
Replace magic numbers with symbolic constants.
Pass the real openfirmware entry point to OF_init.
2001-10-30 06:31:45 +00:00
jake
2fe78b0a1e Use ENTRY() for defining functions in asm.
Remove asm functions to call the openfirmware and kernel entry points;
we can just call them directly.
Don't use the stack pointer for an intermediate result in setx.
Put the stack in the bss.
2001-10-30 06:27:34 +00:00
jake
36e649fc50 Make the openfirmware entry point function pointer non-static so that it
can be passed to the kernel.
2001-10-30 06:23:32 +00:00
marcel
ff26515539 Set RB_MULTIPLE (multiple console support) if the kernel is booted
with the -D flag.
2001-10-29 01:11:40 +00:00
ru
591b34de05 Just use ${MACHINE}, it's already special-casing pc98. 2001-10-25 09:05:47 +00:00
dfr
ec791e2f38 Call ExitBootServices and disable interrupts before we start hacking
the VM registers. This ought to make things slightly more reliable here.
2001-10-25 08:53:39 +00:00
dfr
1455d39753 Add the two sections used for PLT entries to the text and sdata sections
respectively. This makes IPLTLSB relocations work properly (these are
generated for weak symbols, particularly for _longjmp).
2001-10-25 08:50:14 +00:00
dfr
eb865e7656 Try to get the self-relocator to work with IPLTLSB relocations. Doesn't
work right though - I can't figure out why.
2001-10-24 20:14:49 +00:00
jlemon
fa5eeb011c Set RB_MULTIPLE (multiple console support) if the kernel is booted
with the -D flag.
2001-10-23 20:27:48 +00:00
jlemon
66b3b14455 Allow the RBX_DUAL flag to appear in bootinfo. 2001-10-23 20:27:05 +00:00
nyan
4bff7137a2 Use a array to convert from a attribute for AT to one for PC98.
(merged from sys/pc98/pc98/scvtbpc98.c)
2001-10-17 15:15:01 +00:00
nyan
ee5a768271 Merged from sys/boot/i386/libi386/vidconsole.c revisions 1.16, 1.17 and 1.18. 2001-10-17 14:41:50 +00:00
nyan
bc3aadffa1 fix style(9) 2001-10-17 14:17:11 +00:00
nyan
097a07c676 Merged from sys/boot/i386/loader/Makefile revision 1.54. 2001-10-17 14:13:36 +00:00
robert
c9e9bef4c3 Add a prototype for OF_alloc_phys. 2001-10-15 14:43:38 +00:00
robert
ffc6df5e2b Fix some warnings. 2001-10-15 14:40:36 +00:00
robert
c710d21b7e Add the FreeBSD/sparc64 boot loader source files. 2001-10-15 14:35:39 +00:00
robert
7c8b327153 Make the ofw_reg structure and ofw_alloc_heap 64-bit save. 2001-10-15 12:16:20 +00:00
robert
d4a2167afc Add a Makefile for the sparc64 boot loader. 2001-10-15 10:36:35 +00:00
robert
ceb5e8e962 Do not include openfirm.h; it is now included by libofw.h. 2001-10-15 09:52:38 +00:00
robert
0d8645d083 - Use the cell_t type definition for Open Firmware arguments in
combination with requisite casts as this avoids fatal side
   effects on 64-bit architectures.
 - Add the OF_alloc_phys function.
2001-10-15 09:51:09 +00:00
robert
239df19262 - Fill dummy functions with code to read from disk using Open
Firmware.
 - Add a temporary disklabel header to boot off a NetBSD/sparc64
   partition.  This file can be deleted when we have got a FCode
   bootblock.

The disklabel header was obtained from NetBSD.
2001-10-15 09:35:40 +00:00
robert
8e79c738e5 - Include openfirm.h for phandle_t.
- Add some necessary members to the ofwdisk structure.
 - Add a prototype for ofw_parseofwdev.
2001-10-15 09:28:07 +00:00
robert
e2f56100f9 Add a function for parsing an Open Firmware boot path into the
ofw_devdesc structure.
2001-10-15 09:25:30 +00:00
robert
ea6b1a25c3 - Add an ifdef guard.
- Use unsigned types for the (32-bit) Open Firmware device handles
   to avoid sign extension on 64-bit architectures.
 - Add a standard type definition for Open Firmware arguments.
2001-10-15 09:02:03 +00:00
dfr
18cd2d2cea Fix typo in comment. 2001-10-11 13:47:20 +00:00
marcel
f54e34402f s/alpha/${MACHINE_ARCH}/g 2001-10-08 01:41:45 +00:00
benno
1100470ac5 Whitespace fixes. 2001-10-07 13:27:27 +00:00
benno
0c1686270f Add new files needed by previous commit. 2001-10-07 13:24:56 +00:00
benno
994f7977f1 Mega-patch for OpenFirmware loader support.
- Flesh out ofw_readin routine.
- Add OpenFirmware load and exec routines.
- Make sure memory allocation for the kernel is done correctly.
- Change the way the heap is allocated so as to make it easier to deallocate
  when we hand over.
- Add a command to print memory maps similar to the one for ia64.

With this patch, I can now load and hand over to a kernel on my iMac.  There
are some problems with OpenFirmware routines failing after the hand over that
still need to be addressed.
2001-10-07 13:22:25 +00:00
jhb
7d9178b7e1 Whitespace fixes. 2001-10-04 10:18:00 +00:00
yokota
e40169e551 Fix the ANSI color escape sequence \E[m.
- Corretly map the ansi color number to a PC BIOS color.
- Handle multiple arguments to the escape sequence.
2001-10-02 13:11:35 +00:00
yokota
b377b77110 Fix the local macro: isvisible().
- The space char (0x20) IS a visible char :-)
2001-10-02 09:13:07 +00:00
silby
bee3ac5b1e grammar fix: to -> too 2001-10-01 23:41:13 +00:00
yokota
d6dabd898e Fix the function CD(): "Clear to the end of the screen".
- When the video BIOS is called to clear the region (x, y)-(79, 24)
  (by scrolling), the slashed region in Fig.1 is cleared.  CD() is
  supposed to clear the region shown in Fig.2.
        x                 x
    +-------+         +-------+
    |       |         |       |
   y|   ////|        y|   ////|
    |   ////|         |///////|
    |   ////|         |///////|
    +-------+         +-------+
      Fig.1             Fig.2

- Don't move the cursor during this operation.
2001-10-01 11:48:02 +00:00
yokota
a82b496607 This is white-space only change. No functional difference.
- Be consistent about placing spaces around keywords and
  operators; don't mix statements like "if(A==B)" and "if (X == Y)",
  "return(0)" and "return (-1)", "P=10" and "Q = 0", etc.

- Consitently indent lines. It's not good to indent by 8 columns
  in one part of the file, and by 4 columns in the other part.
2001-10-01 11:42:25 +00:00
peter
5147ce6799 Make this 'make obj' safe 2001-09-26 00:13:08 +00:00
dfr
3282be0059 Calculate the valid flag for ITRs and DTRs correctly. Also fix a couple
of minor problems and remove some debugging code.
2001-09-25 19:44:19 +00:00
dfr
13d5944594 Add commands to dump the itrs and dtrs. 2001-09-24 19:39:34 +00:00
dfr
876717e81e Return the mapkey which EFI gave us when we read the memory map - we need
it to call ExitBootServices.
2001-09-24 19:37:44 +00:00
dfr
e19e9a8972 Tidy up a little - don't try to print anything or enable interrupts after
we start changing translation registers. Also, call ExitBootServices
before we jump into the kernel.
2001-09-24 19:36:45 +00:00
dfr
73f1755f49 Pick up pal.s from the kernel sources. 2001-09-24 19:31:44 +00:00
dfr
29ad18d594 Add commands to dump the configuration tables and the SAL System Table. 2001-09-23 10:28:01 +00:00
dfr
c87ffaaf40 Add EFI network support. 2001-09-22 19:12:30 +00:00
dfr
bf77b20f03 * Flesh out elf_exec and bootinfo.
* Add EFI network support.
2001-09-22 19:10:56 +00:00
dfr
c167877c16 Add getsecs() for the libstand network code. 2001-09-22 18:33:09 +00:00
dfr
fb20752c1a Add a twiddle meter when reading from files. Gives me something to look
at when a kernel is loading from a floppy.
2001-09-22 18:31:02 +00:00
dfr
8b6fdd5792 Add definition of SSC_GET_RTC. 2001-09-20 08:22:56 +00:00
dfr
42cbd97a48 Implement time(). 2001-09-19 12:12:12 +00:00
sobomax
5597a20c93 Add support for loading bzip2-compressed kernels and modules. This support
is turned off by default and could be enabled by defining LOADER_BZIP2_SUPPORT
make variable. Also make gzip support optional (turned on by default) -
it could be turned off via LOADER_NO_GZIP_SUPPORT make variable.

Please note, that due to limit on the amount of memory available to the
loader(8), it is possible to load modules/kernels compressed with the smallest
block size supported by the bzip2 - 100k (`-1' bzip2(1) option), however
even in this mode bzip2(1) usually provides better compression ratio than
gzip(1) in its best compression mode.

MFC after:	1 month
2001-09-18 14:52:36 +00:00
nyan
352dfc76e4 MFi386: sys/boot/i386/loader/main.c revision 1.24. 2001-09-16 05:22:51 +00:00
nyan
4e578f4f40 MFi386: sys/boot/i386/libi386/Makefile revision 1.20. 2001-09-16 05:22:27 +00:00
dfr
573409ef19 Add a fake memory descriptor for the I/O port space. 2001-09-15 18:29:42 +00:00
dfr
60a2e27040 Fill in the bootinfo's memory map. 2001-09-15 09:53:56 +00:00
dfr
44cdde0e70 Remove dead code. 2001-09-15 08:25:16 +00:00
dfr
2168ec3a50 Plug in ELF backend. 2001-09-14 08:28:17 +00:00
dfr
fba6b92ecd Add ELF backend to the build. 2001-09-14 08:27:49 +00:00
dfr
83cd82c3c4 Make this do the right thing (mostly). We should still reserve the pages
that the kernel loads into using the EFI AllocatePages call.
2001-09-14 08:26:00 +00:00
dfr
78bcb999c4 Update code which creates bootinfo. 2001-09-13 12:49:02 +00:00
dfr
e457c6698c A command file for SKI which runs the loader up to the first instruction
of the loaded kernel.
2001-09-12 15:08:49 +00:00
ru
62afc35080 Create backup copies using install(1). 2001-09-12 10:25:50 +00:00
dfr
83e00d4274 Build ficl on all architectures. 2001-09-12 08:35:05 +00:00
dfr
49cae21f8a Add a version of the loader which runs under SKI, the HP ia64 simulator.
This loader is quite functional and can load and run kernels. The kernels
don't quite work right after loading but that should be easily fixable.
2001-09-12 08:34:27 +00:00
peter
808991de7c Implement the long-awaited module->file cache database. A userland
tool (kldxref(8)) keeps a cache of what modules and versions are inside
what .ko files.  I have tested this on both Alpha and i386.

Submitted by:	bp
2001-09-11 01:09:24 +00:00
dfr
6ac93bff0d Add missing entry to memory type name table and adjust field widths. 2001-09-08 12:32:12 +00:00
dfr
72380c0707 Add a command 'memmap' to print out the EFI memory map. 2001-09-08 12:21:37 +00:00
dfr
99af25f895 Hook up the native EFI filesystem reader. 2001-09-07 08:52:53 +00:00
dfr
b750cc500a Set currdev and loaddev variables. 2001-09-07 08:52:26 +00:00
dfr
622326c63f Add a libstand filesystem for accessing EFI native filesystems. 2001-09-07 08:51:48 +00:00
dfr
6f1a1519fd Reformat. 2001-09-07 08:49:47 +00:00
dfr
b0318c4f62 Merge linker set relocations with the rest. 2001-09-05 13:36:41 +00:00
dfr
feff1475b3 Enable bootforth. 2001-09-04 14:48:59 +00:00
dfr
838d91e725 Avoid an alignment fault on 64bit architectures.
Reviewed by: dcs
2001-09-04 13:13:12 +00:00
dfr
31b78d3bf3 Make sure we copy over the linker set sections to the EFI executable. 2001-09-04 08:59:38 +00:00
dfr
07738f1f32 Add definition for arch-ia64. 2001-09-04 08:51:15 +00:00
dfr
64c5352bc7 Add ia64 system dependancies. 2001-09-04 08:50:23 +00:00
bde
da7bfcdf0c Don't clobber the default for CFLAGS.
Reviewed by:		dfr
2001-08-31 11:01:20 +00:00
msmith
437849a8f7 Mention that the ACPI module load can be disabled by unsetting $acpi_load 2001-08-30 01:05:28 +00:00
msmith
41b36448bc Teach the loader how to find the system ACPI information, and autoload
the ACPI module if the system apperars to be ACPI compliant.

This is an initial cut; the load should really be done by Forth support
code, and we should check both the BIOS build date and a blacklist.
2001-08-30 00:42:12 +00:00
benno
d24e31398c Pass NULL instead of MAXPHYS to the DMA allocation method. Be a bit more
verbose if we fail to allocate the DMA buffer.
2001-08-26 07:07:47 +00:00
peter
dd00777ae1 OK, now I am scared of pxeldr. It had /boot/loader appended onto
the end of it and decoded the headers.

Submitted by:	jhb
2001-08-22 08:02:01 +00:00
peter
89919bf2cb Generate an ELF /boot/loader instead of fake a.out. The fake a.out wrapper
did not work with old a.out-only bootblocks anyway. :-(
2001-08-22 05:29:25 +00:00
ru
2aca5dc8f6 mdoc(7) police: markup nits. 2001-08-20 08:55:07 +00:00
dillon
05c33a209b Limit the amount of KVM reserved for the buffer cache and for swap-meta
information.  The default limits only effect machines with > 1GB of ram
and can be overriden with two new kernel conf variables VM_SWZONE_SIZE_MAX
and VM_BCACHE_SIZE_MAX, or with loader variables kern.maxswzone and
kern.maxbcache.  This has the effect of leaving more KVM available for
sizing NMBCLUSTERS and 'maxusers' and should avoid tripups where a sysad
adds memory to a machine and then sees the kernel panic on boot due to
running out of KVM.

Also change the default swap-meta auto-sizing calculation to allocate half
of what it was previously allocating.  The prior defaults were way too high.
Note that we cannot afford to run out of swap-meta structures so we still
stay somewhat conservative here.
2001-08-20 00:41:12 +00:00
ru
e8e5635e4a Spell "FreeBSD" with "F" and "BSD" in uppercase. 2001-08-13 16:33:00 +00:00
obrien
44bfd6c08a Style cleanup. 2001-08-10 22:31:05 +00:00
ru
f858dca3dc mdoc(7) police: join split punctuation to macro calls. 2001-08-10 17:35:21 +00:00
mp
c3c304385c Allow for text section alignment to properly align the "end" symbol at the
actual end of the section. The new gas (binutils) puts in additional padding
which was misaligning the concatenated btx loader.

Reported by:	Oliver Hartmann <ohartman@klima.physik.uni-mainz.de>,
		Harti Brandt <brandt@fokus.gmd.de>
Tested by:	Oliver Hartmann <ohartman@klima.physik.uni-mainz.de>,
		David Wolfskill <dhw@whistle.com>, ps
Reviewed by:	jhb
MFC after:	1 day
2001-08-09 20:47:58 +00:00
jhb
f31a34e5d1 Trim trailing whitespace. 2001-08-09 18:07:45 +00:00
jhb
198dfe1ce3 Add in a hack to support IBM "El Torito" CD-ROM booting BIOS's which expect
the first sector of the emulated floppy to contain a valid MS-DOS BPB that
it can modify.  Since boot1 is the first sector of boot.flp, this resulted
in the BIOS overwriting part of boot1: specifically the function used to
read in sectors from the disk.

Submitted by:	Mark Peek <mark@whistle.com>
Submitted by:	Doug Ambrisko <ambrisko@ambrisko.com>
PR:		i386/26382
Obtained from:	NetBSD, OpenBSD (the example BPB)
MFC after:	1 month
2001-07-31 19:50:09 +00:00
kris
6fde30d182 s/adress/address/
Inspired by:    OpenBSD
MFC After:      1 week
2001-07-23 12:05:27 +00:00
rnordier
ba4e5273cd Unset MAINTAINER. 2001-07-21 14:32:47 +00:00
dd
50bf70a85d Remove whitespace at EOL. 2001-07-15 08:21:37 +00:00
dfr
dd0572c88a Make this build again after breakage from previous commits. 2001-07-10 16:18:20 +00:00
dd
eaa6ee03b8 mdoc(7) police: remove extraneous .Pp before and/or after .Sh. 2001-07-09 09:54:33 +00:00
dwmalone
238662ef2f Get rid of some constness warnings. 2001-06-24 12:08:47 +00:00
kato
cd99feb371 Merged from sys/boot/i386/btx/btx/btx.s revision 1.25. 2001-06-23 08:04:14 +00:00
peter
2bbbdbe189 Remove -DNEW_LINKERSET, it is not used here anymore. This is now native. 2001-06-21 00:08:23 +00:00
peter
56e683fe90 Convert the elf loader to the new linker set layout for elf files.
This should make dependencies at load time work like before.  Oops.

Noticed by:	markm
2001-06-19 07:41:07 +00:00
peter
843008ffd2 Fix some of the worst formatting bug (seperate commit) 2001-06-19 06:48:58 +00:00
peter
9d1e0e3926 Work around what looks like a bad make(1) bug. For some reason,
make(1) wants to build loader.sym *before* the .o files.  Eliminating
one seeminly intermediate step avoids the problem.  Somehow, it seems
that variables are not getting expanded at the right time.
Any explanations would be appreciated...

Changing:
${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBFICL} ${LIBALPHA} ${CRT} vers.o
	${LD} ...
To:
BASEOBJS= ${OBJS} ${LIBSTAND} ${LIBFICL} ${LIBALPHA} ${CRT} vers.o

${BASE}.sym: ${BASEOBJS}
	echo ${BASEOBJS}
	${LD} ...
.. the echo only shows LIBFICL, CRT and vers.o. ${OBJS} is not included.
2001-06-16 06:28:07 +00:00
obrien
b08196841e style(9) and remove a left over Alpha comment 2001-06-16 06:17:35 +00:00
obrien
5768de4849 style cleanup 2001-06-16 06:17:16 +00:00
obrien
0886fc2585 style police 2001-06-16 05:59:45 +00:00
obrien
5e7a5673ac This Intel derived file uses C++ style comments.
(I'll be we know which compiler and platform they developed this on...)
Minimally change them to C89 comments to make GCC happy.  (this is kinda funny
as the file has piece derived from FreeBDS 3.2)

Also fix FreeBSD id style.
2001-06-16 05:58:54 +00:00
obrien
7c30b7b214 Fix FreeBSD id style. 2001-06-16 05:56:13 +00:00
obrien
b68cbfacca style(9) 2001-06-16 05:55:32 +00:00
obrien
31d03a0c2b style(9) + fix FreeBSD id's. 2001-06-16 02:12:36 +00:00
peter
59c35987fe Nuke old gensetdefs based linker sets with extreme prejudice 2001-06-14 01:23:57 +00:00
dfr
7920a5b451 Move the first section up one page. The firmware bogusly uses the first
page of the image to load section headers and if we let the text section
start at zero, it corrupts the section table when its loaded. With this
change, the loader gets as far as the 'ok' prompt.
2001-06-10 13:39:10 +00:00
dfr
6d5e0c4ed3 Remove a 'return' statement which I put in while I was trying to debug
the startup code.
2001-06-10 13:36:00 +00:00
jesper
c6985abc65 Fix a minor style bug in the last commit.
Submitted by:	Adrian Steinmann <ast@marabu.ch>
MFC after:	2 days
2001-06-10 11:15:37 +00:00
dfr
5398454add First approximation of an ia64 EFI loader. Not functional. 2001-06-09 16:49:51 +00:00
ru
e7a85be33f Remove vestiges of MFS. 2001-06-01 10:07:28 +00:00
dcs
50cbca77e3 Go back to 1.20 again. 2001-05-29 23:49:10 +00:00
dcs
fa71f8751f Turn dictthreshold and dictincrease into cell-sized variables, so
they can be used with cell operators like !.

As I did this, I noticed the whole CELL thing might have problems with
big endian architectures with sizeof(int)!=sizeof(void*).
2001-05-29 23:44:12 +00:00
obrien
22e09e1bf0 Revert the ugly band-aide[tm] hack of rev 1.12.
The offending loader.4th commit (rev 1.20) has been backed out.
2001-05-29 01:48:06 +00:00
dcs
b61be3ee13 Revert 1.20, as it causes mysterious problems to the Alpha people. 2001-05-29 00:34:32 +00:00
obrien
01707e0035 One needs to introduce things with a `.file' directive before trying to
do a .loc on it.  BTW, the .loc needs to be in a .text section.
gas 2.11.0 catches these oversights where previous versions did not.
2001-05-28 09:52:21 +00:00
obrien
6b180e3812 grep -v offending lines from loader.4th until the master version of it
is fixed.
2001-05-28 05:18:13 +00:00
obrien
a8cd688fab Add the generated help files to CLEANDIRS.
Found by:	rm -rf /usr/obj/usr/src/sys/boot ; make ; make clean ; cvs -q up
2001-05-28 05:12:13 +00:00
jesper
f3057f7160 In sys/boot/common/module.c, near line 105 a request for a raw
file is processed by passing its name in argv[1]:
        return(mod_loadobj(typestr, argv[1]));
however, it is not tested to see if argv[1] actually is defined.

At best, mod_loadobj() near line 244 returns an error like
"can't find 'garbage'" but if the "filename" entered is sufficiently
long, some buffer gets overrun. Of course, "load -t filename" is
actually a typo because we meant to type "load -t mfs_root filename";
nevertheless, a hung machine seems like too harsh a punishment for
such a small typo...

PR:			i386/27693
Submitted by:	Adrian Steinmann <ast@marabu.ch>
MFC after:	1 week
2001-05-27 23:26:11 +00:00
rnordier
83f67b8f31 Fix reboot buglet when BOOT_BTX_NOHANG is defined.
Submitted by: Umesh Krishnaswamy <umesh@juniper.net>
2001-05-27 20:15:10 +00:00
dcs
c4a3cb3687 As in with ":", check dictionary space and increase it if necessary before
"create".
2001-05-27 16:30:10 +00:00
ru
8094d979ca - sys/msdosfs moved to sys/fs/msdosfs
- msdos.ko renamed to msdosfs.ko
- /usr/include/msdosfs moved to /usr/include/fs/msdosfs
2001-05-25 08:14:14 +00:00
nyan
e55c47c3e7 (Re-)enabled boot2. 2001-05-24 11:19:43 +00:00
nyan
38300a1c46 Update boot[12] program to compile ELF binary.
Submitted by:	Nobuyuki Koganemaru <n-kogane@syd.odn.ne.jp> and
		kawanobe@st.rim.or.jp (Kawanobe Koh)
2001-05-24 11:18:32 +00:00
ru
08c28f0caa The following modules were renamed:
fdesc -> fdescfs
portal -> portalfs
umap -> umapfs
union -> unionfs
2001-05-23 10:06:48 +00:00
dd
97e810885f Fix a grammar nit.
PR:		27520
Submitted by:	Michael Lucas <mwlucas@blackhelicopters.org>
2001-05-22 00:29:42 +00:00
nyan
9fa80b3cce Merged from sys/boot/i386/btx/btx/btx.s revision 1.24. 2001-05-21 11:49:21 +00:00
dcs
9a2404aa1f Allocate more memory if necessary. 2001-05-17 04:34:02 +00:00
dcs
84806dd3dd FICL 2.05 has a flawed definition of BASE. Fix it.
Spotted by: Peter Jeremy <peter.jeremy@alcatel.com.au>
2001-05-10 05:13:09 +00:00
obrien
538e761e02 * include/elf.h has been repo copied to include/elf-hints.h, and it no
longer includes machine/elf.h.
* consumers of elf.h now use the minimalist elf header possible.

This change is motivated by Binutils 2.11.0 and too much clashing over
our base elf headers and the Binutils elf headers.
2001-05-02 23:56:21 +00:00
dcs
1e7d7fa081 Bring in ficl 2.05.
This version has a step debugger, which now completely replaces the
old trace feature. Also, we moved all of the FreeBSD-specific MI
code to loader.c, reducing the diff between this and the official
FICL distribution.
2001-04-29 02:36:36 +00:00
ru
889eeac6e7 mdoc(7) police: fixed whatis(1) entry. 2001-04-18 12:56:15 +00:00
gallatin
0b22a5d861 no longer needed now that we are able to build cdboot from sources again 2001-04-08 00:01:54 +00:00
gallatin
4defd5fc78 build cdboot from sources now that the cd9660 fs support works
MFC candidate
2001-04-07 23:52:31 +00:00
dfr
00380e60a1 Don't call prom_open() multiple times. This confuses some versions of SRM
and makes it impossible to boot from floppy and CD on some AlphaServer
platforms.

Detective work by: Michael Richards <michael@fastmail.ca>
2001-04-05 10:28:52 +00:00
ru
aa4ec850c7 MAN[1-9] -> MAN. 2001-03-27 11:59:22 +00:00
obrien
c7987ad371 Turn off building the ARC loader. I don't know of anyone currently working
on advancing this WIP.
2001-03-25 23:07:44 +00:00
jhb
5d5fc406d7 Always disable paging when exiting back to real mode after receiving a
fatal trap.  Also, reload the GDT register to point to BTX's GDT before
playing around with the segment registers to return to real mode.  This is
helpful if the kernel causes a fatal exception before it has setup its own
IDT and fault handlers.  For example, if one happens to break mtx_init().
Without these changes BTX would recursively page fault (if paging was not
disabled) or triple fault and reset the CPU (without the GDT reload)
instead of providing a potentially useful register dump.

Reviewed by:	rnordier
2001-03-21 20:08:07 +00:00
ps
cbac3232d7 Don't set the gateway address if the netmask is zero or we're on
the same network.  PXE does not do netmask calculations, so if the
gateway is set it will use it.

Submitted by:	peter & FreeBSD cluster ACLs
2001-03-14 23:53:25 +00:00
jhb
749fdab956 Use better descriptions (ones invovling words from the English language
anyways) for the accept filter modules.
2001-03-14 21:33:36 +00:00
dcs
af9206eb0a Improve comments about the sound drivers.
Correct accf lines.
2001-03-14 17:46:32 +00:00
jhb
914514e800 - Sync up with stable by adding in the Netgraph and Sound module sections,
the agp module, and the accept filter modules.
- Remove an extraneous blank line.
2001-03-13 16:16:35 +00:00
dcs
576f1851f1 Goodbye vn, welcome md. 2001-03-07 09:42:41 +00:00
obrien
114e64b3c4 Fix whitespace. 2001-03-04 04:38:14 +00:00
ru
3e8d7346e8 setlocale(3) has been fixed to match POSIX standard:
LC_ALL takes precedence over other LC_* envariables.
2001-03-02 16:52:14 +00:00
ru
f4325cbb8b Eliminate mdocNG warnings caused by misplaced or extraneous macro calls. 2001-02-28 17:38:53 +00:00
dcs
290c615f2c Whenever the user might be offered a chance to quit through
pager_output(), respect that choice.

PR: 15747
2001-02-22 11:22:14 +00:00
asmodai
0f00927ea0 Preceed/preceeding are not english words. Use precede or preceding. 2001-02-18 10:25:42 +00:00
asmodai
2f1d3e2cdf Fix typo: seperate -> separate.
Seperate does not exist in the english language.
2001-02-06 11:21:58 +00:00
des
0b32553f89 Add atspeaker_load. 2001-02-01 16:41:58 +00:00
ru
8a6f8b5fe4 mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
ru
ffef081534 Prepare for mdoc(7)NG. 2001-01-16 09:39:23 +00:00
jhb
8132a144d5 Add commented out examples for the new KTR loader tunables. 2001-01-06 06:52:49 +00:00
phk
f13a78af64 Use <sys/queue.h> macro API.
Submitted by:	"Jason" <jsmethers@pdq.net>
Reviewed by:	/sbin/md5
2000-12-30 20:40:16 +00:00
des
cff7c7e718 Retire kernfs (kernel part). 2000-12-28 12:17:35 +00:00
ru
b09cfc8f20 Prepare for mdoc(7)NG. 2000-12-27 16:37:32 +00:00
kato
c02a1810a6 Disabled boot2 for the moment, because it needs aout tools. 2000-12-24 14:54:34 +00:00
rnordier
1d93511772 Fix column alignment (whitespace-only change). 2000-12-19 00:17:36 +00:00
kato
b1e4886a37 Merged from sys/boot/i386/loader/Makefile revision 1.49. 2000-12-16 03:15:48 +00:00
ru
c86298b9bc mdoc(7) police: removed duplicate .Os call. 2000-12-14 12:48:07 +00:00
rnordier
385258aeec Strip the .comment and .note sections when stripping. There's no
point in retaining this info, particularly under BTX.
2000-12-13 17:10:38 +00:00
rnordier
66009fc30e Add a magic number, for easier identification of boot0. At present,
this is used only by libdisk.
2000-12-12 17:27:35 +00:00
marcel
9286fe07da Add "empty" makefile. Cross-building fails without it. 2000-12-08 04:08:09 +00:00
ache
4b5687e270 Cosmetique: don't use localized date 2000-12-01 01:58:48 +00:00
jhb
c68b62f2dc Set the proper bit in the howto flags for a serial console rather than
setting the index of the bit.  (0xc vs. 0x1000)
2000-11-30 18:33:59 +00:00
ps
3d64810c12 Add support for probing the keyboard from pxeboot which will behave
exactly the same as passing -P to boot2.

Submitted by:	jhb
2000-11-30 14:55:10 +00:00
obrien
4a3cb8d124 `cdboot' is broken as it cannot load a kernel.
The release engineer keeps using the wrong /boot/cdboot when creating the
ISO images.  So we'll add the 4.0-RELEASE cdboot to the tree until someone
bothers to fix the source so a working `cdboot' is built.
2000-11-27 02:15:13 +00:00
ru
835a46c9c2 mdoc(7) police: do not split author names in the AUTHORS section. 2000-11-22 09:35:58 +00:00
ru
0127deea8c mdoc(7) police: use the new features of the Nm macro. 2000-11-20 17:05:46 +00:00
ru
eb8c554f56 mdoc(7) police: use certified section headers wherever possible. 2000-11-17 11:44:16 +00:00
msmith
db197d8ac3 The default kernel filename is "kernel" again, not "kernel.ko".
Submitted by:	mckusick
2000-11-17 04:43:56 +00:00
ben
5793387cd6 remove period from SEE ALSO. 2000-11-15 17:02:54 +00:00
obrien
378089bdff Don't use the Gawkism strftime(). Pass in the date stamp on the awk
command line instead.

Approved by:	dcs
2000-11-14 21:02:49 +00:00
ru
7d99729431 Use Fx macro wherever possible. 2000-11-14 11:20:58 +00:00
mjacob
a927d4ab8d init booted_kernel from environment kernelname (if there) 2000-11-14 08:11:03 +00:00
mjacob
642e5ef3df move init of booted_kernel to bootinfo.c 2000-11-14 08:10:15 +00:00
benno
7d73a33303 OpenFirmware/PowerPC loader, part 2.
As of this patchset, the loader builds (under NetBSD/macppc), boots, interacts
and talks to BOOTP/NFS servers.

(main.c was moved from boot/ofw/libofw to boot/ofw/common but has no revision
 history)

Reviewed by:	obrien
2000-11-10 06:39:58 +00:00
benno
0268629b4f Give the network device a print method.
Reviewed by:	obrien
2000-11-10 06:37:43 +00:00
benno
c6aac5b5ce OpenFirmware/PowerPC loader, part 2.
This brings the loader up to the point where I can compile it under
NetBSD/macppc and have it boot, interact and talk to NFS servers.

sys/boot/ofw/libofw/main.c has been deleted (it has no revision history) and
replaced with sys/boot/ofw/common/main.c

Reviewed by:	obrien
2000-11-10 06:29:42 +00:00
ps
26690141b4 Honor the ip address given in the root-path dhcp option.
PR:	21743
Submitted by:	Brian Candler <B.Candler@pobox.com>
2000-11-05 14:55:09 +00:00
nyan
48503b7c5c Merged from the following changes.
sys/boot/i386/btx/btx/Makefile		1.9
sys/boot/i386/btx/btx/btx.s		1.23
sys/boot/i386/libi386/biosdisk.c	1.32 and 1.33
sys/boot/i386/libi386/biosmem.c		1.5
sys/boot/i386/libi386/comconsole.c	1.8
sys/boot/i386/libi386/gatea20.c		1.3
sys/boot/i386/libi386/time.c		1.4
sys/boot/i386/libi386/vidconsole.c	1.13
sys/boot/i386/loader/Makefile		1.48
sys/boot/i386/loader/main.c		1.22
2000-11-05 12:35:41 +00:00
rnordier
d72251aa84 Support a.out: avoid (%dx) in in/out instructions, and use an m4
macro to supply underscores for externals.
2000-11-04 13:03:52 +00:00
ps
2cfec00a84 MF4: Add LOADER_TFTP_SUPPORT make.conf flag. 2000-11-04 08:43:13 +00:00
jhb
da2d7c0fb1 The Number of Fixed Disks at memory location 0x475 is only 1 byte, not a
2 byte word.  This fixes machines that probe 30-odd hard drives during boot
in the loader.

Submitted by:	Helpful folks at Tyan via ps
2000-11-02 23:28:12 +00:00
mph
0b328cd8c5 "it's" --> "its" (possessive).
Correct a malformed sentence.
2000-11-01 00:36:12 +00:00
n_hibma
f4add8691c Add entry for umodem 2000-10-30 10:55:03 +00:00
dfr
82332e4bd5 Backout revision 1.7 which was a bad idea since it would force people
to reinstall boot1 after a 'make world'.

Unfortunately this means that people who have already installed a new
boot1 from a 'make world' after 2000/09/18 *must* reinstall it after
their next build using something like:

        # disklabel -B /dev/da0c
2000-10-27 09:36:34 +00:00
obrien
f428d43492 Install the loader manpages. 2000-10-26 21:47:59 +00:00
dfr
c10c0d316a Move the call to extend_heap() from main to start so that if our BSS
expands beyond the limit we will extend the address space before trying
to zero the BSS. This should give us plenty of headroom for modest
expansion of the loader.
2000-10-25 23:36:01 +00:00
dfr
0b955e26d9 Don't build start.S as part of libalpha.a - its built specially. 2000-10-25 23:30:04 +00:00
dfr
28bd3a48b3 Don't indirect through a null pointer if we run out of kernel filenames. 2000-10-25 23:28:19 +00:00
dfr
0f792ce6e2 Make a few functions inline to save space. 2000-10-25 23:24:43 +00:00
n_hibma
71ac041c16 The USB scanner driver. To be used together with SANE. 2000-10-25 10:34:38 +00:00
obrien
17dc0cb9cb Convert from the Alpha compontents to PowerPC ones. 2000-10-16 19:58:32 +00:00
obrien
d84d862cbd "Ok, my loader's now up to putting up a prompt. It probes disks partially
but can't boot from them yet."

Thanks to Stephane Potvin for the some of the code in this set.

Submitted by:	Benno Rice <benno@jeamland.net>
2000-10-16 10:46:22 +00:00
nyan
3a05390ac2 Merged from sys/boot/i386/loader/main.c revision 1.21. 2000-10-15 02:56:48 +00:00
dcs
9dfb8b6e13 Now I see the error of my ways.
Previous revision of this file changed the "boot" commands to take
no arguments from the stack. This is only valid in the case where
a kernel has not been loaded. In that case, load_kernel_and_modules
will be called, which takes a list of arguments from the stack.

When a kernel is presently loaded, though, the list of arguments must
be passed to the boot command, which was the behaviour before the last
revision.

Fix things for both cases.

Noticed by: S-Max and others on that chat room
2000-10-09 11:29:40 +00:00
rnordier
7e9332da79 Go back to occupying just a single sector, reverting r1.17 - r1.20.
Taking over the sector following the MBR causes problems on some
machines, and the actual gains are fairly small in terms of how
the space is presently used.

Since we need a number of further features (eg. handling extended
partitions) that can't be readily accommodated in the basic boot0
design anyway, rather choose to implement the additional stuff
separately and concentrate on compatibility rather than features
here.
2000-10-02 17:30:22 +00:00
rnordier
56de11b718 Set MAINTAINER. 2000-10-02 17:23:16 +00:00
dcs
ee7b6df7c6 Get rid of garbage left on the stack. 2000-09-25 11:36:55 +00:00
dcs
dddc67f913 What could possibly have possessed me to forget the "0 (arguments)"
in two of the three boot words in the "boot" redefinition, I have no
clue. Fix it.

Noticed by: bp
Noticed by: adrian
2000-09-25 11:18:02 +00:00
kato
f5ba1f6568 Merged from sys/boot/i386/loader/main.c revision 1.23. 2000-09-22 12:51:22 +00:00
kato
acbb8f63f1 Merged from sys/boot/i386/libi386/Makefile revision 1.19. 2000-09-22 12:49:15 +00:00
archie
006298df30 Add support for the "nullconsole" console type, for systems with
neither a video console nor a serial port. Use it if the RB_MUTE
flag is set.

Submitted by:	Doug Ambrisko <ambrisko@whistle.com>
Reviewed by:	jhb
2000-09-20 18:13:36 +00:00
dcs
baa0602ed5 Check for the correct minimum version required by the current code.
I hope I got this right... :-)
2000-09-18 22:42:54 +00:00
mjacob
06d8422b32 Steal 512KB more from system memory for heap instead of 256KB. We died
without the extra space. What a pity.
2000-09-18 08:19:04 +00:00
mjacob
5e733c1a17 Run SECONDARY_LOAD_ADDRESS down to 0x2000a000- this still leaves
(barely) enough room for boot1 and gives us 8KB more to play with
in the loader.
2000-09-18 08:17:57 +00:00
mjacob
73a36ed9f1 Make the stack 12K- we seem to need a bit more.
Rename 'stack' to 'stackbase' as this variable
more correctly denotes what it is.
2000-09-18 08:16:38 +00:00
dcs
3383919e3f Use _ instead or - where proper, according to the style I have been
using.

Overload "?" so it will also show loader.4th commands.
2000-09-16 21:04:49 +00:00
dcs
d7b65e0dab Solve a name clash.
Add something to help debugging.
2000-09-16 20:20:44 +00:00
dcs
7d33636597 The default search path for kernel and modules was bogus. It makes no
sense for /boot/kernel to come last.
2000-09-16 19:59:41 +00:00
dcs
0d4df47e61 The module_path set by default was bogus. It had /boot/kernel last,
which makes little sense.
2000-09-16 19:56:23 +00:00
dcs
38f4e30e69 Both boot and boot-conf were using a different algorithm from the one
used by start to find the kernel. Fix this.

Also, boot would proceed immediately in the absence of a path as
argument. Check first if a kernel has already been loaded, and, if
not, fall back to load kernel&modules behavior.

Some further factorizing. I deem this code to be mostly readable by
now! :-)

Many thanks to: Makoto MATSUSHITA <matusita@jp.FreeBSD.org>
2000-09-16 19:49:52 +00:00
dcs
c1fd1180ab Factorize, reorganize, and move code around.
The boot-conf and boot code had various bugs, and some of it was big,
ugly, unwieldy, and, sometimes, plain incorrect. I'm just about
completely replaced these ugly parts with something much more manageable.

Minor changes were made to the well-factorized parts of it, to accomodate
the new code.

Of note:

	* make sure boot-conf has the exact same behavior wrt boot order
as start.

	* Correct both boot and boot-conf so they'll work correctly when
compiled in, as they both had some bugs, minor and major.

	* Remove all the crud from loader.4th back into support.4th, for
the first time since boot-conf was first improved. Hurray!

I'm fairly satisfied with the code at this time. Time to see about those
man pages...
2000-09-15 08:05:52 +00:00
dcs
12daa03d59 Start countdown only _after_ the kernel was loaded. Not very fair otherwise. 2000-09-15 07:54:10 +00:00
dcs
6ceabd7082 New world order wrt to kernel location and name. This doesn't actually
changes anything (in theory), just better document it. I'm waiting for
the final word before I tackle the man pages.
2000-09-12 20:21:11 +00:00
roger
7893328799 Back out bktr_mem_load. It is not needed because I'm use MODULE_DEPEND
elsewhere.
Reminded by: Mike Smith
2000-09-12 08:41:55 +00:00
roger
95fdf432c0 Add bktr_mem_loader, default to NO.
In the near future the bktr module will need the bktr_mem module too.
2000-09-11 10:46:03 +00:00
dfr
2bbf810544 Fix this so that we actually define HAVE_PNP when its available. 2000-09-10 17:11:27 +00:00
markm
e7b7374b5d The entropy driver module has changed name. 2000-09-10 13:58:58 +00:00
dcs
87a1e517ad Bump up version as a result of the recent changes to kernel path,
and boot-conf&boot semantic changes.

Also, make it 1.0.

Reminded by: peter (even though he doesn't know it)
2000-09-10 13:51:44 +00:00
dcs
9f38720691 Bump up version as a result of the recent changes to kernel path,
and boot-conf&boot semantic changes.

Reminded by: peter (even though he doesn't know it)
2000-09-10 13:51:31 +00:00
dcs
fe786558be Change NOFORTH comment character from # to \ followed by space,
to make things more interchangeable between it and the FORTH case.

Perhaps requiring the space is a bit too much, but...

Nothing in the tree seems to produce loader.rc files with comment
line, at this time.
2000-09-10 13:48:51 +00:00
dfr
f7c899ec29 Only build PnP parts if the platform supports PnP. 2000-09-10 12:15:30 +00:00
dcs
f3050d463a Upon reflection, I decided that bootfile must have priority over kernel
as the kernel name. The one very unfortunate consequence is that kernel
as an absolute path loses the priority. It will only be tried after
/boot/${kernel}/${bootfile}. I'll see what can be done about it later.
2000-09-09 18:20:00 +00:00
rnordier
7c1f999d2f Correct BSD/OS slice type.
PR:           21099
Submitted by: Alan Clegg <abc@bsdi.com>
2000-09-09 18:05:22 +00:00
dcs
3fa988b395 First tackle at trying to handle the New Deal on kernels.
Load the first of the following kernels to be found:

${kernel} if ${kernel} is an absolute path
/boot/${kernel}/${kernel}
/boot/${kernel}/${bootfile}
${kernel}/${kernel}
${kernel}/${bootfile}
${kernel}
${bootfile}

The last instance of ${kernel} and ${bootfile} will be treated as a
list of semicolon separated file names, and each will be tried in turn,
from left to right.

Also, for each filename loader(8) will try filename, filename.ko,
filename.gz, filename.ko.gz, in that order, but that's not related
to this code.

This resulted in a major reorganization of the code, and much of what
was accumulating on loader.4th was rightly transfered to support.4th.

The semantics of boot-conf and boot also changed. Both will try to load
a kernel the same as above.

After a kernel was loaded, the variable module_path may get changed. Such
change will happen if the kernel was found with a directory prefix. In
that case, the module path will be set to ${directory};${module_path}.

Next, the modules are loaded as usual.

This is intended so kernel="xyzzy" in /boot/loader.conf will load
/boot/xyzzy/kernel.ko, load system modules from /boot/xyzzy/, and
load third party modules from /boot/modules or /modules. If that doesn't
work, it's a bug.

Also, fix a breakage of "boot" which was recently introduced. Boot without
any arguments would fail. No longer. Also, boot will only unload/reload
if the first argument is a path. If no argument exists or the first
argument is a flag, boot will use whatever is already loaded. I hope this
is POLA. That behavior is markedly different from that of boot-conf, which
will always unload/reload.

The semantics introduced here are experimental. Even if the code works,
we might decide this is not the prefered behavior. If you feel so, send
your feedback. (Yeah, this belongs in a HEADS UP or something, but I've
been working for the past 16 hours on this stuff, so gimme a break.)
2000-09-09 04:52:34 +00:00
dcs
2484437edf Update boot and boot-conf descriptions to reflect new and old changes.
Add a warning in loader(8) that boot might be changed by loader.4th.
2000-09-08 21:39:31 +00:00
dcs
c13b39a728 Enhance boot-conf.
Now boot-conf can also receive parameters to be passed to the kernel
being booted. The syntax is the same as in the boot command, so one
boots /kernel.OLD in single-user mode by typing:

boot-conf /kernel.OLD -s   instead of
boot-conf -s /kernel.OLD

The syntax still supports use of directory instead of file name, so

boot-conf kernel.OLD -s

may be used to boot /boot/kernel.OLD/kernel.ko in single-user mode.

Notice that if one passes a flag to boot-conf, it will override the
flags set in .conf files, but only for that invocation. If the user
aborts the countdown and tries again without passing any flags, the
flags set in .conf files will be used.

Some factorization was done in the process of enhancing boot-conf,
as it has been growing steadly as features are getting added, becoming
too big for a Forth word. It still could do with more factorization,
as a matter of fact.

Override the builtin "boot" with something based on boot-conf. It will
behave exactly like boot-conf, but booting directly instead of going
through autoboot.

Since we are now pairing kernel and module set in the same directory,
this change to boot makes sense.
2000-09-08 21:11:57 +00:00
dcs
1d3c0a8d23 Strictly speaking, this works. It enumarates the PnP devices, and
load the modules needed according to a file relating module names
(actually, _file_ names, not really modules -- the dependency
stuff is not exported to loader's UI) to PnP IDs.

But it still lacks a number of desired features, and it's too crude
for my tastes. But since I don't have time to work on it, it might
be preferable to make it available to those who might. It's not
installed by default, much less loaded. In fact, it wouldn't even
had a copyright message (who? me? assume responsibility for _this_?),
if the cvs commit hadn't aborted for lack of $FreeBSD$, and I decided
to just cut&paste the stuff from elsewhere.
2000-09-08 17:13:24 +00:00
dcs
e8604ccc3e Add the infrastructure necessary to handle PnP from a Forth script.
Also, export the file_findfile() function. Again, this is taken from
work in progress but frozen for the time being. Since it works, I'd
rather commit and remove any uglyness later than hide it on my tree.
2000-09-08 17:03:53 +00:00
dcs
96bba78abe Fix an error message which was using the wrong variable to get the
kernel name from.
2000-09-08 16:58:31 +00:00
dcs
2a24bbc388 Add constructors to crude structure support. Rework some of the
code into a more modular interface, with hidden vocabularies and
such. Remove the need to a lot of ugly initialization.

Also, add a few structure definitions, from stuff used on the C
part of loader. Some of this will disappear, and the crude structure
support will most likely be replaced by full-blown OOP support
already present on FICL, but not installed by default. But it was
getting increasingly inconvenient to keep this separate on my tree,
and I already lost lots of work once because of the hurdles, so
commit this.

Anyway, it makes support.4th more structured, and I'm not proceeding
with the work on it any time soon, unfortunately.
2000-09-08 16:57:28 +00:00
dcs
2f010215ab Make the pnp structure a global variable, so it can be used elsewhere. 2000-09-08 16:51:29 +00:00
dcs
475f83c70c Fix autoboot. Now autoboot *always* show the correct kernel name. It
gets the name from the environment variable kernelname, which is set
when a kernel is loaded. For this reason, autoboot will _first_ try
to load a kernel, and only proceed with the wait prompt after that
succeeds. If it fails, it will abort immediately.

While I understand some may think this behavior undesirable, I think
it is, overall, the best thing to do, even if we do not consider the
aesthetic issue. Notice that anyone using the default loader.rc
already has the kernel loaded before autoboot.

On unload, unset kernelname.

Separate the code that tries to load a kernel from the list of options
to the function loadakernel(). It is used by both boot() and
autoboot().
2000-09-08 16:47:05 +00:00
kato
cefd56cea5 Merged from sys/boot/i386/loader/Makefile revision 1.47. 2000-09-08 11:18:40 +00:00
imp
9795d67faf Look for libstand in the built tree rather than in /usr/lib. This
likely could be done better, but the tree is broken and I wanted to
get a fix into the tree.

Reviewed by: msmith
2000-09-08 04:26:55 +00:00
obrien
d2dcb8b1f5 With the committed changes to the loaders modules path code, the kernel
path does not need to be hard coded.
2000-09-06 20:50:24 +00:00
obrien
b6cfb177d1 Fix the kernel default load from "/boot/modules" to "/boot/kernel".
Reported by:	dcs
2000-09-05 23:10:46 +00:00
obrien
6de7dfbb5a The kernel is now known as `kernel.ko' and it and its matching modules
live in ``/boot/kernel/''.
2000-09-05 22:37:46 +00:00
msmith
1a7d7857ee Fix a bug which prevents parsing this Makefile without having a
previously-built loader binary elsewhere.
2000-09-05 22:33:07 +00:00
msmith
9bf5401188 Export the salient configuration items in a non-pxe-specific namespace
to allow commonality between varying platforms.  This is a step
towards parsing the diskless configuration information with MI code
inside the kernel.

Export the interface hardware address to the kernel, so that it is possible
to determine the boot interface with certainty.

Export the NFS filehandle for the root mount to the kernel, so that the
kernel does not need to perform a mount RPC call.
2000-09-05 22:32:31 +00:00
obrien
4f35b0f8eb This is real released software, let people think that. 2000-09-03 02:46:17 +00:00
kato
c7d77e4693 The INT 1B BIOS call is used to obtain geometries of SASI/IDE hard
drives.  Some IDE cards don't set propler information into BIOS work
are and their sector size were always recognized as 256 bytes/sector.

Pointed out by:	jagarl@creator.club.ne.jp
2000-08-31 10:24:06 +00:00
jhb
841b54e275 Add a new compile-time tweak to BTX. If you set the make(1) variable
BOOT_BTX_NOHANG, then BTX will be compiled with the appropriate flags so
that it reboots after a fault instead of hanging forever.

Requested by:	ps
Approved by:	rnordier
2000-08-24 20:57:44 +00:00
sheldonh
e723427bd3 List loader.conf and friends in the FILES section.
Requested by:	obrien
2000-08-24 08:00:29 +00:00
kato
44996f9118 Fixed determination method for sector size of the 2nd IDE HDD. 2000-08-15 08:17:03 +00:00
kato
249914291a Merged from sys/boot/i386/Makefile.inc revision 1.2. 2000-08-12 07:37:19 +00:00
peter
da5b232bcb Add -mpreferred-stack-boundary=2 to CFLAGS for i386. This and libstand
reduces /boot/loader from 163840 bytes to 155648 and pxeboot from 165888
bytes to 157696 bytes.
2000-08-11 23:23:20 +00:00
dcs
6301ff4c50 Add missing "is".
PR:		20524
Submitted by:	Peter Pentchev <roam@orbitel.bg>
2000-08-11 10:32:23 +00:00
ps
1dd134848f Add support to send the string 'PXEClient' as the Vendor class
identifier to the DHCP server.  Now you can check for this string
in your dhcp configuration to decide whether you will hand out a
lease to the client or not.
2000-08-11 08:36:17 +00:00
ps
66b0647d69 Pass along the interesting variables we were given from DHCP so we
can utilize them in the kernel and with kenv.
2000-08-11 05:31:59 +00:00
rnordier
a67d1a6b3b Typo/spelling fixes. 2000-08-08 07:20:25 +00:00
kato
0353c0fbd4 - Fixed missing initialization of current device number.
- Fixed comment.

Pointed out by:	nyan
2000-08-06 14:35:37 +00:00
jhb
7ec758080b Argh! Fix a brainfart of mine. In the old boot0, we relocated ourself
to 0x600 via a 'rep movsw'.  Once that was done, %cx was zero, so we could
simply use 'movb' to update the lower byte of %cx in preparation for
zeroing out the fake partition entry used to boot to other drives via F5.
Well, in the new boot0, we don't actually relocate ourselves, instead it
is easier to create the fake partition entry first and then just use it to
get the BIOS to load all of boot0 into memory at 0x600.  However, since we
aren't doing the relocate code anymore, we don't know that %cx == 0 when
we hit the 'movb' to setup %cx for clearning the fake partition entry.
Thus, if %ch != 0 when the BIOS started boot0, then it would end up zeroing
a lot more memory than just 8 words.  The solution is to do a word move of
$8 into %cx.

Debugging help from:	David Wolfskill <dhw@whistle.com>
2000-08-04 22:37:21 +00:00
obrien
9b94427a55 Fix this so it is a Makefile and not a shell script -- now issuing `make'
a second time does not rebuild the binary.
2000-08-04 08:30:00 +00:00
jhb
b9066bd4b2 Fix some of the arcdisk devsw functions to catch up with warning fixes in
<stand.h>.  Also, since bcache_strategy() used to not have a prototype,
arcdisk happily called bcache_strategy() with 6 parameters instead of 7,
leaving out the disk unit number, which is the 2nd parameter.  Add in the
unit number to the bcache_strategy() call to fix this.
2000-08-04 05:25:36 +00:00
jhb
0923c0673c Bring back the perform() function. However, conditionionalize it on
BOOT_FORTH as it is only used if BOOT_FORTH is not defined.
2000-08-04 05:23:41 +00:00
kato
e773ca51d9 - Fixed %si (offset to partition table) in boot.
- Fixed comment.
2000-08-03 13:01:45 +00:00
jhb
e891ba5888 Fix the more obvious warnings to deal with my earlier warning cleanups. 2000-08-03 09:49:44 +00:00
jhb
e165b852de Cleanup warnings. Most of these are signed/unsigned warnings, as well as
some added const's.
2000-08-03 09:14:02 +00:00
jhb
1f9890b495 Fix several BDECFLAGS warnings. Also, actually use the 'verbose' parameter
for lsdev when printing out slice information.  Now, you only get the
sizes and LBA's of slices if you use 'lsdev -v'.
2000-08-03 09:09:49 +00:00
kato
003617e886 - Fixed pointer to the partition table in the buffer.
- Use shift by %cl instead of five shifts by 1.
2000-08-03 09:00:19 +00:00
kato
719b29e2f0 Added PC-98 HDD boot manager. The boot0 is the `IPL' which occupies
sector 0 of a disk and boot0.5 is the `boot selector' which starts
from address 0x400.  The IPL loads boot0.5 and boot0.5 loads bootblock
of a slice.

The boot manager stuff was developed by me (kato) with Borland C++,
and then, translated into bcc in the ports collection by Nokubi-san.
After that, boot0 has been translated into gas with the .code16
directive by Takahashi-san (nyan) and boot0.5 has been rewritten in
gas by me.
2000-08-02 08:46:08 +00:00
nyan
f772c8fd80 Merged from sys/boot/i386/btx/btx/btx.s revisions from 1.18 to 1.22. 2000-07-30 07:45:02 +00:00
sheldonh
eba01e2cbc Rename the loadable nullfs kernel module: null -> nullfs 2000-07-28 11:54:09 +00:00
jhb
9ed7fa2a25 Remove an unnecessary .PATH entry. 2000-07-21 22:36:42 +00:00
obrien
1fae1d7273 Declare our DEC Alpha cdboot to be a fully released version 1.0. 2000-07-18 04:15:06 +00:00
jhb
c080110e39 Oops. Remove some debugging code used to display a hexdump of the sector
we just loaded from the disk.  The code to call it was commented out, and
it easily fit into the extra sector, but remove it anyway as it is
unneeded.
2000-07-17 19:39:50 +00:00
jlemon
96465b2c2a Unbreak the build -- no manual page for this yet. 2000-07-17 19:03:58 +00:00
jlemon
5b9b8deed9 Hook up liloldr 2000-07-17 17:06:27 +00:00
jlemon
21066c4e63 This is `liloboot', which creates a file which can be treated like a
Linux kernel image, and is designed to be dropped into a Linux system
and booted via LILO.  Once booted, the user is greeted by the FreeBSD
loader.  This still isn't quite complete, as the the root= specification
from LILO isn't currently passed to the loader yet.
2000-07-17 17:06:04 +00:00
nyan
9563771e2e Merged from sys/boot/i386/libi386/biosdisk.c revision 1.31. 2000-07-14 04:23:45 +00:00
jhb
3f4475e6f5 The new and improved boot0, v1.1. This version adds the following:
- Autodetection and support of the BIOS EDD extensions to work around the
  1024 cylinder limit on all but really ancient BIOS's.
- To work around some BIOS's which break when EDD is used with older drives,
  we only attempt to use EDD if the cylinder is > 1023.
- Since this new code required more space than we had left, expand boot0 to
  2 sectors (1024 bytes) in length.
- Add support for boot0 being multiple sectors using predefined constants.
  If boot0 needs to be extended in the future, all that is required is
  bumping the NUM_SECTORS constant.
- Now that we have more room to work with, add a few more fs type
  descriptions while making others more verbose.
2000-07-12 18:11:54 +00:00
jhb
41134498c4 Always install loader.4th, defaults/loader.conf, and support.4th instead of
only doing so if loader.rc does not exist.  This fixes the problem where
installworld doesn't update /boot/loader.4th, resulting in device.hints not
being loaded after updating past the config(8) changes, which resulted in
mcclock0 not being probed, and a nice kernel panic during boot.
2000-07-10 16:52:42 +00:00
kris
78f990a287 Don't call printf with no format string. 2000-07-10 06:40:06 +00:00
kris
0d6709d662 Don't call printf with no format string. This is technically a security
vulnerability and could in principle be used to upload a new kernel from the
bootloader :-)
2000-07-10 06:33:55 +00:00
jhb
1ee4aa44d5 Remove commented out NOMAN variable. 2000-07-07 20:37:11 +00:00
jhb
1bc7f5bab2 - Inline all the functions that are only called once. This results in a
savings of 68 bytes in boot2.
- Also add a comment warning that you can't remove the empty exit()
  function.
2000-07-06 01:51:27 +00:00
jhb
037bed528d Doh. The disklabel is not 0x200 bytes of zeros, but it is 0x200 bytes long. 2000-07-06 00:29:40 +00:00
jhb
06878d47d6 Clarify the comments in here a bit. The first sector of boot2 is not just
zeros, it is actually the disklabel itself.  boot2.ldr is simply a
placeholder in the boot2 binary.
2000-07-06 00:22:50 +00:00
jhb
1ebf348bd0 Emulate the WBINVD instruction when it is called by the BIOS. 2000-07-06 00:13:21 +00:00
jhb
41961243a4 Change the fault message to say 'BTX halted' isntead of 'System halted' to
avoid confusion.

Submitted by:	George Scott <George.Scott@its.monash.edu.au>
2000-06-29 08:24:50 +00:00
ache
47fa6c0e35 Add randomdev_load="NO" 2000-06-29 06:10:14 +00:00
jhb
2752163f1e Rework the detecting of the rdmsr and wrmsr instructions in the v86
monitor so that the codepath is cleaner and easier to maintain in the
future.
2000-06-29 01:25:31 +00:00
jhb
e1ff78731a - Don't blindly assume that there are 8 hard drives installed. Instead,
use the BIOS Equipment List to determine how many hard drives are
  installed and if the drive number we received in %dl is valid.
- Don't bother to disable interrupts when setting up the stack.  The 8086
  and beyond implicitly disable interrupts after an instruction that sets
  %ss (for example, a pop or a mov) so that you can safely set %ss and %sp
  in two consecutive instructions.  An exception to this is the lss
  instruction, which can set both registers simultaneously and thus doesn't
  need this hack.
- Add support for EDD BIOS extensions to support booting off of hard drives
  of nearly arbitrary length.
2000-06-27 20:04:10 +00:00
jhb
4e0ad3c333 Comment this. 2000-06-26 23:58:04 +00:00
jhb
cf55ba84f4 Add in support for EDD to support large disks via LBA. This uses a
method similar to that of the loader to avoid potentially breaking older
drives in that we only use EDD if the desired cylinder is > 1023.
2000-06-26 22:57:16 +00:00
mph
0aadcd8ef6 Typo fix: tunnable.
Backslash-parsing is not the role of printf(3), but is provided
	by the C language.
2000-06-25 07:12:03 +00:00
sheldonh
900db4d90d Whitespace-only changes: apply accepted line breaking style as a
pre-cursor to other markup changes.

Accepted in principle by the author.
2000-06-22 08:37:22 +00:00
jhb
3cb8680a56 Comment this bad boy. Hopefully the next person that comes along won't
have to spend a few hours reading the code to figure all this out.
2000-06-19 22:50:46 +00:00
jhb
890a021e86 - Add some more details to the 'lsdev' output for FAT file systems.
- Add in support for the EDD (Enhanced Disk Drive) BIOS extensions to
  use LBA mode for accessing drives past cylinder 1024.  This should allow
  us to load a kernel from anywhere on a newer drive up to 2 TB.  Part
  of this came from the PR below.

PR:		i386/13847
Submitted by:	Tor Egge <Tor.Egge@fast.no>
2000-06-19 17:44:40 +00:00
mjacob
14471fd096 Add wx and ispfw loadable module defaults. 2000-06-17 23:09:51 +00:00
jhb
beeee4808a Add support for emulating the RDMSR and WRMSR instructions into BTX. In
theory, this should allow the K7V Athlon motherboard to boot ok with boot
virus protection enabled.  However, I have no hardware to test this.  It
shouldn't break anything though. :)

Prodded by:	Kelly Yancey <kbyanc@posi.net>
2000-06-17 06:45:40 +00:00
dcs
a916ed2bd7 Fix vocabulary juggling so that builtins voc is always searched before
forth vocabulary when initially creating the builtins. FICL 2.05 has a
better way to do this, but this works for now.

Fixes "?".
2000-06-16 05:04:05 +00:00
dcs
0b5c550021 Revert to 1.8 2000-06-14 19:39:31 +00:00
dcs
cb251cf529 Remove the setting of sourceid from bf_vm(), as bf_vm() really has
no clue.

Set sourceid to 0 when booting, which is the correct setting for stdin.

Set sourceid to an arbitrary fd when include'ing, preserving and restoring
the previous sourceid. This is possibly broken(), as 0 is a valid fd. Maybe
we should +1 to this value.

This fixes the version problem widely reported.
2000-06-14 19:37:00 +00:00
ps
013be4c743 Delay calling the device cleanup routines until the absolute last
moment.  We were cleaning up after PXE too early and the module
dependancy code would not be able to load any files if it needed
too.
2000-06-14 10:34:29 +00:00
ps
24e5543f48 Make typing 'q' or 'Q' work for the show command as the pager prompt
says it should.
2000-06-14 09:05:03 +00:00
peter
f2f3d42fde With apologies to dcs, temporarily comment out the version check code. It
is failing for everybody that I have spoken with that has tried it.

FreeBSD/i386 bootstrap loader, Revision 0.8
(root@outback.netplex.com.au, Tue Jun 13 23:26:49 PDT 2000)
Loader version 0.3+ required
Aborted!
start not found

Note that the 0.3+ message is from inside the arch-alpha block, not the
i386 block of code.  And even then, 0.8 is higher than 0.3.

This prevents the rest of the loader.conf stuff working. :-/
2000-06-14 07:18:18 +00:00
peter
647ef85d48 Borrow phk's axe and apply the next stage of config(8)'s evolution.
Use Warner Losh's "hint" driver to decode ascii strings to fill the
resource table at boot time.

config(8) no longer generates an ioconf.c table - ie: the configuration
no longer has to be compiled into the kernel.  You can reconfigure your
isa devices with the likes of this at loader(8) time:
  set hint.ed.0.port=0x320

userconfig will be rewritten to use this style interface one day and will
move to /boot/userconfig.4th or something like that.

It is still possible to statically compile in a set of hints into a kernel
if you do not wish to use loader(8).  See the "hints" directive in GENERIC
as an example.

All device wiring has been moved out of config(8).  There is a set of
helper scripts (see i386/conf/gethints.pl, and the same for alpha and pc98)
that extract the 'at isa? port foo irq bar' from the old files and produces
a hints file.  If you install this file as /boot/device.hints (and update
/boot/defaults/loader.conf - You can do a build/install in sys/boot) then
loader will load it automatically for you.  You can also compile in the
hints directly with:  hints "device.hints"  as well.

There are a few things that I'm not too happy with yet.  Under this scheme,
things like LINT would no longer be useful as "documentation" of settings.
I have renamed this file to 'NOTES' and stored the example hints strings
in it.  However... this is not something that config(8) understands, so
there is a script that extracts the build-specific data from the
documentation file (NOTES) to produce a LINT that can be config'ed and
built.  A stack of man4 pages will need updating. :-/

Also, since there is no longer a difference between 'device' and
'pseudo-device' I collapsed the two together, and the resulting 'device'
takes a 'number of units' for devices that still have it statically
allocated.  eg:  'device fe 4' will compile the fe driver with NFE set
to 4.  You can then set hints for 4 units (0 - 3).  Also note that
'device fe0' will be interpreted as "zero units of 'fe'" which would be
bad, so there is a config warning for this.  This is only needed for
old drivers that still have static limits on numbers of units.
All the statically limited drivers that I could find were marked.

Please exercise EXTREME CAUTION when transitioning!

Moral support by: phk, msmith, dfr, asmodai, imp, and others
2000-06-13 22:28:50 +00:00
ru
b2d0212ee6 Treat \t and \n inside /boot.config as whitespaces.
PR:		19215
2000-06-13 13:07:53 +00:00
dcs
b91a93f851 Fix REFILL. It must throw RESTART instead of OUTOFTEXT so that
execution can take place at the point where it stopped after the
input buffer has been refilled.

Add ANS Forth CORE EXT and FILE word SOURCE-ID.
2000-06-12 16:46:28 +00:00
dcs
52e5343bd3 The word environment? returns a flag indicating whether the variable
was found or not. Fix it's usage. Alas, it caused no problem before,
besides leaving garbage in the stack, because refill, used by [if]
[else] [then], was broken.
2000-06-12 16:45:01 +00:00
dcs
87575284dc Make abort" functional in interpret mode. This behavior is undefined
by ANS Forth standard, but it's useful.

Also, define the constant true in a more strict way. C might garantee
2-complement math, but Forth doesn't.
2000-06-12 16:42:02 +00:00
dcs
0e4edb9ead Make comment reflect reality. 2000-06-12 16:40:00 +00:00
dcs
62455c2019 Put some version checking. 2000-06-07 22:19:49 +00:00
dcs
490fb7128d Bump loader version due to FICL (duh!) and copyin, copyout, setenv&cia. 2000-06-07 22:14:09 +00:00
dcs
31d84040c6 Bump loader version due to copyin, copyout, setenv&cia. 2000-06-07 22:12:21 +00:00
dcs
7da86fa04c Modify boot-conf so it can take a kernel or directory name as
a parameter and dtrt.

Also, make boot-conf always unload first. There wasn't really any
point in not doing this, as the kernel _has_ to be loaded before
any other modules.

Tested by: dwhite
2000-06-07 22:10:05 +00:00
dcs
281e1110df Add setenv, getenv, setenv?, unsetenv, copyin and copyout to FICL. 2000-06-07 22:07:01 +00:00
dcs
f52e5ae84b Remove AGAIN definition, as FICL 2.04 provides it.
Add strlen, to help handling data generated by C code.

Add 2>r 2r>, because OO programming without them sucks.
2000-06-07 22:03:37 +00:00
dcs
e8eb747a92 Remove a bug that caused local variables declarations in the format
{ | internal -- } to be rejected.
2000-06-07 22:00:10 +00:00