Commit Graph

117 Commits

Author SHA1 Message Date
jmc
84fafa3db5 Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
2004-06-21 18:20:08 +00:00
schmonz
5f5633de40 Support userconf(4) ("boot -c"). Reviewed by Bill Studenmund. 2004-05-31 03:22:45 +00:00
matt
a9903fcc11 When linking, use ${_MKTARGET_LINK} so that MAKEVERBOSE=1 looks right. 2004-04-09 04:01:42 +00:00
wrstuden
58472c3385 Have Locore zero out the bss (which includes our stack) BEFORE
we start calling into C code. Previously we called memset() in our
C code. Unfortunately the compiler would sometimes store local variables
on the statck, which got killed by the memset(). Oops!
2004-03-17 23:32:22 +00:00
wrstuden
86948e4bf1 Bump version to help track down issues with kernel loading. 2004-03-17 20:41:17 +00:00
dyoung
4ccb1f5236 Add a 'tags' target to macppc. 2004-03-13 05:55:40 +00:00
wrstuden
74fec3bc40 Fix ofwboot to deal with larger kernels. Rather than loading at
0x6?0000, load at 0xe00000. This gives us room for around 13 MB of
kernel, as opposed to the current 5 MB (0x600000 - 0x100000).

No changes to load-base or real-base are needed due to this change,
though machines that needed specific OFW settings before (OF 1.x
and 2.x) this change still need those settings.

Partially revert revision 1.25 -> 1.26 of ofwboot/Makefile & friends.
We do not need to distinguish between where ofwboot and ofwboot.{elf,xcf}
load; they are both fine loading somewhere other than load-base.
2004-03-12 19:13:37 +00:00
aymeric
341f54debe revert previous. -fwritable-strings is not needed now that the ld script
does TRT.
2003-12-26 20:01:15 +00:00
aymeric
3c91265513 merge any section that starts in ".rodata." into the text section.
This matches sections generated by newer versions of gcc to handle the sharing
of constant strings.
2003-12-26 19:59:31 +00:00
aymeric
652090f272 ANSIfy and clean up prototypes.
This has been lying around in my tree for too long now.
2003-12-26 13:43:29 +00:00
aymeric
86b6db2f13 add -fwritable-strings to DBG, so that gcc doesn't generate a ".rodata" section.
I believe this fixes PR port-macppc/23206 and the "ofwboot.xcf issues" reported
on the lists since november.
2003-12-26 13:25:00 +00:00
matt
98c902b471 Convert fixcoff into a true host tool by making it under tools. 2003-12-11 00:27:42 +00:00
matt
cd3cb31917 Make sure to pick up nbcompat definitions 2003-12-10 23:45:25 +00:00
matt
b1865b274e Use be16toh/htobe16 instead of ntohs/htons. 2003-12-10 23:36:07 +00:00
matt
104c58abbf s/u_int16_t/uint16_t/ for more portability 2003-12-10 23:08:14 +00:00
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
421dd6cc28 Reorganize the way powerpc port install machine specific headers.
Use <powerpc/oea/bat.h> exclusively and remove <machine/bat.h> and
<powerpc/bat.h>.  Remove unneeded <machine/cpufunc.h>.  To insure
1:1 correspondence of <powerpc/FOO.h> to <machine/FOO.h> include
"../../powerpc/include/Makefile" in "arch/FOO/include/Makefile".
Incororpate <byte_swap.h> into <bswap.h> and then byte_swap.h
2003-10-20 00:12:09 +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
he
b372f2beaa Adapt to const-ification of first arg of open function in fs_ops. 2003-08-22 08:06:19 +00:00
aymeric
f0696ba4ba strategy() should really have an ANSI prototype. Otherwise its daddr_t
argument gets passed wrongly.
This should fix a bug reported by Martin J. Laubach on port-macppc, and
was fixed two weeks ago in NetBSD/ofppc.
2003-07-11 23:38:08 +00:00
lukem
cd46c56ae6 missing rcsid 2003-05-18 06:45:14 +00:00
thorpej
ecd9fdcc76 Oops, didn't mean to commit this. 2003-04-02 03:16:39 +00:00
thorpej
d470cda51b Use PAGE_SIZE rather than NBPG. 2003-04-02 02:56:40 +00:00
drochner
a15dcfdce7 Avoid conflict with sockets[] definition in net.h
and add some typecasts.
Thanks to Juergen Hannken-Illjes for compile-checking.
2003-03-13 14:05:53 +00:00
drochner
47fe380b4c make netif_close() return value void
fix prototype
2003-03-13 12:15:31 +00:00
drochner
e5cc00b939 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 11:35:54 +00:00
mrg
60b9080da3 don't depend on "../../../../../gnu/dist/toolchain/include/coff/rs6000.h". 2003-03-09 00:39:10 +00:00
matt
a391bf2e06 Make this play with gcc 3.3. Add -ffreestanding. Cleanup bootxx. 2003-02-28 05:24:56 +00:00
soren
e9d72b5b52 Make ALLOC_TRACE work again. 2003-02-17 08:21:39 +00:00
matt
a0ade92f9c Add -DPPC_OEA to CPPFLAGS 2003-02-03 23:35:39 +00:00
thorpej
2c75f5b061 No need to depend on userland libraries here. 2002-12-09 16:30:40 +00:00
matt
8b4993db5d Convert to register prefixes. Use ANSI string concatenation for
multiline asm strings.
2002-10-31 21:31:08 +00:00
wrstuden
0ce4a385a5 Should have done this sooner. Bump to version 1.7 to indicate good
alloc.c.
2002-10-18 21:22:40 +00:00
wrstuden
470e4ff3ac Remove vestiges of the syncicache() call originally in powerpc/ofwboot
before rev 1.4. This change makes OF 2.4 machines actually boot, and
it works fine on my OF 2.01 machine. No reports of failures on other
archs.

I expect this change is fine as the original code flushed the just-loaded
ofwboot out of the cache, conditionalized on FIRMWORKSBUGS. In rev.
1.4, the code got in-lined, and changed to actually flush low memory
out of the cache. Since machines kept booting, I expect the firmware
was really flushing the binary out of the cache, so we're fine.
2002-09-27 00:32:17 +00:00
wrstuden
4f7aaad83c Re-add own alloc(). Recent issues with kernels randomly dying on boot
are related to using libsa's alloc(). Problems go away with this alloc().

The problem is that the libsa alloc() assumes we can grab memory off
the end of the program. That assumption doesn't work for us. It's
much better to use the alloc() we were using as it calls OF_claim()
to get memory.
2002-09-20 03:20:24 +00:00
briggs
b3fa829f51 Get rs6000.h from gnu/dist/toolchain/include instead of gnu/dist/include. 2002-09-17 03:55:40 +00:00
itojun
73941c5096 avoid hardcoding MBR_MAGICOFF and MBR_MAGIC. 2002-06-18 00:37:25 +00:00
itojun
980d7c811b LABELSECTOR is redefined to be 0 on macppc, so it is not usable for MBR
disk label offset.  use hardcoded "1" for now, i guess we need a new #define
in sys/disklabel_mbr.h.  fixes ofwboot to boot kernel off from MBR-formatted
disk.
2002-06-17 23:59:01 +00:00
lukem
633e8d9515 minor cosmetic tweaks:
- put \r\n before OF_open message
- use  '0' + i % 10  instead of  'A' + i  to print the read block number
2002-05-18 04:24:22 +00:00
lukem
4fa13b2be7 nuke MD installboot, now that it doesn't understand the macppc
bootblocks anymore and /usr/sbin/installboot does
2002-05-18 04:06:12 +00:00
lukem
7f3c3f9b76 Fixes from Bill Studenmund and Allen Briggs:
- setup a 32KB (+32byte) stack, instead of 4KB stack
- cache flush: use _start instead of 0x4000, and flush 2k instead of 1k

Features (by me):
- implement:
	OF_write() (and grab "stdout" from "/chosen")
	putstrn(s,n) using OF_write(); write string s of n bytes long
	putstr(s); write fixed-sized string s
	putc(c); write char c
- add some useful messages which output the status of loading the
  stage 2 bootstrap (which is usually ofwboot)

This code now works on Bill's Beige G3!
2002-05-17 18:45:55 +00:00
wrstuden
1ada35e0f6 Adjust how we set up our stack. According to the ABI, we store the
return pc address at (r1). So don't initialize r1 to be outside our
stack area. Scooted it in 16 bytes to help alignment.
2002-05-16 18:02:47 +00:00
lukem
ee3c8d5e85 convert to using shared_bbinfo from <sys/bootblock.h>, and install as an
"${OBJCOPY} -O binary ..." program (rather than as ELF)
2002-05-15 13:55:38 +00:00
tsutsui
df16ac88cd Use "-Os -mmultiple". 2002-04-13 13:44:48 +00:00
tsutsui
c7a7330ca9 Add "cleanlibdir" target. 2002-04-13 13:35:23 +00:00
tsutsui
c58dce575b Set USE_LIBSA_MEMCPY and USE_LIBSA_MEMSET to save a few bytes. 2002-04-13 13:31:40 +00:00
tsutsui
8d79e86713 Add -b option to write the second-stage bootloader contiguously. (for ustarfs) 2002-03-30 07:19:30 +00:00
tsutsui
9e9f7b6c60 Bump version for ustarfs support. 2002-03-30 07:17:48 +00:00
tsutsui
4a12192a62 Enable SUPPORT_USTARFS and HAVE_CHANGEDISK_HOOK in CPPFLAGS. 2002-03-30 07:17:09 +00:00
tsutsui
5cb20a9896 Add changedisk_hook() for ustarfs. (from tsubai) 2002-03-30 07:15:51 +00:00