Commit Graph

23 Commits

Author SHA1 Message Date
fvdl ec559f688b Be more careful with saving registers around the "out of CHS range" check. 1999-05-02 12:44:34 +00:00
christos 57e4b98787 - Use the proper multiply instructions so that we don't get truncated. 1999-04-30 15:31:17 +00:00
fvdl 48003b2c88 Only use int13 extensions if the sectors can not be read through the
older CHS interface. This works around stupid BIOSs who report that
int13 extensions are present and functional, but fail when you actually
use them. Like Adaptec SCSI BIOSs.
1999-04-28 23:24:42 +00:00
drochner ffd8d7c6d0 add prototypes
being here, format ala KNF
1999-04-14 10:57:59 +00:00
drochner 5d86b86370 #ifdef out the last change for the branch 1999-04-01 19:36:09 +00:00
drochner 3497f157fd On serious boot errors, dont lock the machine. Instead, wait 3 seconds
and call the ROM BASIC vector. This might behave differently on different
machines, but normally it allows to reboot without power-cycling.
1999-04-01 17:07:54 +00:00
fvdl f8e221511b * query BIOS geometry information, possibly using the int 13 extensions.
* pass them on to the kernel
* print a message if the 2nd stage bootloader returns (i.e. fails)
  instead of just hanging.
1999-03-08 00:09:24 +00:00
drochner d57c7b76ca replace ENTRY() label in data segment which broke the code completely 1999-02-28 11:45:44 +00:00
drochner cb2e02af94 Make this compile and work again after the assembler update.
The new assembler doesn't allow 16-bit relocations involving arithmetics
with 32-bit variables. (The old one did silently truncate, which was
the right thing in our case.) Further, the new assembler uses to scatter
size prefixes around if the size of the operation is not explicitely
specified, even if the result is nonsense, eg for moves to segment
registers or control registers.
Add some debugging code (generating printouts) and comments.
Remove the !BOOTROM code which was intended for a DOS harness but isn't
that useful anymore.
Some cleanup and formatting to make it more similar to the other
startup code variants.
1999-02-19 19:48:06 +00:00
christos 89cc672d98 Jason forgot to make the disklabel_mbr.h changes for this and ows me 5 hours
of debugging.
1999-01-29 18:45:12 +00:00
thorpej 6ead44025b Fixup some usage of _C_LABEL(). 1999-01-22 22:43:44 +00:00
ws 18f9174133 Some BIOSs insist on patching the Bios Parameter Block for some drives
(e.g. LS-120).  Make room for this.
1998-11-11 16:46:38 +00:00
ws d65dc0de3b Make ourseg visible to the outside similar to bootsect/start_bootsect.S
(Thanks to hannken@eis.cs.tu-bs.de for pointing this out).
1998-10-16 18:07:35 +00:00
ws f82918b49b Add int13 extension support 1998-10-15 15:28:22 +00:00
ws 3e28defef4 No point in making the fake partition that large.
This smaller one will (hopefully) make 0-start
installations work on more machines.
1998-10-08 14:25:42 +00:00
drochner cbb7aa93f0 from FreeBSD:
wpaul       1998/07/02 08:36:36 PDT

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

  This workaround has no effect on the boot sector code other than to
  increase its size by three bytes.
1998-07-07 13:58:59 +00:00
drochner ad33d83f8b Add compatibility code (#ifdef COMPAT_386BSD_MBRPART): look for 386BSD
partition ID if the NetBSD ID was not found.
Cleanup, use definitions from <machine/disklabel.h>
1998-02-19 14:15:38 +00:00
drochner 4ad496626c Double default fragment table size. For fragmented and / or small
blocksize filesystems the old default was too small.
1997-11-07 16:59:41 +00:00
drochner c2095ccd48 Remove old SERIAL support, it will be done at a higher level now. 1997-09-17 18:10:51 +00:00
drochner cc7a41e5d2 Weaken the restrictions on the device file name a bit: /boot can
now be installed on any partition.
Allow PRIM_LOADSZ to be set in the Makefile.
This together allows to make bootable 720k floppys.
closes PR port-i386/3751
1997-06-19 11:46:44 +00:00
drochner a0d9d3bc54 Allow to boot from DOS if a XMS manager is installed.
XMS is recognized and used as temporary buffer for the kernel image.
The processor must still be in real mode at program start, so EMM386
or QEMM are not allowed. W*95 is OK.
Written by Martin Husemann (pr port-i386/3336).
Completely separated from other bootloaders for sanity.
1997-06-13 17:49:22 +00:00
perry 86ab882a41 From Matthias Drochner:
support for ROMs ala PCI specification
1997-03-15 22:15:02 +00:00
perry 816bb96145 Initial import of new boot code, created by Matthias Drochner with a
little hacking by me. This isn't strictly identical to his 920312
release -- I've hacked it a bit -- but since we are taking over change
control it doesn't matter much.
1997-03-14 02:40:32 +00:00