summaryrefslogtreecommitdiffstats
path: root/sys/boot
Commit message (Collapse)AuthorAgeFilesLines
* MFi386: revision 1.7.nyan2002-04-151-1/+1
|
* Unbreak this as well.ru2002-04-121-1/+1
| | | | | | At the extra bonus of fixing the contents of the .depend file. Not really my day.
* Bandaid for a buffer overrun in the module searching code. When breakingpeter2002-04-111-0/+2
| | | | | | | | up the module_path string, we would walk one past the end of the buffer. This hurting ia64 originally, but it was probably also happening on i386 occasionally as well. The effects were usually harmless, it would add bogus "binary" search directories to the places it actually looked for files.
* Finally fix loader completely for IA64. efifs_stat() wasn't settingpeter2002-04-111-0/+2
| | | | | | the S_IFREG bit for regular files. This caused the path search code to skip it when it finally did find the kernel (after the common/module.c buffer overrun bug was fixed)
* Code cleanup, no functional change.pb2002-04-112-38/+66
| | | | | | | | Patch adapted from PR. PR: i386/36015 Submitted by: thomas@cuivre.fr.eu.org MFC after: 1 week
* Upgrade FICL to 3.02. Forgot this one, sorry.dcs2002-04-091-6/+7
| | | | | PR: 36308 Submitted by: dcs
* Upgrade to FICL version 3.02. Anything wrong is my fault, everything right isdcs2002-04-0927-1275/+3925
| | | | | | | | due Jon Mini. PR: 36308 Submitted by: Jon Mini <mini@haikugeek.com> MFC after: 4 weeks
* Fix another unsigned long used to index the symbol table which should bejake2002-04-091-1/+1
| | | | Elf_Hashelt.
* We must not let install(1) strip loader.efi when installing it, or thepeter2002-04-072-0/+2
| | | | resulting binary will be damaged and no longer work.
* Set BINDIRpeter2002-04-074-0/+4
|
* Add loader bootforth infrastructure and install it.peter2002-04-072-8/+40
|
* Make it a bit closer to the EFI build and tie up some loose ends.peter2002-04-064-25/+12
|
* Try and tidy up some very loose ends with paths to various libraries etc.peter2002-04-063-11/+30
|
* Do not add the ficl/alpha subdir to the ia64 include path. Try ficl/ia64peter2002-04-062-2/+2
| | | | instead.
* Do not assume that ${OBJCOPY} variable exists. It was hidden by thepeter2002-04-062-0/+2
| | | | fact that the 'ia64-make' wrapper explicitly set it.
* Use the correct elf hash table entry type. This matches a similar fixpeter2002-04-061-6/+6
| | | | | in the kernel side of things some time ago. The hash table entries are always 32 bits wide, even on 64 bit machines.
* Fix self hosted loader building. When you use a self configured gcc, itpeter2002-04-064-8/+8
| | | | | | | | | | | | | detects and uses the gas section merge support. As a result, a whole bunch of new sections arrive, including .rodata.str1.8, which was not included in our custom ldscript.ia64. The result was a loader binary that EFI rejected. While here, collect the loader shell commands linker set and include it in the data area rather than having its own section. /boot/loader.efi was the last holdout for having a 100% self built ia64 system.
* Use a relative path to libstand.. /usr/src/lib/libstand may not existpeter2002-04-042-2/+2
| | | | or may have the wrong header files.
* Do not use semi-fixed TLB slots for the 4M kernel pages any more.tmm2002-04-023-25/+24
|
* 1.) Rename locore.s to locore.S (by repocopy), to be able to removetmm2002-04-023-144/+21
| | | | | | | | | | | | special-case make rule 2.) Cleanups, remove superfluous expicit rules, add -nostdlib to LDFLAGS, remove -X and -g, remove -g from CFLAGS 3.) Add BINDIR 4.) Build install the loader help file, add an empty help.sparc64 5.) Change the default configuration to only support booting from disk 6.) Get libofw.a from a path relative ${.OBJDIR}, not ${.CURDIR} Submitted by: jake (1 - 5), obrien (6)
* Add support for booting from CD-ROM. Make it possible to enable UFStmm2002-04-012-0/+27
| | | | support using make arguments.
* 1.) Produce a boot1 disklabel template of the format disklabel(8) expects.tmm2002-04-011-12/+22
| | | | | | 2.) Clean up and change over to using bsd.prog.mk Submitted by: jake (2)
* Only install the help file if we can find it. Use ${BASE}.helpmarcel2002-03-312-8/+2
| | | | | in both the condition and for the install. We expect to find the help file in ${.OBJDIR}.
* Pass the address of the bootinfo block to the kernel in registermarcel2002-03-304-10/+10
| | | | r8. Keep it at the hardwired address for now. Bump the version.
* Pass the physical address of the bootinfo block to the kernel inmarcel2002-03-304-2/+6
| | | | | | | | | register r8. We continue to write the bootinfo block at the same hardwired address, because the kernel still expects it there. It is expected that future kernels use register r8 to get to the bootinfo block and don't depend on the hardwired address anymore. Bump the loader version once again due to the interface change.
* MFi386: revision 1.55nyan2002-03-301-0/+3
|
* Add a quick and dirty way to determine where we're loaded from. Wemarcel2002-03-302-16/+56
| | | | | | | | only care if it's network or not at this time. If we're loaded from the network, we set currdev (=loaddev) so that the kernel is loaded from the network as well. In all other cases we initialize to disk. This makes netbooting more convenient and can easily be enhanced to do more elaborate checking.
* The EFI loader has been improved a lot since it was first added.marcel2002-03-302-0/+4
| | | | | | | Most significantly (from an interfacing point of view) is the support for the FPSWA pointer passing. Even though that was added 4 months ago, it's probably not a bad idea to bump the version number to reflect this.
* Fix the initialization of the protocol:marcel2002-03-301-2/+68
| | | | | | | | | | | | | | | | | o Query the state field of the protocol mode to determine whether we need to start and/or initialize the protocol. When we're loaded across the network, the protocol has already been started and is already initialized. When no networking has happened yet, we have to start and initialize the protocol ourselves. o After initialization, we have to set the receive filters. Not doing this results in a deaf interface. We set the unicast and broadcast filters. Multicast may not be supported. This specific change fixes the problem we had that we could not netboot if the loader was started from the EFI shell. o To help future debugging, add a function that dumps the current mode of the interface. It's conditional on EFINET_DEBUG. o To help in runtime problems, emit a diagnostic message when we could not initialize the protocol properly.
* Don't blindly dereference f->f_devdata as if it's always a pointer tomarcel2002-03-301-1/+6
| | | | | | | | | | | an efi_devdesc structure. When we're netbooting, f->f_devdata holds the address of the network socket variable. Dereferencing this caused some very unpredictable behaviour, including proper functioning. So, as a sanity check, we first make sure f->f_dev points to our own devsw. If not, the open will fail before we use f->f_devdata. This solves the netboot hangs I invariably got whenever I used the latest toolchain to compile the EFI loader.
* o Make efinet_put a blocking call by waiting for the protocolmarcel2002-03-291-12/+22
| | | | | | | | | | | | | | | layer to signal transmission of the packet. This resolves the problem I'm seeing that an immediate call to net->Receive after calling net->Transmit returns EFI_DEVICE_ERROR. This condition seems to be sufficiently persistent that BOOTP and RARP fail. o While here, unify all functions to have 'nif' defined. Some have it as arguments. The others now have them as locals. We now always get the protocol interface by using the 'nif' var. The current status of netbooting is that even though we now reliably have BOOTP working (again), opening a file (ie loading a kernel) across the network causes the loader to hang. I'm working on that now.
* Fix the beforeinstall target. We install ${PROG}.help if loader.helpmarcel2002-03-292-8/+2
| | | | | | | | | exists, otherwise we install it anyway. I interpret this as a very high desire to install ${PROG}.help. Alas, ${PROG}.help doesn't exist at the moment and neither does loader.help, so in practice this just doesn't work, no matter how you interpret it. The compromise is to install ${PROG}.help IFF it exists. I realize we lost creativity with this commit, but style should have been preserved, AFAICT :-)
* Needs a.out support built into the loader.obrien2002-03-281-0/+3
|
* o Don't include sys/cdefs.hmarcel2002-03-282-2/+0
|
* o Add -L${DESTDIR}${LIBDIR} on the link line for -lstand.marcel2002-03-282-8/+8
| | | | | o Add -j .dynstr to objcopy. This makes .efi binaries work when built with a 3.x based toolchain.
* Duplicate the logic used elsewhere to define LIBSTAND.marcel2002-03-282-4/+22
|
* was repocopied to ../boot1obrien2002-03-282-769/+0
|
* Apparently either gcc or ld, in their infinite wisdom, want toobrien2002-03-282-0/+16
| | | | | | | | put a bunch of crap before the code in .text. Since the firmware doesn't seem to honour the a.out entry point, we need to include a little assmbler file which jumps to where we want to be in C. Submitted by: jake
* Opps, bootblock component is no more.obrien2002-03-281-1/+1
|
* sparc64 is an ofw consumer.obrien2002-03-281-2/+2
|
* Not all platforms have and want a.out format support.obrien2002-03-281-1/+5
|
* Add a Makefile for sparc64 at this level.obrien2002-03-281-0/+5
|
* Add option -n to i386 boot2 to disallow boot interruption by keypress.pb2002-03-232-4/+16
| | | | | | | PR: i386/36016 Submitted by: Thomas Quinot <thomas@cuivre.fr.eu.org> Reviewed by: rnordier MFC after: 1 week
* Remove __P.alfred2002-03-201-1/+1
|
* Add EFI write support to loaderpeter2002-03-191-2/+30
|
* Add -ffreestanding to avoid printf/puts/putchar conversionspeter2002-03-194-0/+4
|
* Boot from efifs first.peter2002-03-192-2/+2
|
* gcc-3.1 likes to have extra { } around the internal array initializers inpeter2002-03-191-5/+5
| | | | the GUID templates.
* Add splitfs vfs layer into libstand, which allows loading big kernels andsobomax2002-03-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | modules split across several physical medias. Following is how it works: The splitfs code, when asked to open "foo" looks for a file "foo.split" which is a text file containing a list of filenames and media names, e.g. foo.aa "Kernel floppy 1" foo.ab "Kernel floppy 2" foo.ac "Kernel and modules floppy" For each file segment, the process is: - try to open the file - prompt "Insert the disk labelled <whatever> and press any key..." - try to open the file - return error if file could not be located RE team is free to use this feature in the upcoming 5.0-DP1. Reviewed by: msmith, dcs
* mdoc(7) police: fix a typo and markup.ru2002-03-151-2/+6
|
OpenPOWER on IntegriCloud