summaryrefslogtreecommitdiffstats
path: root/sys/boot
Commit message (Collapse)AuthorAgeFilesLines
* Enable cd9660 support by default.jake2002-06-211-1/+1
|
* Enable UFS1_AND_UFS2 support for sparc64 by default. Booting from ufs1 orjake2002-06-211-0/+2
| | | | ufs2 filesystems seems to work fine.
* Revert the part of Kirks UFS2 commit which added divdi3.c and moddi3.cphk2002-06-215-11/+8
| | | | to libi386, this issue was resolved already in a cleaner way.
* This commit adds basic support for the UFS2 filesystem. The UFS2mckusick2002-06-218-139/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 boot_serial and boot_multicons variables to set RB_SERIAL andpeter2002-06-208-0/+16
| | | | | RB_MULTIPLE since this seems to be the easiest way to add these flags for non-forth loaders etc.
* #include <sys/disklabel.h> to get BBSIZE.phk2002-06-111-0/+1
|
* Make the alpha architecture use the common ufsread().phk2002-06-113-279/+44
| | | | Submitted by: ticso
* Uncomment some bits that we now need.benno2002-06-072-12/+12
|
* Fix up the DMA buffer allocation call.benno2002-06-071-1/+2
|
* Add explicit dependency on ufsread.cphk2002-06-053-2/+4
|
* Remove UFS related #includes, they're read in ufsread.c now.phk2002-06-051-3/+0
|
* Make sparc64 share ufsread.c with i386.phk2002-06-053-130/+22
| | | | Sponsored by: DARPA & NAI Labs.
* Avoid entering IOCCC with a memcpy turned bcopy.phk2002-06-051-4/+4
|
* Indent this file more like style(9).phk2002-06-051-108/+108
| | | | Sponsored by: DARPA & NAI Labs.
* Preparation for UFS2 commit:phk2002-06-055-322/+191
| | | | | | | 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.
* Fix a handful of typos and grammar bogons. No content changes.schweikh2002-05-301-9/+9
| | | | | | Translators can ignore this commit. MFC after: 2 weeks
* Fix a handful of typos and grammar bogons. No content changes.schweikh2002-05-291-8/+8
| | | | | | Translators can ignore this commit. MFC after: 2 weeks
* Add needed include of queue.h. Remove unneeded include of smp.h.jake2002-05-291-1/+1
|
* Use a contrived 'tlb_entry' structure for passing the mappings for thejake2002-05-293-18/+18
| | | | | kernel text and data from the loader to the kernel, so that the tte format is not part of the loader->kernel ABI.
* Sync with i386. The loader was being installed before the beforeinstalljake2002-05-281-26/+39
| | | | target, which conventiently moved it to loader.old, leaving no loader.
* Cosmetic change (align with other boot blocks):n_hibma2002-05-262-5/+5
| | | | | | CONSPEED -> COMSPEED Approved by: nyan
* Add support for reading an additional loader configuration file. By default,gordon2002-05-243-1/+70
| | | | | | | | | | | | | | | this is called /boot/nextboot.conf. This file is required to have it's first line be nextboot_enable="YES" for it to be read. Also, this file is rewritten by the loader to nextboot_enable="NO"<space> after it is read. This makes it so the file is read exactly once. Finally, the nextboot.conf is removed shortly after the filesystems are mounted r/w. Caution should be taken as you can shoot yourself in the foot. This is only the loader piece. There will be a tool called nextboot(8) that will manage the nextboot.conf file for you. It is coming shortly. Reviewed by: dcs Approved by: jake (mentor)
* Fixed to conflict labels.nyan2002-05-211-3/+3
| | | | Submitted by: Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
* MFi386: revision 1.22nyan2002-05-211-9/+8
|
* MD ficl files for sparc64.jake2002-05-192-0/+513
|
* o Remove namespace pollution from param.h:marcel2002-05-198-0/+12
| | | | | | | | | | | - Don't include ia64_cpu.h and cpu.h - Guard definitions by _NO_NAMESPACE_POLLUTION - Move definition of KERNBASE to vmparam.h o Move definitions of IA64_RR_{BASE|MASK} to vmparam.h o Move definitions of IA64_PHYS_TO_RR{6|7} to vmparam.h o While here, remove some left-over Alpha references.
* An almost mechanical sweep to replace C++ style comments with Cmarcel2002-05-1916-614/+485
| | | | | style comments. This is not an attempt to conform to style(9). Such has lower priority.
* Fix one of the va_arg() with less than int sized type probelms.phk2002-05-181-1/+1
|
* More s/file system/filesystem/gtrhodes2002-05-166-7/+7
|
* DEV_BSIZE lives in sys/param.h and not in machine/param.h anymore.jhay2002-05-151-1/+1
|
* Even more BBSIZE related breakage.ru2002-05-141-0/+1
|
* Fixed to build for GCC 3.1nyan2002-05-146-17/+16
|
* Add -ffreestanding to CFLAGS.nyan2002-05-141-1/+1
|
* Align CLEANFILES with revision 1.25 changes.ru2002-05-132-2/+2
|
* Fixed CLEANFILES after bsd.lib.mk sweep.ru2002-05-132-2/+2
|
* Removed now unused INTERNALSTATICLIB.ru2002-05-136-17/+0
| | | | | INTERNALLIB now implies NOPIC and NOPROFILE. Removed gratuitous NOMAN.
* Major cleanup of bsd.lib.mk.ru2002-05-134-16/+0
| | | | | | | Get rid of the INTERNALSTATICLIB knob and just use plain INTERNALLIB. INTERNALLIB now means to build static library only and don't install anything. Added a NOINSTALLLIB knob for libpam/modules. To not build any library at all, just do not set LIB.
* Match the default newfs UFS block size.obrien2002-05-131-1/+1
|
* Saved 176 bytes by compiling with -fno-guess-branch-probability. Thebde2002-05-122-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Back out last commit. I expect our bsd.*.mk gods to remove the need forobrien2002-05-1210-0/+27
| | | | | defining so many extra things in addition to INTERNALLIB. We don't like repetitive C code and we shouldn't for make code either.
* Attempt to not crash and burn on UltraSPARC III machines; the cpuid propertyjake2002-05-111-1/+2
| | | | is named differently.
* Save about 60 bytes by #define memcpy __builtin_memcpy and removingpeter2002-05-112-26/+6
| | | | | the function we provided. Restore the Keyboard: yes/no printf for the probe diagnostics. We end up with 40 bytes free.
* Reconnect boot2. I'm sure I'll regret this though. :-)peter2002-05-111-1/+1
|
* Use a crowbar and duct-tape to make boot2 fit again. This gets it downpeter2002-05-114-2/+14
| | | | | | | | 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.
* Change the disk probing so that it will actually find disks otherjake2002-05-113-42/+136
| | | | | | | | | | | | | | | | | than the first one on a controller, and work for secondary controllers. Due to the prom not having nodes for each disk, but a catch-all one, we have to iterate over each device, trying to open it to determine whether it is actually present. Since probing this way takese some time (and spews some spurious warnings), it should maybe be short-circuited if we use the device we were booted from. Implement lazy device probing, and correct slice/partiniton handling in the ofwd_open() code. With this, I can now actually boot a kernel from disk, and the loader does not create unnecessary delays. Submitted by: tmm
* NOPIC, NOPROFILE, NOMAN, and INTERNALSTATICLIB are redundant when usingobrien2002-05-1110-27/+0
| | | | INTERNALLIB now.
* -ffreestanding is the word.obrien2002-05-1022-21/+29
| | | | | (also resort some CFLAGS such that the more "important" value are first so they are easier to see)
* - Axe -mpreferred-stack-boundary=2 as -Os turns this on by default.jhb2002-05-102-4/+4
| | | | | | | | | | | | | | - 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.
* We don't need bootinfo any more, and sparc64 doesn't have it anyways.obrien2002-05-101-1/+0
|
* Don't be redundant.obrien2002-05-101-1/+1
|
OpenPOWER on IntegriCloud