716f79c093
as this only allows us to access file systems that EFI knows about. With a loader that can only use EFI-supported file systems, we're forced to put /boot on the EFI system partition. This is suboptimal in the following ways: 1. With /boot a symlink to /efi/boot, mergemaster complains about the mismatch and there's no quick solution. 2. The EFI loader can only boot a single version of FreeBSD. There's no way to install multiple versions of FreeBSD and select one at the loader prompt. 3. ZFS maintains /boot/zfs/zpool.cache and with /boot a symlink we end up with the file on a MSDOS file system. ZFS does not have proper handling of file systems that are under Giant. Implement a disk device based on the block I/O protocol instead and pull in file system code from libstand. The disk devices are really the partitions that EFI knows about. This change is backward compatible. MFC after: 1 week
21 lines
980 B
Plaintext
21 lines
980 B
Plaintext
$FreeBSD$
|
|
|
|
NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this
|
|
file is important. Make sure the current version number is on line 6.
|
|
|
|
2.0: Provide devices based on the block I/O protocol, rather than the
|
|
simple file services protocol. Use the FreeBSD file system code
|
|
on top of those devices to access files.
|
|
1.2: Restructured. Has some user visible differences.
|
|
1.1: Pass the HCDP table address to the kernel via bootinfo if one
|
|
is present in the EFI system table.
|
|
1.0: Don't map the I/O port range. We expect the kernel to do it. It
|
|
was done in the loader as a debugging aid and not intended as a
|
|
service/feature.
|
|
0.3: Pass the physical address of the bootinfo block in register r8
|
|
to the kernel. Continue to put it at the fixed address for now.
|
|
0.2: Much improved version. Significant is the support for passing
|
|
the FPSWA interface pointer to the kernel.
|
|
0.1: Initial EFI version, germinated from the NetBSD i386
|
|
standalone, but enormously modified.
|