summaryrefslogtreecommitdiffstats
path: root/sys/boot
Commit message (Collapse)AuthorAgeFilesLines
* Disconnect non-MPSAFE CODAFS from the build in preparation for droppingattilio2012-10-161-1/+0
| | | | | | GIANT from VFS. This is not targeted for MFC.
* Disconnect non-MPSAFE XFS from the build in preparation for droppingattilio2012-10-161-1/+0
| | | | | | GIANT from VFS. This is not targeted for MFC.
* Disconnect non-MPSAFE PORTALFS from the build in preparation for droppingattilio2012-10-161-1/+0
| | | | | | GIANT from VFS. This is not targeted for MFC.
* Since the introduction of the new advanced boot menu (r222417), options likedteske2012-10-143-0/+113
| | | | | | | | | | | | | | | | | "boot verbose", "single user mode", "ACPI" and more are now stateful boolean menuitems rather than direct action-items. A short-coming in this new menu system is that when a user sets a non-default value in loader.conf(5), this non-default state is not reflected in the menu -- leading to confusion as to whether the option was taking effect or not. This patch adds dynamic menuitem constructors _and_ the necessary Forth callbacks to initialize these stateful menuitems -- causing the aforementioned menuitems to adhere to loader.conf(5) settings. PR: bin/172529 Approved by: adrian (co-mentor) MFC after: 21 days
* Fix a typo (s/prefix/suffix/) and comment.dteske2012-10-091-2/+2
| | | | | | | NOTE: This is in an unused portion of the menu framework. Reviewed by: eadler, adrian (co-mentor) Approved by: adrian (co-mentor)
* Fix an oversight that cyclic menu items actually are zero-based and candteske2012-10-091-4/+4
| | | | | | | accommodate 10 different states. Reviewed by: eadler, adrian (co-mentor) Approved by: adrian (co-mentor)
* Make the "Options:" separator-text configurable by setting $menu_optionstext.dteske2012-10-091-1/+6
| | | | | | Reviewed by: eadler, adrian (co-mentor) Approved by: adrian (co-mentor) MFC after: 3 days
* Add an echo to say we're "Booting..." when the overloaded "boot" Ficl word isdteske2012-10-083-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | executed to better differentiate between loader-specific errors and kernel- specific errors (if ever any of either). This type of functionality hasn't been required before the introduction of the advanced menu system (r222417). Adding this functionality will help different- iate errors at the loader-level such as a BTX halt caused by heap exhaustion and errors that may be involved with executing the kernel (wrong architecture for example). A user can learn that messages before "Booting..." are related to the loader(8) environment and it's Forth-ilk, while those after are not related to loader(8) -- the point that loader(8) has ``left the building''. This patch also includes a man-page update to color.4th(8) as the color logic moves to a lower-level (from being included by beastie.4th to being included by loader.4th). After noticing a delay between execution of the overloaded "boot" FICL word and the display of text on-screen, gcooper confirmed that the introduction of a builtin memory test (disabled by adding hw.memtest.tests="0" to loader.conf(5)) was the cause of the delay. This patch adds an echo to produce "Booting..." when the overloaded "boot" word is executed (this includes from the interactive command-prompt on all arches, from the menu system on arches that run the beastie menu, and even those arches that run the menu but disable it by setting beastie_disable="YES" in loader.conf(5)). When loader_color="YES" in loader.conf(5), the same message is produced but in white text on a blue background (only the letters produced have this background -- opposed to perhaps the entire line).
* Comment and Copyright fixes/updates.dteske2012-10-072-14/+6
| | | | | Reviewed by: adrian (co-mentor) Approved by: adrian (co-mentor)
* add detection of serial console presence to btx and boot2-like blocksavg2012-10-066-20/+35
| | | | | | | | Note that this commit slightly increases size of boot blocks. Reviewed by: jhb Tested by: Olivier Cochard-Labbe <olivier@cochard.me> MFC after: 26 days
* i386 comconsole: don't loop forever if hardware doesn't respondavg2012-10-061-14/+22
| | | | | | | | | | | - clear capability flags when hw timeouts - retire comc_started status variable and directly use c_flags to see if comconsole is selected for use Reviewed by: jhb Tested by: Uffe Jakobsen <uffe@uffe.org>, Olivier Cochard-Labbe <olivier@cochard.me> MFC after: 26 days
* boot/console: handle consoles that fail to probeavg2012-10-062-10/+17
| | | | | | | | | | | | | | - clarify meaning of console flags - perform i/o via a console only if both of the following conditions are met: o console is active (selected by user or config) o console flags that it can perform the operation - warn if a chosen console can not work (the warning may go nowhere without working and active console, though) Reviewed by: jhb Tested by: Uffe Jakobsen <uffe@uffe.org>, Olivier Cochard-Labbe' <olivier@cochard.me> MFC after: 26 days
* zfsboot: simplify probe_drive() a little bitavg2012-10-061-27/+13
| | | | | | | | | | | The first discovered pool, whether it covers the whole boot disk or not, is going to be first in zfs_pools list. So there is no need at all for spapp parameter. This commit also fixes a bug where NULL would be assigned to NULL pointer when probe_drive was called with the spapp parameter of NULL. MFC after: 21 days
* zfs boot: export boot/primary pool and vdev guid all the way to kenvavg2012-10-064-2/+50
| | | | | | | This is work in progress to for znextboot and it also provides some convenient infrastructure. MFC after: 20 days
* zfs loader: treat plain pool name as a name of its root datasetavg2012-10-061-14/+10
| | | | | | | ... as opposed to the previous behavior of treating it as boot dataset (specified by bootfs or default) MFC after: 19 days
* zfs boot spa_status: print bootfs for each reported poolavg2012-10-061-0/+11
| | | | MFC after: 9 days
* boot/zfs: a small whitespace cleanupavg2012-10-061-2/+2
| | | | MFC after: 5 days
* boot/zfs: call zfs_spa_init for all found poolsavg2012-10-062-16/+22
| | | | | | | ... and drop those for which it fails. Also, add more sanity checking to the function. MFC after: 16 days
* zfsboot: use the same zfs dataset naming format as loaderavg2012-10-061-32/+53
| | | | | | | Also, pool name alone now names a root dataset of the pool regardless of bootfs property value. MFC after: 15 days
* zfs boot: add lszfs command to i386 loaderavg2012-10-061-0/+23
| | | | | | | ... to list child datasets of a specified dataset. Dataset name should be provided in poolname/dsname format. MFC after: 17 days
* zfs boot: add code for listing child datasets of a given datasetavg2012-10-063-4/+68
| | | | | | | | | - only filesystem datasets are supported - children names are printed to stdout To do: allow to iterate over the list and fetch names programatically MFC after: 17 days
* zfs boot: chose a "first" pool if none is explicitly requestedavg2012-10-061-2/+8
| | | | MFC after: 8 days
* Replace all references to loader_callbacks_v1 with loader_callbacks.ae2012-10-034-6/+6
| | | | Suggested by: grehan@
* Fix the style.ae2012-09-301-4/+4
|
* Remember the file format of the last loaded module and try to use it forae2012-09-301-2/+9
| | | | next files.
* Reduce the number of attempts to detect proper kld format for the amd64ae2012-09-302-0/+7
| | | | loader.
* Fix disk_cleanup() to work without DISK_DEBUG too.ae2012-09-301-1/+3
|
* Almost each time when loader opens a file, this leads to callingae2012-09-295-35/+190
| | | | | | | | | | | | | | | | | | disk_open(). Very often this is called several times for one file. This leads to reading partition table metadata for each call. To reduce the number of disk I/O we have a simple block cache, but it is very dumb and more than half of I/O operations related to reading metadata, misses this cache. Introduce new cache layer to resolve this problem. It is independent and doesn't need initialization like bcache, and will work by default for all loaders which use the new DISK API. A successful disk_open() call to each new disk or partition produces new entry in the cache. Even more, when disk was already open, now opening of any nested partitions does not require reading top level partition table. So, if without this cache, partition table metadata was read around 20-50 times during boot, now it reads only once. This affects the booting from GPT and MBR from the UFS.
* Disable splitfs support, since we aren't support floppies for a longae2012-09-291-0/+2
| | | | | time. This slightly reduces an overhead, when loader tries to open file that doesn't exist.
* Make the loader a bit smarter, when it tries to open disk and the sliceae2012-09-281-9/+11
| | | | | | number is not exactly specified. When the disk has MBR, also try to read BSD label after ptable_getpart() call. When the disk has GPT, also set d_partition to 255. Mostly, this is how it worked before.
* MFi386: revision 240637nyan2012-09-231-20/+6
| | | | loader/i386: replace ugly inb/outb re-implementations with cpufunc.h
* Cosmetic changes.nyan2012-09-231-6/+6
|
* Implement elfN(reloc) for powerpc. With this change the kernel is now able toandreast2012-09-211-0/+25
| | | | | | | resolve dependencies of modules at boot time and load additional modules when needed. MFC after: 1 week
* Fix panics on attempt to dereference uninitizlized pointer, returned viamav2012-09-181-1/+1
| | | | | | | 'path' argument of ofw_parsedev() if devspec refers raw device with no path. For example, `ls /pci@1f,0/ide@d/disk@0,0:a/` works fine, while `ls /pci@1f,0/ide@d/disk@0,0:a` panicked before this change.
* loader/i386: replace ugly inb/outb re-implementations with cpufunc.havg2012-09-181-18/+4
| | | | | | | | Use of __builtin_constant_p in a function that is only called via a pointer is a good example of how out-of-date it was. Suggested by: bde MFC after: 1 week
* Add the Tegra2 DTS files. Now our dtc supports including other files useandrew2012-09-172-0/+132
| | | | this support to pull out the SoC specific parts of the dts file.
* Add support for MSI in interrupt controlller.gber2012-09-141-1/+1
| | | | | | | | MSI are implemented via software interrupt. PCIe cards will write into software interrupt register which will cause inbound shared interrupt which will be interpreted as a MSI. Obtained from: Marvell, Semihalf
* Add support for Armada XP A0.gber2012-09-141-15/+15
| | | | | | | | | | - Add functions to calculate clocks instead using hardcoded values - Update reset and timers functions - Update number of interrupts - Change name of platform from db88f78100 to db78460 - Correct DRAM size and PCI IRQ routing in dts file. Obtained from: Semihalf
* The MBR data is not necessarily aligned. This is a problem on ARM.kientzle2012-09-141-2/+2
|
* Make pxe device in lsdev really include device name, looking like this:mav2012-09-122-20/+4
| | | | | | pxe0: 192.168.3.1:/storage/nfsroot/amd64 , instead of confusing and less useful: 192.168.3.1:pxeboot
* zfs boot: add a size check for a value in fzap_lookupavg2012-09-111-0/+2
| | | | MFC after: 25 days
* zfs boot: print only an attribute name in fzap_listavg2012-09-111-1/+2
| | | | | | ... this matches mzap_list behavior MFC after: 12 days
* zfs boot: fix/replace fzap_rlookup implementationavg2012-09-111-47/+20
| | | | | | | | | The previous one was totally bogus as it used hash value of _output_ variable as an index for searching... The only reliable way to do a reverse lookup here is to iterate over all entries. MFC after: 15 days
* zfs boot: bring zap_leaf_chunk field names in sync with kernel codeavg2012-09-112-4/+4
| | | | | | This change is cosmetic. MFC after: 10 days
* boot: file_loadraw should strdup name argumentavg2012-09-111-1/+1
| | | | | | ... the same way it's done for type argument. MFC after: 2 weeks
* a bit of trailing whitespace cleanupavg2012-09-111-7/+7
| | | | MFC after: 1 week
* Slightly reduce an overhead for the open() call in the zfsloader.ae2012-09-112-6/+6
| | | | | | libstand(3) tries to detect file system in the predefined order, but zfsloader usually is used for the booting from ZFS, and there is no need to try detect several file system types for each open() call.
* Handle LOADER_NO_DISK_SUPPORT knob in the arm and powerpc ubldr.ae2012-09-092-0/+8
|
* Update according to the change of struct uboot_devdesc.ae2012-09-091-1/+1
|
* Build disk.c only when DISK_SUPPORT is enabled.ae2012-09-091-1/+6
|
OpenPOWER on IntegriCloud