Commit Graph

422 Commits

Author SHA1 Message Date
dsl
673612c6a0 Use correct segment register in getmementry 2003-02-14 14:39:24 +00:00
dsl
53d3dabb6a Use on-stack buffer to check for 2.88MB floppy, malloc() hasn't been
loaded when this is called.
Clearly the information is actually available from the bios.
(Approved by christos)
2003-02-07 00:46:08 +00:00
dsl
bfd68d9702 Change to use .codw16/32 and ensure buffer address <64k
(approved by christos)
2003-02-05 21:50:25 +00:00
dsl
d77171664a A buffer slipped though the net... Ensure offset < 64k.
(approved by christos)
2003-02-05 21:48:53 +00:00
dsl
7db25b39f8 Remove unused defines 2003-02-05 21:41:51 +00:00
briggs
f6909b984b Revert my last change. While it actually allows a build to finish,
an iso-image created from the resulting release won't boot.  I don't
know if this change is the source of that, but one more knowledgable
than I about the x86 booter needs to look at this, and I don't want
the waters muddied any more than necessary.
2003-02-03 03:03:16 +00:00
briggs
c6b14f1ca4 Add CPPFLAGS+= -D__daddr_t=int32_t. 2003-02-03 00:08:30 +00:00
dsl
a3b6bf84d6 Increase MAXFLENTRIES - the limit is being hit on some systems.
(approved by christos)
2003-02-02 21:08:55 +00:00
dsl
bf6f586096 Change comments to refer to increased default number of fragments
(approved by christos)
2003-02-02 21:05:15 +00:00
dsl
81acacd723 Change all .S files to use .code16 and .code32
Support 32bit addresses >64k as valid on bios calls.
Move stack for dosboot and biosboot to >64 so stack doesn't hit data.
Use disk sector number passed by mbr code to select default partition
(the mbr code doesn't do this yet).
NB only biosboot and dosboot have been tested so far.
(changes approved by christos and fvdl)
2003-02-01 14:48:16 +00:00
fvdl
1ae2ac239d Make the ld workaround work on x88_64, and add the temporary ld script
to CLEANFILES.
2003-01-29 18:44:47 +00:00
dsl
00706969a9 Remove the 4k between code and data to increase the stack space.
Support for 64bit disk blocks seems to have exploded the code.
2003-01-28 16:21:58 +00:00
fvdl
a3ff3a3038 Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
2003-01-24 21:55:02 +00:00
jdolecek
31fcb050d5 add another memory size detection routine, using int15, function 0xc7, which
is supported on later IBM PS/2 models; this is necessary to detect memory
over 64MB
thanks go to Pavel Cahyna for testing on his IBM PS/2 machine with 128MB

bump biosboot version to 2.15
2003-01-23 21:22:24 +00:00
jdolecek
1323e01ddf use %e?x instead of %?x as 'xorl' arguments
use %al for 'movb' target, and 'andb' for masking the result with $0x02
since 'and' conveniently sets ZF, use 'and+jnz' instead of 'and+cmp+jne'
2003-01-23 21:01:18 +00:00
thorpej
c8763685b7 Allow the serial console boot blocks to be built with a specific
console speed, and build some of the more common ones.
2003-01-14 23:53:30 +00:00
thorpej
f6f0dbd011 Stub out LIBCRT0, LIBCRTBEGIN, LIBCRTEND, and LIBC. 2003-01-14 23:51:34 +00:00
lukem
a250e57c96 Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
"${RELEASEDIR}/...".

${RELEASEDIR} is never cleaned , and ${RELEASEDIR}/${MACHINE} is only
cleaned if UPDATE is not defined.
2003-01-03 15:34:30 +00:00
jdolecek
6227201ba9 If booting from floppy in 2.88MB drive, actually test if it's possible
to read sector 18, and fallback to 1.44MB drive geometry if that fails.
This allows to boot from 1.44MB floppy disk in 2.88MB drive.
Tested with 2.88MB drive in IBM PS/2 model 95 donated
by 'Yokotashi' <lhc at kanal ucw cz> and Pavel Cahyna
<pavel.cahyna at st ms mff cuni cz>
Bump biosboot version.

Fixes PR kern/3418 by Keith Moore.

Change okayed by Frank van den Linden.
2002-12-04 18:26:56 +00:00
lukem
1847a76b62 use NOMAN instead of MKMAN=no. noted by David Bonnafous on port-i386@ 2002-11-24 23:48:48 +00:00
fvdl
79f52ea3a8 Some hacks to make this compile on x86_64. 2002-11-23 23:34:39 +00:00
dyoung
e57ba8d648 Introduce biosdiskreset(), and call it to reset the disk (with Int
0x13 Function 0) after a read error. This is a requirement mentioned
in most BIOS documentation.

This answers PR 18591.

Incidentally, on the Soekris Engineering net45x1 single-board
computer, this fixes a bug where the bootloader corrupts the kernel
while loading it from certain varieties of CompactFlash card
(especially varieties identified by NetBSD as <TOSHIBA THNCF064MBA>).
2002-10-10 18:52:42 +00:00
jdolecek
ed2badbd21 make vers.c depend on ${SOURCES} and remove .PHONY tag for it, so that it
would only be regenerated if any of the input files changed
2002-09-02 07:33:11 +00:00
lukem
fb7bc8541e arch/*/stand stuff should be LDSTATIC=-static and not LDSTATIC?=-static.
It doesn't make sense to have standalone stuff dynamically linked just
because an end-user uses LDSTATIC="".
2002-08-27 08:53:14 +00:00
thorpej
4b8b317d4b There are other systems besides the PS/2 L40 that enable A20
via the Configuration Port, so restructure the code a little
to allow for them, and list at least one other system that does
(anything based on AMD Elan SC520).

XXX We don't actually check for Elan SC520 yet.
2002-08-12 14:27:34 +00:00
grant
6742cb1812 sweep of errx/warnx, remove unnecessary trailing \n 2002-07-20 08:36:17 +00:00
pooka
c558b464ba Assign COPTS instead of adding to it, avoids situation where -mi386
is mixed with -march=something_incompatible

suggested by thorpej
2002-06-27 20:44:08 +00:00
gmcgarry
02ca40e27f Make this compile with NETIF_DEBUG. 2002-06-21 23:18:45 +00:00
itojun
937b671271 use exit(int), not exit(void), consistently - even if the arg has no meaning. 2002-06-01 11:40:31 +00:00
thorpej
28afbb384c Build with -ffreestanding. 2002-05-31 18:26:26 +00:00
itohy
d2a97e2196 _C_LABEL() police 2002-05-10 23:21:17 +00:00
tv
43df8ed28f Add host-OS tools for i386, which end up in the "installation/misc"
directory of the release tree.
2002-04-12 23:11:58 +00:00
kanaoka
4081bcf395 Add (missing)pushl/popl for %edi in ENTRY(pxecall_pxenv). 2002-03-27 17:24:22 +00:00
kanaoka
e42f3e3081 Change scan step from 16 to 2, when pxe_init() check the presence of PXE.
This change improve checking the presence of PXE.
2002-03-26 08:02:05 +00:00
gmcgarry
3ed7e33e1d Add commented-out default definitions for BASEREG and BASEMEM. 2002-03-23 03:45:04 +00:00
thorpej
c0d66944db Make sure we override any optimization options specified by the
user; the boot blocks don't work when built with e.g. -mcpu=i486
(probably due to how branches are aligned in that case, causing
segment boundaries to be crossed).
2002-03-19 22:03:37 +00:00
thorpej
ca1294612c Remove some globals defined in libsa. 2002-02-24 01:51:04 +00:00
thorpej
f777763ab3 * Rename the pxeboot binary from "pxeboot" to "pxeboot_ia32", since
there are other architectures (e.g. IA64) which also use PXE.
* Get the console right in pxeboot, from Andreas Gustafsson.
* Add a "com0" version of pxeboot, to address the same issue that
  biosboot_com0 addresses.
2002-02-20 03:00:27 +00:00
thorpej
825d4ec152 Increase the reset delay in ex_reset() as per dev/ic/elinkxl.c
Pointed out by Love <lha@stacken.kth.se>
2002-02-19 20:38:28 +00:00
thorpej
dfeaa108c4 Add some comments to make some #if/#else/#endif's more clear. 2002-02-19 20:18:36 +00:00
thorpej
8545d4115b Put the netif driver name in the version banner. 2002-02-19 19:55:01 +00:00
thorpej
1ecb20dd3b Move the individual NIC ROM Makefiles into a subdirectories of
netboot.  Requested by Christos.
2002-02-19 19:49:37 +00:00
thorpej
bf6823b1b5 Don't ask bootp() to put a "PXEClient" Vendor Class Identifier option
in the DHCP request.
2002-02-18 17:01:46 +00:00
thorpej
77fa5a7974 Pay attention to the file name provided by the DHCP server, using
it rather than the default of "netbsd" if it's in the reply.
2002-02-17 20:14:08 +00:00
thorpej
76ea45942b Cleanup of i386 bootloader building:
* Add separate directories for the individual netboot ROMs and
  always build them.
* Each bootloader Makefile explicitly specifies the start file
  and link address it wishes to use.
* genprom becomes a proper host program.
* Make sure all generated files get cleaned up.
* Set BINDIR in Makefile.inc
* Add compressed image support to pxeboot.
* Make pxeboot use the default serial console speed (9600).
2002-02-17 20:03:05 +00:00
thorpej
45f23105c2 Make this compile again (update for changes to register bit names). 2002-02-17 19:49:58 +00:00
thorpej
bb1c9c42fa Update for new location of the WD80x3 register description. 2002-02-17 19:47:41 +00:00
thorpej
49cec2b141 * Remove a debug-breakpoint that is no longer needed.
* Move the pxe_init() call to when we open the virtual netif.
* Make sure to call pxe_fini() when we close the virtual netif.
2002-02-16 16:52:10 +00:00
thorpej
0aec9f6508 Need private copies of these files for now. 2002-02-16 16:26:23 +00:00
thorpej
8bb2be2987 Add a PXE boot loader. PXE interface code is derived by code
written by Alfred Perlstein, Paul Saab, John Baldwin for FreeBSD.

Still needs some work, but this will load a kernel on a Soekris net4501.

Many thanks to Frank van der Linden and his simulator wizardry for
helping me debug the low-level startup code.
2002-02-16 03:37:39 +00:00