Home | History | Annotate | Download | only in efiboot
History log of /src/sys/stand/efiboot/efinet.c
RevisionDateAuthorComments
 1.9  01-Jan-2024  rin MI efiboot: Revert "Stop using efi_bootdp after exclusive open for PXE"

http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/stand/efiboot/efinet.c#rev1.7

Some UEFI implementations pass multiple boot options as boot device path,
and NULL-clearing it results in boot failures.

Thanks skrll@ for pointing it out.
 1.8  27-Dec-2023  rin MI efiboot: efi_net_probe: Examine Messaging Device Path also

Network devices can be found as Hardware or Messaging Device Paths,
see Sec 10.4.4 of UEFI Spec 2.10.

In addition to Hardware Device Path, try Messaging Device Path also.
This fixes PXE boot on implementations with the latter choice, e.g.,
Raspberry Pi 4 UEFI firmware.
 1.7  27-Dec-2023  rin MI efiboot: Stop using efi_bootdp after exclusive open for PXE

Once boot device is exclusively opened for Simple Network Protocol,
further access via device path (efi_bootdp) is illegal.

For some implementations, boot device path gets corrupted by
exclusive open, and subsequent access by efi_device_path_depth(),
e.g., causes infinite recursion.

Fix PXE boot for QEMU/aarch64 with EDK2 on some Linux distributions.

Thanks yamaguchi@ for comments and tests.
 1.6  31-Mar-2019  jmcneill branches: 1.6.4; 1.6.32;
Add support for netbooting with non-PCI network devices.
 1.5  05-Mar-2019  msaitoh Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes
if_upgt.c's ETHER_ALIGN from 0 to 2.
 1.4  15-Nov-2018  jmcneill Add support for loading kernels over NFS.
 1.3  04-Sep-2018  jmcneill branches: 1.3.2;
If the loader is loaded from the network, try to load the kernel from the
same network device.
 1.2  04-Sep-2018  riastradh Fix some min/max -> uimin/uimax stragglers.

Confirmed by the 2018-09-04T04:40Z autobuild.
 1.1  03-Sep-2018  jmcneill Add PXE support.
 1.3.2.3  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.3.2.2  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.3.2.1  04-Sep-2018  pgoyette file efinet.c was added on branch pgoyette-compat on 2018-09-06 06:56:47 +0000
 1.6.32.2  01-Jan-2024  martin Additionally pull up following revision(s) (requested by rin in ticket #524):

sys/stand/efiboot/efinet.c: revision 1.9

MI efiboot: Revert "Stop using efi_bootdp after exclusive open for PXE"
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/stand/efiboot/efinet.c#rev1.7

Some UEFI implementations pass multiple boot options as boot device path,
and NULL-clearing it results in boot failures.

Thanks skrll@ for pointing it out.
 1.6.32.1  30-Dec-2023  martin Pull up following revision(s) (requested by rin in ticket #524):

sys/stand/efiboot/efinet.c: revision 1.7
sys/stand/efiboot/efinet.c: revision 1.8

MI efiboot: Stop using efi_bootdp after exclusive open for PXE

Once boot device is exclusively opened for Simple Network Protocol,
further access via device path (efi_bootdp) is illegal.

For some implementations, boot device path gets corrupted by
exclusive open, and subsequent access by efi_device_path_depth(),
e.g., causes infinite recursion.

Fix PXE boot for QEMU/aarch64 with EDK2 on some Linux distributions.
Thanks yamaguchi@ for comments and tests.

MI efiboot: efi_net_probe: Examine Messaging Device Path also
Network devices can be found as Hardware or Messaging Device Paths,
see Sec 10.4.4 of UEFI Spec 2.10.

In addition to Hardware Device Path, try Messaging Device Path also.

This fixes PXE boot on implementations with the latter choice, e.g.,
Raspberry Pi 4 UEFI firmware.
 1.6.4.2  10-Jun-2019  christos Sync with HEAD
 1.6.4.1  31-Mar-2019  christos file efinet.c was added on branch phil-wifi on 2019-06-10 22:09:56 +0000

RSS XML Feed