summaryrefslogtreecommitdiffstats
path: root/sys/boot/i386/gptboot/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Add -mno-sse3 for prescott/noconaache2005-07-151-1/+1
|
* Ensure GCC does not use FP registers in integer code.obrien2005-03-151-0/+1
| | | | | | I think all we really need is -fno-sse2. I really don't like cluttering up the compiler invocation, but this bigger hammer will fix reported problems for now.
* B1FLAGS -> BOOT_BOOT1_FLAGS, which is consistent withyar2004-08-271-2/+2
| | | | naming of other boot-related make vars.
* Compile boot2 with -fno-unit-at-a-time. GCCs aggressive optimizationkan2004-07-301-1/+3
| | | | breaks boot in spectacular ways otherwise.
* Re-add sio.S, and properly deal with assembler files.ru2004-02-171-9/+4
| | | | Repocopied by: joe
* - Factor out -nostdlib to an upper level Makefile.inc.ru2004-02-091-1/+1
| | | | | | | | | | | - Now that bsd.prog.mk deals with programs linked with -nostdlib better, and has a notion of an "internal" program, use PROG where possible. This has a good impact on the contents of .depend files and causes programs to be linked with cc(1). XXX: boot2 couldn't be converted as it's actually two programs. Tested on: i386, amd64
* Argh, unbreak "make depend" for AMD64.ru2004-02-071-1/+1
| | | | Reported by: kris
* - Removed -elf which is not a valid gcc(1) option anymore.ru2004-02-071-1/+1
| | | | - Removed -ffreestanding; it's enforced by ../Makefile.inc.
* Generate .depend file.ru2004-02-071-0/+2
|
* Untangle building of AMD64 boot code.ru2004-02-071-4/+2
| | | | Tested on: amd64 (sledge)
* First round of cleanups to sys/boot/ makefiles:ru2004-02-061-60/+43
| | | | | | | | | | | | - do not use PROG for what's not a real C program, - use sys.mk transformation rules where possible, - only create the "machine" symlink on AMD64, - removed MAINTAINER lines in individual makefiles, - added the LIBSTAND defitinion to <bsd.libnames.mk>, - somewhat better contents in .depend files. Tested on: i386, amd64 Prodded by: bde
* Inherit BINDIR from a parent Makefile.inc.ru2004-02-061-1/+0
|
* Build on amd64. Yes, I know this isn't particularly nice.peter2003-06-261-0/+12
|
* Fixed CLEANFILES.ru2003-02-251-1/+1
| | | | Submitted by: cron
* Build a file "boot" which consists of boot1 and boot2 concatenated.phk2003-01-261-1/+6
| | | | | There is little if any reason to treat the two components separately and it will simplify disklabel(8) and libdisk if we didn't.
* -mno-align-long-strings can make things smaller, so lets use it in hopesobrien2002-12-211-0/+1
| | | | that it does here.
* I didn't intend to delete this rm from the Makefile. It snuck in atimp2002-12-181-0/+1
| | | | | | | | | the last second before the commit. # likely we can remove this hack now that gcc generates better aligned code # in the align to word case. Noticed by: bde
* Make both UFS1 and UFS2 fit on the same boot blocks. These are aimp2002-12-171-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | subset of Peter's patchs that are believed to be safe. Makefile tweaks: o -fomit-frame-pointer o Change default to building both UFS1 and UFS2 bootblocks. Lots of boot2 tweaks: o lookup is only ever called with kname, so use it directly. o inline memsize o getstr are only ever called with cmd, so hardware that. o tweaks to the parsing code to test after the conversion rather than before since we tested after anyways. o eliminate support for %x in printf. o eliminate a few bytes in printfs. o Tweak the boot banner. o eliminate support for wd and " " devices (I might add wd back to keep bde happy). o eliminate support for a few arguments. This takes us from -162 bytes free to 67 bytes free. I've tested this only on a few systems, so be careful when updating to this change. Submitted by: peter, imp, ian
* Employ the unused bytes after the disklabel in the second sector. This makesphk2002-12-141-15/+6
| | | | | | | | | | it possible to make UFS1_ONLY and UFS2_ONLY versions which fit inside the traditional 16 sectors. Remove assorted now unneeded hackery. UFS1_AND_UFS2 still needs another 150 bytes to work, and that is probably not within our reach, ever.
* Revert MEM_USR back to 0xa000 for BTX clients. Instead, adjust boot2jhb2002-10-081-1/+1
| | | | | | | to run at 0xc000 by changing its virtual start address from 0x1000 to 0x2000. Tested by: phk
* Now that ufsread.c doesn't do 64bit divide remainder operations,phk2002-10-081-15/+2
| | | | | | don't bother with libkern. Sponsored by: DARPA & NAI Labs.
* Reinstate rev 1.36 with an important line that got missed. Note thisgreen2002-10-081-2/+5
| | | | | also improves the "random undocumented offsets into various memory spaces" a little bit.
* Unbreak boot2 by backing out rev 1.36 to Makefile, which does notphk2002-10-081-3/+1
| | | | | | | | | | | | | | | | | | work as advertised: bang# pwd /bang/src/sys/boot/i386/boot2 bang# make clean >& /dev/null bang# cvs -q update -r 1.35 Makefile >& /dev/null bang# make >& /dev/null bang# cat /usr/obj/`pwd`/boot2.h #define XREADORG 0x725 bang# cvs -q update -r 1.36 Makefile > & /dev/null bang# make clean > & /dev/null bang# make > & /dev/null bang# cat /usr/obj/`pwd`/boot2.h #define XREADORG 0x25 bang#
* Correct a bug in adding 0x700 to a number.green2002-10-071-1/+3
|
* Conditionalize the number of sectors loaded by boot1.s on UFS1/UFS12.phk2002-10-071-3/+30
| | | | | | | | Conditionalize the "XX bytes left" checks reference on UFS1/UFS12. Conditionally build the necessary 64bit math for boot2 if UFS12. Sponsored by: DARPA & NAI Labs.
* Change the comment character from # to // in boot1.s and runphk2002-10-071-1/+2
| | | | | | it through CPP so we can conditionalized things. Sponsored by: DARPA & NAI Labs
* Move the definition of UFS1_ONLY into the Makefiles where it belongs.phk2002-10-071-0/+2
| | | | Sponsored by: DARPA & NAI Labs.
* Drop support for COPY, -c has been the default mode of install(1)ru2002-07-291-2/+2
| | | | | | for a long time now. Approved by: bde
* Revert the part of Kirks UFS2 commit which added divdi3.c and moddi3.cphk2002-06-211-1/+1
| | | | to libi386, this issue was resolved already in a cleaner way.
* This commit adds basic support for the UFS2 filesystem. The UFS2mckusick2002-06-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | filesystem expands the inode to 256 bytes to make space for 64-bit block pointers. It also adds a file-creation time field, an ability to use jumbo blocks per inode to allow extent like pointer density, and space for extended attributes (up to twice the filesystem block size worth of attributes, e.g., on a 16K filesystem, there is space for 32K of attributes). UFS2 fully supports and runs existing UFS1 filesystems. New filesystems built using newfs can be built in either UFS1 or UFS2 format using the -O option. In this commit UFS1 is the default format, so if you want to build UFS2 format filesystems, you must specify -O 2. This default will be changed to UFS2 when UFS2 proves itself to be stable. In this commit the boot code for reading UFS2 filesystems is not compiled (see /sys/boot/common/ufsread.c) as there is insufficient space in the boot block. Once the size of the boot block is increased, this code can be defined. Things to note: the definition of SBSIZE has changed to SBLOCKSIZE. The header file <ufs/ufs/dinode.h> must be included before <ufs/ffs/fs.h> so as to get the definitions of ufs2_daddr_t and ufs_lbn_t. Still TODO: Verify that the first level bootstraps work for all the architectures. Convert the utility ffsinfo to understand UFS2 and test growfs. Add support for the extended attribute storage. Update soft updates to ensure integrity of extended attribute storage. Switch the current extended attribute interfaces to use the extended attribute storage. Add the extent like functionality (framework is there, but is currently never used). Sponsored by: DARPA & NAI Labs. Reviewed by: Poul-Henning Kamp <phk@freebsd.org>
* Add explicit dependency on ufsread.cphk2002-06-051-1/+1
|
* Preparation for UFS2 commit:phk2002-06-051-0/+1
| | | | | | | Factor the ufs reading code out of the i386/boot2 loader so it can be reused by for instance sparc64. Sponsored by: DARPA and NAI Labs.
* Align CLEANFILES with revision 1.25 changes.ru2002-05-131-1/+1
|
* Saved 176 bytes by compiling with -fno-guess-branch-probability. Thebde2002-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | default of -fguess-branch-probablility causes time optimizations (?) like rewriting `if (foo) x++;' as `if (!foo) goto forth; back: ; ...; forth: x++; goto back;". This is pessimizes space especially well on i386's because one short branch gets converted to 2 long ones. Removed -fno-align-foo since it is implied by -Os. Previous commit messages seem to have overstated the new alignment bugs in gcc. The only case that affects boot2 is that -fno-align-functions (or equivalently -falign-functions=1) actually gives -falign-functions=2. This is caused by FUNCTION_BOUNDARY being 2 (bytes) instead of 1. The default case where the optimization level is 1 and no alignment options are given is more broken. All alignments are minimal, modulo the bug in FUNCTION_BOUNDARY. This is caused by toplev.c setting defaults too early. Some hacks in previous commits ar not needed now, but may as well be kept until gcc is fixed. The previous on in the Makefile saved 96 bytes of text due to the wrong FUNCTION_BOUNDARY and 32 bytes of data due to unrelated bloat in the alignment of large objects. There aren't even any options to control alignment of data.
* Use a crowbar and duct-tape to make boot2 fit again. This gets it downpeter2002-05-111-0/+6
| | | | | | | | to 4 bytes free. I removed a printf (the Keyboard yes/no) since it is of marginal value and sed'ed the generated asm output to remove the unwanted aligns. There's probably a better way to gain a few extra bytes than losing the printf. Shortening strings is probably a better option but this should get us over the hurdle.
* - Axe -mpreferred-stack-boundary=2 as -Os turns this on by default.jhb2002-05-101-2/+2
| | | | | | | | | | | | | | - Axe -fdata-sections as turning it on or off makes no difference. If it did make a difference it would serve to bloat boot2 even further with extra padding. - Axe -fforce-addr. This gets us 32 bytes so we are down to only being 64-bytes over. We still can't compile this with gcc 3.1. The problem seems to be that the -fno-align-foo options don't actually work. Comparing the new and old output it turns out that gcc is 4-byte padding all the functions and labels and what not despite the passed in arguments thus adding the unfortunate bloat to boot2.
* -ffreestanding is the word for /sys.obrien2002-05-101-4/+4
|
* Add in a hack to support IBM "El Torito" CD-ROM booting BIOS's which expectjhb2001-07-311-1/+10
| | | | | | | | | | | | | the first sector of the emulated floppy to contain a valid MS-DOS BPB that it can modify. Since boot1 is the first sector of boot.flp, this resulted in the BIOS overwriting part of boot1: specifically the function used to read in sectors from the disk. Submitted by: Mark Peek <mark@whistle.com> Submitted by: Doug Ambrisko <ambrisko@ambrisko.com> PR: i386/26382 Obtained from: NetBSD, OpenBSD (the example BPB) MFC after: 1 month
* Unset MAINTAINER.rnordier2001-07-211-2/+0
|
* Set MAINTAINER.rnordier2000-10-021-0/+2
|
* Add in support for EDD to support large disks via LBA. This uses ajhb2000-06-261-1/+1
| | | | | method similar to that of the loader to avoid potentially breaking older drives in that we only use EDD if the desired cylinder is > 1023.
* Clean up all of the 16-bit assembly code in the x86 bootstrap to workjhb2000-05-231-9/+6
| | | | | | | | with the new binutils. Now that we have a decent assembler, all the old m4 macros are no longer needed. Instead, straight assembly can be used since as(1) now understands 16-bit addressing, branches, etc. Also, several bugs have been fixed in as(1), allowing boot0.s to be further cleaned up.
* Add a missing dependency: boot2 depends on the BTX kernel.jhb2000-04-111-1/+1
|
* Add -fdata-sections, which is a new GCC 2.95 optimization. Removeobrien1999-11-151-1/+2
| | | | | | | | | | -fschedule-insns as it wasn't such a big win with 2.95 after all. Add the *BIG* win "-mpreferred-stack-boundary=2" optimiztion submitted by Dima. GCC 2.95 ensures the stack frame is always properly [opitimally] aligned by surrounding every function call by code simular to "addl $-12, %esp" / "addl $12, %esp". Here we need the reduction in space, with speed not an issue.
* Turn on the -fforce-addr and -fschedule-insns optimizations. Addingobrien1999-11-131-2/+3
| | | | | | either one gives us an additional 32 bytes of additional space available when using EGCS 1.1.2. With GCC 2.95.2 -fforce-addr gives us 12 more bytes, and adding -fschedule-insns gives us an additional 4 bytes.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Reintroduce LBA (cyl > 1023) support in the bootblocks, enabled byrnordier1999-07-201-2/+5
| | | | means of a build option.
* Optimize better for space.rnordier1999-04-051-2/+2
| | | | Thanks to: jdp
* Use etc/make.conf settings for serial port and speed.rnordier1999-01-101-5/+6
| | | | | Submitted by: rvb Reviewed by: bde
* boot1: Eliminate EDD detection and optional use of disk packetrnordier1998-11-081-3/+2
| | | | | | | | interface. Do some general consistency fixes and space optimizations. Use of some freed-up space to defend against possible BIOS misfeatures. boot2: Revise disk read interface to provide for boot1 changes. Free up space for this.
OpenPOWER on IntegriCloud