aboutsummaryrefslogtreecommitdiff
path: root/src/include/ipxe/efi
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2013-03-13 22:42:26 +0000
committerMichael Brown <mcb30@ipxe.org>2013-03-13 23:01:53 +0000
commitc7c3d839fc9120aee28de9aabe452dc85ad91502 (patch)
tree07526ab554633c407bdd78c8fea20fc81e82c541 /src/include/ipxe/efi
parentfc87adb46c1395b09302085e9d15fcd8ab3c31fe (diff)
downloadipxe-c7c3d839fc9120aee28de9aabe452dc85ad91502.zip
ipxe-c7c3d839fc9120aee28de9aabe452dc85ad91502.tar.gz
ipxe-c7c3d839fc9120aee28de9aabe452dc85ad91502.tar.bz2
[efi] Add our own EFI_LOAD_FILE_PROTOCOL implementation
When iPXE is used as a UEFI driver, the UEFI PXE base code currently provides the TCP/IP stack, network protocols, and user interface. This represents a substantial downgrade from the standard BIOS iPXE user experience. Fix by installing our own EFI_LOAD_FILE_PROTOCOL implementation which initiates the standard iPXE boot procedure. This upgrades the UEFI iPXE user experience to match the standard BIOS iPXE user experience. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/efi')
-rw-r--r--src/include/ipxe/efi/efi_snp.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/include/ipxe/efi/efi_snp.h b/src/include/ipxe/efi/efi_snp.h
index 074d1b2..3791645 100644
--- a/src/include/ipxe/efi/efi_snp.h
+++ b/src/include/ipxe/efi/efi_snp.h
@@ -16,6 +16,7 @@
#include <ipxe/efi/Protocol/DevicePath.h>
#include <ipxe/efi/Protocol/HiiConfigAccess.h>
#include <ipxe/efi/Protocol/HiiDatabase.h>
+#include <ipxe/efi/Protocol/LoadFile.h>
/** An SNP device */
struct efi_snp_device {
@@ -49,6 +50,8 @@ struct efi_snp_device {
EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL nii;
/** Component name protocol */
EFI_COMPONENT_NAME2_PROTOCOL name2;
+ /** Load file protocol handle */
+ EFI_LOAD_FILE_PROTOCOL load_file;
/** HII configuration access protocol */
EFI_HII_CONFIG_ACCESS_PROTOCOL hii;
/** HII package list */