Commit Graph

287 Commits

Author SHA1 Message Date
ache
a9c792d591 Change first CFLAGS+= to CFLAGS= or we got really bad results
especially with -m486 from make.conf
1994-10-07 05:36:01 +00:00
rgrimes
04c54e6dff 1. BOOTSEG and BOOTSTACK are now set from the Makefile, the boot code has
been relocated to run in the 64k segment at 0x10000 with the stack at
    the top of this segment.  This corrects the problems machines with 512K
    base memory had booting.

2.  startprog routing rewritten to convert the BOOTSEG ss to a KERNELSEG
    ss, this eliminated the last of the >512K memory references.  Additional
    cleanup in here included a better way to copy the arguments to the
    kernel stack.

3.  Elimination of argv and esym cruft saved a few bytes.

4.  Only need to truncate the head.a_entry to a meg boundary once intead
    of every time we used it!  [Saving more bytes].

5.  Addition of version 1 bootinfo structure support.  These boot blocks
    pass the kernel name in to the kernel now.

6.  Removed historical comments about MACH argv stuff, as it is useless now.
1994-10-06 09:41:05 +00:00
rgrimes
7a2b24a44d 1. Completely rewritten Makefile that uses bsd.prog.mk more effectively.
2.  Clean up the .S files to use /* */ style comments.

This is a totally cosmetic change, not one byte of the resulting boot
code changes.  But at least it is installed with correct owners and in
the right places, and gets recompiled correctly when things change!
1994-10-02 05:18:26 +00:00
adam
516108a214 Better documentation, 1ms calibration, default 5 seconds BOOTWAIT
Reviewed by:	adam
Submitted by:	rgrimes
1994-09-20 22:25:00 +00:00
adam
b804a3e757 Default wait approx 10 seconds for keypress during boot
Added comment about multiplication factor
1994-09-19 19:54:49 +00:00
swallace
87257a2b86 Put LDDESTDIR before library listing. 1994-09-18 19:10:11 +00:00
swallace
434f1e2053 Makefile: add ${LDDESTDIR} to linking of boot code so ${DESTDIR}/usr/lib
is used instead of /usr/lib

io.c: add #include <machine/cpufunc.h> as instructed by David Greenman to
avoid inb/outb linking errors.
NOTE:  I just discovered that if GNUC is not used the inline functions will not be expanded from the include file and real inb/outb functions would
be needed.
1994-09-18 07:39:55 +00:00
dg
f40d319a86 Removed inclusion of pio.h and cpufunc.h (cpufunc.h is included from
systm.h). Merged functionality of pio.h into cpufunc.h. Cleaned up some
related code.
1994-09-16 13:33:56 +00:00
bde
5def359657 Conditionalize support for my debugger. This normally saves 304 bytes. 1994-08-30 01:38:04 +00:00
paul
a5b27701b9 Removed disk type from disklabel lines, not needed for installing
bootblocks.

Reviewed by:
Submitted by:
1994-08-21 18:15:45 +00:00
paul
eb40903ae1 Fixed bootblocks to work with FreeBSD 2.0
1) Fixed up some header locations
2) Replaced list of boot files with /kernel
3) Changed disklabel use in Makefile to conform to 4.4
4) Added size command in Makefile to get close estimate of bootblock
   sizes. Total size of text and data must be below 64K, slightly
   overestimated since a.out header subsequently gets stripped.
5) Various buffer sizes are set to 8192 bytes in sys.c. In 4.4 MAXBSIZE
   is set to 64K which is too big for the bootblocks to deal with.

Submitted by:	Paul Richards
1994-08-21 17:47:26 +00:00
jkh
f51d8b6846 Commit a whole cluster of last minute critical (and one cosmetic) fixes
from David Greenman, Bruce Evans and Julian Elischer.

They are:

[vnode pager - David/Bruce]:
  The following patch fixes a problem where some data could be lost in a
delayed-write buffer if the cached buffer was larger than a page. This fix was
provided by Bruce Evans and modified slightly by me.

[st.c - Julian]:
  My fix for "bad request, must be between 0 and 0"

RTFS if you're interested).

[gnu/fpemul - David/Bruce]:
  These changes fix single stepping of emulated FPU instructions.
Previously, the instruction after an emulated instruction was
executed without causing a SIGTRAP ...

The also fix the initial control word being different for the
GPL emulator (it is still wrong for the old emulator) and remove
an unnecessary panic when emulation is not configured (I hope at
least init, sh and reboot will run without floating point.  I
remember only df and mkfs being broken by the lack of FP in 0.0).

[Various fixes described below - Bruce/David]:
sys/i386/boot/boot2.S:
        Yet another attempt to propagate the correct fix for 16 vs
        32-bit mode bugs.  [verified]

sys/i386/i386/db_interface.c:
        Protect against reentering Debugger().

sys/kern/kern_time.c:
        Don't allow 'time.tv_usec == 0' except at clock interrupts.

sys/pcfs/pcfs_fat.c:
        Make it compile without -O.

sys/scsi/sd.c:
        Fix as posted to some freebsd mailing list.
        (changes the order of the assignment of "sectors" because it earlier
          value is needed first -DG)

sys/vm/vm_glue.c:
        Fix stale comments and verbose code.

sys/vm/vm_mmap.c
        Fix off by 1 errors and verbose code.

[From Nate - cosmetic but non-intrusive and useful enough to go in]
sys/i386/isa/isa.c:
Appended you'll find a patch to the NMI error log routine in isa/isa.c.
The below patch just adds some additional information when an NMI occurs
which can help debug the hardware problem.
1994-06-22 05:52:25 +00:00
jkh
c3171f377c Make BOOTWAIT a truly tunable parameter. It was hard-set before. 1994-06-20 04:32:40 +00:00
adam
91cdb9393a Changed delay mechanism to rely more on I/O spinning. If spinning on the
like this is bad news, it will have to be revised.
Shortened some verbose messages for when the kernel is loaded below 640k.
Updated version number.
1994-06-16 03:53:29 +00:00
jkh
f68251221d From Hellmuth Michaelis, reviewed by Bruce Evans: This enables
the keyboard clock rather than incorrectly disabling it.
1994-06-15 19:09:14 +00:00
adam
7fb934835d make BOOTWAIT loopcount parameter available for tuning.
This changes nothing unless f.e. -DBOOTWAIT=0 or -DBOOTWAIT=640000 is used
1994-06-15 18:15:17 +00:00
rgrimes
0eadd3ea8c Touch the $Revision$ string to cause a cvs revision update of the boot
code (ie, should now print Revision 1.13).
1994-06-14 07:31:42 +00:00
jkh
6d2ef18502 Be paranoid about setting of %dl register for braindead BIOS's,
initializing it to 0 in the floppy boot case.  This allows my Toshiba
1910 laptop to finally boot, and may help out other machines cursed
with early Phoenix BIOS's as well.
1994-06-13 19:27:52 +00:00
jkh
2fdc4a4a0a This should fix up the absolute paths to /usr/mdec - just prepended
${DESTDIR} to all the right places (any reason why not?).
1994-06-02 16:50:56 +00:00
ache
8f99712096 Make bootblocks fit into 7168 limit 1994-05-30 05:23:53 +00:00
ache
a94a714026 From Bruce:
*	If there is no 386BSD partition, initialize the label sector with
 *	LABELSECTOR instead of with garbage.
 *	Fixed reading of bad sector table.  It is at the end of the 'c'
 *	partition, which is not always at the end of the disk.
1994-05-16 03:06:00 +00:00
martin
0dbe39ffd2 Change switch statement to two if statements. This saves 208 bytes in
the object file which is enough to bring the size down to the point
where the bootstrap fits into 15 sectors.
1994-05-01 03:53:29 +00:00
phk
b2b233fcc4 Adding bootoption '-r' which is "use compiled in root". This allows me to
boot from a floppy and have root on wd2 for instance.
1994-04-20 22:06:24 +00:00
rgrimes
b1f89ae5eb Bump boot block revision to 1.9 by a dummy edit on disk.c and:
>From: bde@kralizec.zeta.org.au (Bruce Evans)
Subject: cache botch in bootstrap
Date: Sun, 20 Feb 94 18:14:35 +1100
The cache in the bootstrap loader didn't allow for the device changing.

This caused surprisingly little trouble - the cache is only for a single
track (or part of a track), and the first access to a new device is
always for an early sector, so there is no problem unless the last access
to the old device was for an early sector.  I saw the problem on a system
with BSD on wd1 and no label on wd0.  Everything worked if the the device
name wd(1,a) was specified before the default of wd(0,a) was tried, but
when the default was tried, it failed on the first sector because there
was no label, and then the first sector on wd0 was always used instead
of the first sector on wd1, so there was apparently no label on wd1
either.

Bruce
1994-02-22 22:59:40 +00:00
ats
b58557899d Deleted the private cleandir target. It didn't had a rule for the
obj symlink in it and the normal bsd.prog.mk cleandir target does
already the correct thing.
1993-12-11 20:35:15 +00:00
ache
cf434a6bef We don't want shared boot, so -Bstatic added to ld options 1993-11-16 02:02:05 +00:00
rgrimes
93f6cc5abd >From Charles Hannum
Change movl %es: -2(reg) to use a subl $2,reg when fixing up the IDT
entries for bdb.  This seems to be the best way to go.

Some day soon #ifdef BDB all of Bruces debugger code.
1993-11-13 04:43:25 +00:00
rgrimes
7b833e734d Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some
minor cleanup.  Added $Id$ to files that did not have any version info, etc
1993-10-16 19:17:18 +00:00
rgrimes
7ddd46cd33 Dont just mask the Megabyte, we need all the bits below too,
and ELIMITNATE THE 28K BOGOUSITY.
1993-10-15 12:33:03 +00:00
rgrimes
3f11d4d9df Fixed the options hd(1,... to be more accurate (removed word options it
now reads:

printf("use hd(1,a)/386bsd to boot sd0 when wd0 is also installed\n");

I know the person wanted more explination, but there is little room in
the boot blocks for verbose text!
1993-10-11 02:43:42 +00:00
chmr
6381360107 Changed the "Insert filesystem floppy" prompt to give the user a choice in
which drive he wants the root file system (A or B).
1993-10-09 08:31:39 +00:00
rgrimes
03aa455713 Remove the ``loader overlaps bss, kernel must bzero'' printf since that
is so often reported as an error condition when it is not.  We print the
size of things so for those who want to know if this happened they can
figure it out from the size information that is printed.
1993-10-08 20:19:23 +00:00
rgrimes
04e9d836ae Changed header from 386BSD BOOT to FreeBSD BOOT. 1993-07-16 13:06:08 +00:00
root
ae749d9344 New boot blocks, from Bruce Evans, and NetBSD fixes. Allows kernel to
be loaded above 1MB.  Same boot code for floppies now.  Speed improvements.
etc etc etc. (I don't have much history on this, but then have been tested)
1993-07-13 18:15:32 +00:00
rgrimes
bcfa18552e This commit was generated by cvs2svn to compensate for changes in r4,
which included commits to RCS files with non-trunk default branches.
1993-06-12 14:58:17 +00:00
rgrimes
25062ba061 Initial import, 0.1 + pk 0.2.4-B1 1993-06-12 14:58:17 +00:00
rgrimes
89bebeef18 Initial import, 0.1 + pk 0.2.4-B1 1993-06-12 14:58:17 +00:00