Commit Graph

54 Commits

Author SHA1 Message Date
lukem f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
matt f6dce1d311 Make this work with R/O source trees. 2003-10-24 04:49:31 +00:00
lukem 1c33b4e6a4 Overhaul MBR handling (part 1):
<sys/bootblock.h>:
    *	Added definitions for the Master Boot Record (MBR) used by
	a variety of systems (primarily i386), including the format
	of the BIOS Parameter Block (BPB).
	This information was cribbed from a variety of sources
	including <sys/disklabel_mbr.h> which this is a superset of.

	As part of this, some data structure elements and #defines
	were renamed to be more "namespace friendly" and consistent
	with other bootblocks and MBR documentation.
	Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
    *	Deprecated in favor of <sys/bootblock.h> (the latter is more
	"host tool" friendly).

amd64 & i386:
    *	Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
	be consistent with the naming convention of the msdosfs tools.

    *	Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
	and it's confusing to have two functionally equivalent bootblocks,
	especially given that "ufs" has multiple meanings (it could be
	a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

    *	Rework pbr.S (the first sector of bootxx_*):
	    +	Ensure that BPB (bytes 11..89) and the partition table
		(bytes 446..509) do not contain code.
	    +	Add support for booting from FAT partitions if BOOT_FROM_FAT
		is defined.  (Only set for bootxx_msdos).
	    +	Remove "dummy" partition 3; if people want to installboot(8)
		these to the start of the disk they can use fdisk(8) to
		create a real MBR partition table...
	    +	Compile with TERSE_ERROR so it fits because of the above.
		Whilst this is less user friendly, I feel it's important
		to have a valid partition table and BPB in the MBR/PBR.

    *	Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
	with other platforms.

    *	Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
    	we can boot off FAT partitions.

    *	Crank version of /usr/mdec/boot to 3.1, and fix some of the other
	entries in the version file.

installboot(8) (i386):
    *	Read the existing MBR of the filesystem and retain the BIOS
    	Parameter Block (BPB) in bytes 11..89 and the MBR partition
	table in bytes 446..509.  (Previously installboot(8) would
	trash those two sections of the MBR.)

mbrlabel(8):
    *	Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
	to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
2003-10-08 04:25:43 +00:00
simonb fe200beac4 Use -ffreestanding.
Define LIB{CRT0,C,CRTBEGIN,CRTEND} as nothing, we don't need to link
against them.
2003-10-08 01:38:49 +00:00
simonb 27fbee2ad2 Don't use multi-line strings (keeps gcc331 happy). 2003-10-08 01:35:49 +00:00
simonb 605b20c064 Use <lib/libkern/libkern.h> for str*() prototypes instead of the userland
header <string.h>.
2003-10-08 01:30:40 +00:00
aymeric 2b846f3e47 . ANSIfy a bit more
. use the boot_entry_t type for the entry point

Makes ofwboot compile with -Wmissing-prototypes -Wstrict-prototypes, as
suggested by Chuck Silvers in a private e-mail.
2003-07-14 09:46:06 +00:00
aymeric db875b067a . prototype for main()
. typedef boot_entry_t to be the prototype of the kernel entry point
2003-07-14 09:42:58 +00:00
aymeric 3d58c2238e include <sys/types.h> so that this file can be included first/alone 2003-06-26 20:47:51 +00:00
aymeric 003fd1df25 . ANSIfy
. include needed headers
. fix a couple of warnings
2003-06-26 20:47:10 +00:00
aymeric 98e0168f0a . ANSIfy
. include the needed headers
. net_mountroot() becomes static
2003-06-26 20:46:31 +00:00
aymeric ee20410a5e ANSIfy 2003-06-26 20:45:29 +00:00
aymeric b0c4d54ee9 . ANSIfy
. include alloc.h
. while there, fix a bug in prom2boot() introduced in rev. 1.11
2003-06-26 20:44:51 +00:00
aymeric e9cabc8553 . ANSIfy
. Fix a missing return
. replace %x by %p to print pointers in OFW_DEBUG printf's
2003-06-26 20:43:48 +00:00
aymeric 110312e089 declare functions from corresponding C file 2003-06-26 20:42:38 +00:00
drochner 66a5580c6e Remove remaining uses of libsa/netif -- the "netif" structure was only
used to lookup a "struct of_dev", everything else was ballast.
Do it straightforward now and assign the ofdev directly to io_netif.
2003-03-13 15:36:06 +00:00
briggs c315d5acf6 Double the amount of stack space for ofwboot. 2002-10-25 18:19:43 +00:00
chs eaa116beda tidy a bit. 2002-09-21 01:18:40 +00:00
chs c0b553502c build ofwboot as an ELF binary. 2002-09-18 01:45:49 +00:00
chs cf9ab742f6 fix parsing of pathnames with a partition specifier.
reformat for readability.
2002-09-18 01:45:25 +00:00
chs b7878de767 add OF_boot(), call it if the user says "reboot".
try loading "netbsd.ofppc" first, to allow sharing root fs.
2002-09-18 01:45:04 +00:00
itojun 73941c5096 avoid hardcoding MBR_MAGICOFF and MBR_MAGIC. 2002-06-18 00:37:25 +00:00
tv 8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
thorpej 42e835d381 Clean up the NetBSD/ofppc boot loader:
- Garbage collect some cruft that doesn't apply to the ofppc port.
- Make our OFW-friendly alloc.c more like the libsa alloc.c
- Generally reduce some differences where we can between this
  boot loader and the NetBSD/macppc boot loader.
- Use libsa's loadfile().
- Fix DDB symbol loading -- Add a magic number after the args string
  so the kernel knows the symbols are there, provide both ssym and
  esym, and make sure all these values are aligned to a 4-byte boundary.
- Add support for MS-DOS file systems.
2001-10-23 03:31:25 +00:00
wiz 3ed1e031ab bcopy -> memcpy, bzero -> memset 2001-07-22 14:43:14 +00:00
soren 945b972563 PPC machine type tags haven't been used for a while. 2001-05-03 13:11:24 +00:00
ws dc77af8bea Don't claim the memory for the executable from the firmware.
Some implementations seemed to do strange mappings as a result of it.
2001-01-17 15:37:06 +00:00
ws 8d2ba0ce39 Increase stack size to make this work again. 2001-01-17 15:31:04 +00:00
jdolecek 49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +00:00
jdolecek 3d73ef5a2b convert to use conf/newvers_stand.sh, minor Makefile adjustments 2000-08-07 22:38:10 +00:00
mycroft 7b49d242ce Clean up the machine symlink stuff ever so slightly. Needs to be
standardized between files.
2000-01-23 17:04:03 +00:00
kleink 522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
wrstuden 7478ef04eb Catch up with sys/disklabel_mbr.h. 1999-10-12 19:40:51 +00:00
wrstuden 52d0d8e1d9 Make symlink for powerpc@. 1999-10-12 19:40:27 +00:00
drochner fe310dd299 include <lib/libkern/libkern.h> for intoa()/inet_ntoa() 1999-05-07 16:19:27 +00:00
ws 5423093850 Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
1999-04-17 21:16:45 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
sakamoto e922c9cfec Use PowerPC-generic stuff and eliminate the powermac portion. 1998-06-09 04:27:53 +00:00
sakamoto 9c11ca3d51 Rename NetBSD/powerpc to NetBSD/ofppc.
New sys/arch/powerpc with PowerPC-generic stuff.
1998-05-28 07:56:42 +00:00
drochner bd9ed5a6fd STANDALONE->_STANDALONE (cpp definition)
closes PR kern/5481 (Erik Bertelsen <erik@q610.ebe.uni-c.dk>)
1998-05-22 12:56:35 +00:00
drochner e3d8e9c72b enable compatibility for old partition ID per default 1998-03-02 17:07:53 +00:00
drochner 3bb9e75863 Change MBR partition type for NetBSD to 0xa9, like the i386 port.
Provide compatibility via COMPAT_386BSD_MBRPART.
1998-03-02 16:18:17 +00:00
mycroft ab5aeaa789 Clean up #include paths.
Copy prom2boot() from kernel source.
rename _rtt() to OF_exit(), and add a _rtt() that calls it.
1998-02-22 07:42:30 +00:00
sakamoto 8c2e671594 Fix PR/4679:missing cast, from SUNAGAWA Keiki. 1998-01-27 05:46:59 +00:00
thorpej 3b4ad2b60e Copyright assigned to The NetBSD Foundation. 1997-10-05 18:15:51 +00:00
drochner bdb232d2b6 Don't use <lib/libsa/if_ether.h> anymore. This was a copy of the
old (before ARP changes) <netinet/if_ether.h>, intended for
temporary use.
1997-07-22 17:41:01 +00:00
mycroft df082e3c8d A handle of 0 means the open failed... 1997-04-28 18:46:15 +00:00
mycroft 37cb09ba66 DTRT if OF_read() returns 0 when no data is available. 1997-04-28 18:33:57 +00:00
thorpej a53aafbf1a ...and again. 1997-04-19 01:40:08 +00:00
thorpej 28d3c2e2d3 Replay history.... 1997-04-19 01:39:44 +00:00