Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Removes some code and files not needed by efi32 and efi64.
ok guenther
|
|
Make 2 separate efiboots, one for 32 bit and one for 64 bit to allow
us to remove lots of #ifdef code. Needed to ease the development effort
for random-VA linked kernels
ok tedu, deraadt
|
|
Make 2 separate efiboots, one for 32 bit and one for 64 bit to allow
us to remove lots of #ifdef code. Needed to ease the development effort
for random-VA linked kernels
ok tedu, deraadt
|
|
Separate out files used by both BIOS and EFI boot modes. These files
had many #ifdef EFIBOOT code paths that make it difficult to move forward
with changes needed to support random base VA linked kernels.
ok deraadt@
|
|
random data into the buffer that we feed the kernel.
ok deraadt@, mlarkin@
|
|
When reading a file from a non-TFTP device, clear the bootmac variable
to prevent the kernel from going into netboot mode.
This allows loading a kernel from a disk device after having booted
efiboot from PXE.
style tweak and ok kettenis@
|
|
use memmove. We don't know whether EFI allocated overlapping memory.
|
|
memcpy() correct behaviour. This also brings the bcopy() macro into line.
|
|
|
|
details from the ELF header instead of faking it.
Proposal from mlarkin, tested on most architectures already
|
|
|
|
have the serial io protocol. Fallback to direct inb/outb hardware access
in this case using code derived from arch/amd64/stand/libsa/bioscons.c
ok kettenis@
|
|
|
|
for booting using large (64k) blocksize filesystems. ok tedu@
|
|
Otherwise we end up keeping file descriptor and inode related buffers
around, that are unnecessarily consuming memory.
ok deraadt@ patrick@
|
|
ok deraadt@
|
|
|
|
|
|
Feedback and OK jmc
|
|
ok patrick@, naddy@
|
|
have a PT_GNU_STACK segment and doesn't pad the bootblocks to a full page.
ok naddy@, help from guenther@
|
|
BOOTIA32.EFI works but BOOTX64.EFI unfortunately doesn't work yet.
ok patrick@
|
|
This fixes the problem that which prevents typing the passpharase for
softraid on boot. It happened at least with some external keyboards
on ThinkPad X2{6,8}0. diff from Frank Groeneveld
ok tb
|
|
|
|
Historically, the softraid crypto support in the boot loaders has only
given one attempt to provide the correct passphrase. There were a
few reasons for this, including the fact that pkcs5_pbkdf2() allows an
empty passphrase and that returning EPERM allowed for another attempt.
With the event of KARL and the need for bsd.booted with hibernate resumption,
this becomes much more of an issue - if you get the passphrase wrong you
fail to resume. There are also other situations like using /etc/boot.conf
to switch serial console, but an incorrect passphrase results in the config
not being read. Also, bcrypt_pbkdf() does not permit empty passphrases.
This reworks the softraid crypto support in the boot loaders so that it
loops requesting a valid passphrase until one is provided, or an empty
passphrase is entered (at which point it will abort).
ok mortimer@ tb@
|
|
console at 115200 baud.
tested by phessler and myself, ok deraadt
|
|
is specified as the console. Current implementation can't assume the
given device is proved at the callback functions if the system has one
serial device at least.
|
|
is pretty silly. Nuke the if's.
ok millert@
|
|
change the memory map. diff from Ryan Lennox
ok kettenis
|
|
|
|
cannot handle the larger firmwares, so we must place them somewhere
else where the kernel can read them. Let's use 1MB. And pay attention
if someone gets burned by this decision. Other solutions get a lot
more hairy
ok mlarkin jsing
|
|
The implementation tries to allocate sufficient memory to match the size of
the microcode file and will blow the boot loader heap when loading a larger
microcode file. This has been causing "heap full" errors at boot on some
machines.
Diagnosed with deraadt@
|
|
five minutes. Disable the timer to make it possible to use efiboot for
more than five minutes.
ok patrick@ kettenis@
|
|
while here, put "directory" in the right place
|
|
the CPUs identified and then we had to update the CPU flags afterwards.
As microcode updates can add/remove instructions and features, we need
to load it earlier. Thus, make the bootloader look for the microcode
and supply it to the kernel as another bootarg. This way we can update
the cores' microcode before we identify them.
ok deraadt@
|
|
The AllocatePages EFI call returns an error when the allocation
size is 0. Skip allocating memory and actually transferring the
file when it is empty.
Properly return the number of unread bytes so that a read() of n
bytes does not return n if no bytes were read.
While here, disallow lseek() beyond the TFTP file buffer for SEEK_CUR
as we already do for SEEK_SET.
ok patrick@
|
|
|
|
OK tom@, deraadt@
|
|
to recognize if it has been booted via PXE. The new TFTP file system
layer will then use the matching PXE base code protocol handle to load
the files. Since this uses the PXE base code protocol for abstraction
instead of the raw Simple Network protocol this will at this point not
work on u-boot based machines as needed on ARM.
Feedback and ok tom@
Also tested by afresh1@
|
|
diff from Klemens Nanni
|
|
properly when the system is booted from CD-ROM.
Initial diff from FUKAUMI Naoki.
|
|
any longer; ok espie@ deraadt@
|
|
The selected mode is used by efifb(4).
original diff from Klemens Nanni, tested by Andrew Daugherity
|
|
prevents the video output problem on ThinkPad X121e and so on.
diff from Klemens Nanni, test by Andrew Daugherity
|
|
|
|
bootloaders. Replace while (1) { } with for (;;) continue; per request
from tom@.
ok tom@, jsg@
|
|
of a single MEDIA_DEVICE_PATH component specially to cater for U-Boot's
somewhat broken device path handling. Add comments to prevent confusion
in the future. Bump the version number once again.
ok brynet@
|