summaryrefslogtreecommitdiffstats
path: root/sys/boot
Commit message (Collapse)AuthorAgeFilesLines
* Use NDOSPART instead of NEXTDOSPART.nyan2003-01-211-2/+2
|
* MFi386: revision 1.63.nyan2003-01-211-10/+9
|
* Fix module dependency (pre)loading on sparc64 by relocating the variablesjake2003-01-211-6/+57
| | | | | | | | read from the raw kld files. Submitted by: Hartmut Brandt <brandt@fokus.gmd.de> PR: 46870 Tested on: alpha (obrien), i386, sparc64
* Use NEXTDOSPART instead of MAX_SLICES.phk2003-01-202-5/+4
|
* Simplify the Makefile by just using our standard PROG variable.obrien2003-01-181-9/+8
|
* Minimally document hw.syscons.sc_no_suspend_vtswitch.mdodd2003-01-151-0/+6
| | | | Requested by: Nate Lawson <nate@root.org>
* Save 4 more bytes by not initializing opts to 0. This moves it fromimp2003-01-142-2/+2
| | | | | | the data section to the bss section givig us initialization for free. Noticed by: bde
* Fix interactive booting:imp2003-01-132-4/+8
| | | | | | | | | | | | | o Revision 1.38 introduced the -n flag. It conflicted with the RB_BOOTINFO flag, so was in effect always on. Change the -n flag to be bit 0x1c instead of 0x1f. This also had the consequence that a mal-formed /boot.config would render the system unbootable because the user was unable to enter anything at all on the command line. o Remove the initialization of opt to be RB_BOOTINFO since we filter that bit out and do not otherwise use it. Reviewed by: jhb MFC after: 3 days
* Add SCSI MO device support.nyan2003-01-065-98/+156
| | | | Submitted by: Kawanobe Koh <kawanobe@st.rim.or.jp>
* Rename the dos_partition structure for pc98 to pc98_partition.nyan2003-01-042-8/+8
|
* RIP liloldr.obrien2002-12-314-364/+0
| | | | | | | It is not complete (the LILO root= specification isn't passed to our loader for instance), it has not been touched in over 2 years. Linux has moved on to GRUB, so this is OBE now. If someone creeps up to work on it, it could become a port.
* Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/schweikh2002-12-301-1/+1
| | | | Add FreeBSD Id tag where missing.
* -mno-align-long-strings can make things smaller, so lets use it in hopesobrien2002-12-212-0/+2
| | | | that it does here.
* Put back the casts to unsigned. While no strictly necessary for itsimp2002-12-202-2/+2
| | | | | | | current uses, the name strcmp has strong connotations that shouldn't lightly be discarded. This doesn't cost us anything. Submitted by: bde
* Fix breakage from earlier inadvertant changes.jake2002-12-201-4/+0
|
* Renamed the loader's zipfs to gzipfs. zipfs.c was repo-copied to gzipfs.c.jake2002-12-1910-10/+13
|
* Add command `hcdp'. This command dumps the DIG64 HCDP table if onemarcel2002-12-182-0/+150
| | | | exists.
* I didn't intend to delete this rm from the Makefile. It snuck in atimp2002-12-182-0/+2
| | | | | | | | | 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
* Reduce diffs with Peter's expanded diffs:imp2002-12-172-8/+8
| | | | | 1) Put back the keyboard printing printf, at the cost of 58 bytes. 2) Minor tweak to getstr at no apparent cost.
* Make both UFS1 and UFS2 fit on the same boot blocks. These are aimp2002-12-174-142/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove unneeded casts. Add others to make WARNS=5 happy.obrien2002-12-152-12/+12
|
* Employ the unused bytes after the disklabel in the second sector. This makesphk2002-12-144-48/+22
| | | | | | | | | | 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.
* Remove unnecessary call to fsread().phk2002-12-142-2/+0
|
* Restructure so we can compile UFS1_ONLY, UFS2_ONLY or UFS1_AND_UFS2phk2002-12-141-91/+33
| | | | versions from the same basic function.
* Always use the smaller GCC builtin memcpyphk2002-12-142-20/+0
|
* Remove unused variable.phk2002-12-142-2/+2
|
* Don't fill in the table with the BIOS idea about disk-geometry, we don'tphk2002-12-142-30/+0
| | | | use it. This saves a surprising number of bytes.
* Uniformly refer to a file system as "file system".ru2002-12-122-2/+2
| | | | Approved by: re
* Pass the HCDP table address to the kernel. If no such table exists,marcel2002-12-108-28/+33
| | | | | | | | | | | | | NULL is passed. The address of the HCDP table can be found by iterating over the configuration tables in the EFI system table. To avoid more duplication, a function can be called with the GUID of interest. The function will do the scanning. Use the function in all places where we iterate over the configuration tables in an attempt to find a specific one. Bump the loader version number as the result of this. Approved by: re (blanket)
* The exit() function has been moved to libefi.c to better deal withmarcel2002-12-101-39/+0
| | | | | | | cleaning up after ourselves. Approved by: re (blankoscheck) German corrections: Alexander (both :-)
* Change the startup code to fix a memory leak and to allow us tomarcel2002-12-105-41/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | accept load options (=command line options). The call graph changes from *entry*->efi_main->efi_init, where efi_main is the EFI equivalent of main to *entry*->efi_main->main, where main is what you'd expect. efi_main now is what efi_init was. The prototype of main follows that of C. The first argument is argc and the second is argv. There is no third argument. Allocation of heap pages is now handled by the EFI library and it now deallocates the pages when main() returns or when exit() is called. This allows us to safely return to the boot manager (or EFI shell) without leaks. EFI applications are responsible to free all memory themselves. Handling of the load options is a bit tricky. There are either no load options, load options in ASCII or load options in Unicode. The EFI library will translate the ASCII options to Unicode options as to simplify user code. Since the load options are passed as a single string (if present) and main() accepts argc and argv, the startup code also has to split the string into words and build the argv vector. Here the trickiness starts. When the loader is started from the EFI shell, argv[0] will automaticly load the program name. In all other cases (ie through the boot manager), this is not the case. Unfortunately, there's no trivial way to check. Hence, a set of conditions is checked to determine if we need to fill in argv[0] ourselves or not. This checking is not perfect. There are known cases where it fails to do the right thing. The logic works for most expected cases, though. This includes the case where no options are given. Approved by: re (blanket)
* o Make all GUID variables global to maximize reuse.marcel2002-12-102-42/+64
| | | | | | | o Recognize the HCDP configuration table. o Dump the GUID of tables we don't recognize. Approved by: re (carte blanche)
* Build EFI with -fshort-wchar so that L"some string" works with themarcel2002-12-101-1/+1
| | | | EFI has defined CHAR16.
* Remove _putchar, _puts and _puthex. These functions are unused.marcel2002-12-102-202/+4
| | | | Approved by: re (blanket)
* Add the GUID of the DIG64 HCDP table.marcel2002-12-081-0/+3
|
* The boot manager sets the watchdog timer to 5 minutes before invokingmarcel2002-12-082-12/+20
| | | | | | | | | | | | | | | | | | | a boot option. When the timer expires the machine is rebooted. Disable the watchdog timer for 2 reasons: o We're an interactive program. We cannot guarantee that we've booted the kernel in the time available to us. There have been situations where netbooting the right kernel took 2 tries and more time than given. Not to speak of the normal behaviour to have the loader sitting at the prompt while the user is off doing other things (such as figuring out what to type next ;-) o We may not boot a kernel at all. We may exit as the result of the user typing quit (assuming it took less than 5 minutes to type it :-). It is documented that loaders should have disabled the watchdog timer if they return to the boot manager. Not doing so would cause a reboot while in the boot manager. This appears to be harmless, besides of course the actual reboot. Approved by: re (weisse karte)
* In efi_cons_poll we check if a key is present (pending) by checkingmarcel2002-12-081-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | the signaled state of the apropriate event. As a side-effect of checking the event, it's signaled state is cleared if it was set. In efi_cons_getchar we used to wait for the apropriate event to be signaled before reading a character. This however does not work if we poll before reading the characteri, such as during autoboot. On a more compliant EFI implementation this resulted in the behaviour that hitting a key during autoboot would stop the countdown, but would then wait for a new character to arrive instead of reading the already pending key that stopped the countdown. The correct behaviour for efi_cons_getchar is to try to read a key and if none is pending, to wait for the apropriate event to signal the arrival of a new key. Note that with the previous behaviour, the second key would determine how the autoboot was interrupted. This would indicate that the first key got lost. This indicates that EFI does not necessarily maintain a queue of pending keys. FWIW... Approved by: re (carte blanche) French corrected by: various people :-)
* Fix a dumb bug that broke net booting on sparc64. The wrong length wasjake2002-12-021-1/+1
| | | | | | | | passed to strncmp. Noticed by: tmm Approved by: re Pointy hat to: jake
* Remove a left-over virtual mapping of uncached I/O port space.marcel2002-11-284-34/+6
| | | | | | | | | | | | | Previous kernels unwantingly depended on this mapping, but as of version 1.123 of src/sys/ia64/ia64/machdep.c this dependency has been removed. Consequently, one has to update the kernel before updating the loader. The documented/recommended upgrade will suffice in this case. Due to a visible (from the kernels point of view) change in behaviour, bump the loader version number from 0.3 to 1.0. Approved by: re (carte blanc)
* Enable UFS2 support in boot1. Just as with sparc64 the same boot1 worksjhb2002-11-271-1/+0
| | | | | | great with both UFS1 and UFS2 filesystems. Approved by: re
* Create a new 32-bit fs_flags word in the superblock. Add code to movemckusick2002-11-271-1/+1
| | | | | | | | | | | | | | | | | the old 8-bit fs_old_flags to the new location the first time that the filesystem is mounted by a new kernel. One of the unused flags in fs_old_flags is used to indicate that the flags have been moved. Leave the fs_old_flags word intact so that it will work properly if used on an old kernel. Change the fs_sblockloc superblock location field to be in units of bytes instead of in units of filesystem fragments. The old units did not work properly when the fragment size exceeeded the superblock size (8192). Update old fs_sblockloc values at the same time that the flags are moved. Suggested by: BOUWSMA Barry <freebsd-misuser@netscum.dyndns.dk> Sponsored by: DARPA & NAI Labs.
* Eliminate references to defunct kernel tunables.yar2002-11-263-24/+0
| | | | | Approved by: re PR: bin/43343
* MFp4:marcel2002-11-242-10/+48
| | | | | | | | | o Show the contents of the AP wakeup descriptor when dumping SAL information. o Increase S/N ratio when listing the itr and dtr. Only show valid mappings and give the total number of TRs. Approved by: re (blanket)
* The new "all sound drivers" driver name is snd_driver. Loader.conf didn'tdcs2002-11-221-1/+1
| | | | | | knew about it, though. Now it does. MFC after: 2 weeks
* Document loader tunables hw.pci.enable_io_modes andmdodd2002-11-132-0/+24
| | | | | | | hw.pci.allow_unsupported_io_range. Submitted by: Hiten Pandya <hiten@angelica.unixdaemons.com> Approved by: re (murray)
* Loader tunable 'machdep.disable_mtrrs'.mdodd2002-11-132-0/+6
| | | | | | | | Sysctl of same name to reflect status. Submitted by: jhb Approved by: re (murray) MFC after: 1 day
* Change the device path representation in libofw to use the full firmwarejake2002-11-1011-647/+93
| | | | | | | | | path, instead of an internal i386 specific one. Don't try to interpret a disklabel in ofw_disk.c, open the partition's device node directly and let the firmware do it. This fixes booting from a partition other than 'a' on sparc64, which is needed to support more installation methods. No objection: ppc
* Correctly recognize both bogus and genuine BSD disklabels.phk2002-11-031-1/+4
| | | | | | Don't expect me to participate in a discussion which is which. Sponsored by: DARPA & NAI Labs.
* Fix indentation of comments.mini2002-11-021-17/+17
|
* Add loader variables to control the loading of various networking modules.mini2002-11-021-0/+31
| | | | Submitted by: David Yeske <dyeske@yahoo.com>
OpenPOWER on IntegriCloud