summaryrefslogtreecommitdiffstats
path: root/src/interface/efi
diff options
context:
space:
mode:
authorMichael Brown2018-03-26 12:31:41 +0200
committerMichael Brown2018-03-26 12:31:41 +0200
commit331ac451e7bcbe49f8fad16f5b6ea5330c9c169b (patch)
treeedbc901a5458147388a3c1e4573e9676adb91fed /src/interface/efi
parent[tls] Ensure that window change is propagated to plainstream interface (diff)
downloadipxe-331ac451e7bcbe49f8fad16f5b6ea5330c9c169b.tar.gz
ipxe-331ac451e7bcbe49f8fad16f5b6ea5330c9c169b.tar.xz
ipxe-331ac451e7bcbe49f8fad16f5b6ea5330c9c169b.zip
[efi] Release SNP devices before starting SAN boot image
Release SNP devices to allow the SAN booted image to use our EFI_SIMPLE_NETWORK_PROTOCOL instance, and to ensure that the image is started at TPL_APPLICATION. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/interface/efi')
-rw-r--r--src/interface/efi/efi_block.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/interface/efi/efi_block.c b/src/interface/efi/efi_block.c
index c6445ab6..91f830a1 100644
--- a/src/interface/efi/efi_block.c
+++ b/src/interface/efi/efi_block.c
@@ -638,6 +638,9 @@ static int efi_block_boot ( unsigned int drive, const char *filename ) {
goto err_sandev_find;
}
+ /* Release SNP devices */
+ efi_snp_release();
+
/* Connect all possible protocols */
efi_block_connect ( sandev );
@@ -673,6 +676,7 @@ static int efi_block_boot ( unsigned int drive, const char *filename ) {
bs->FreePool ( handles );
err_locate_file_systems:
+ efi_snp_claim();
err_sandev_find:
return rc;
}