diff options
author | Michael Brown | 2016-11-16 23:22:22 +0100 |
---|---|---|
committer | Michael Brown | 2016-11-17 00:03:37 +0100 |
commit | fd95c780b6ad39ab55344c0e4b9c2125c2c2f5ad (patch) | |
tree | 9a6c7415ba176cdd6224a30ca72d3461d572290d /src/include | |
parent | [iscsi] Avoid potential infinite loops during shutdown (diff) | |
download | ipxe-fd95c780b6ad39ab55344c0e4b9c2125c2c2f5ad.tar.gz ipxe-fd95c780b6ad39ab55344c0e4b9c2125c2c2f5ad.tar.xz ipxe-fd95c780b6ad39ab55344c0e4b9c2125c2c2f5ad.zip |
[efi] Add basic EFI SAN booting capability
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/ipxe/efi/efi_block.h | 27 | ||||
-rw-r--r-- | src/include/ipxe/errfile.h | 1 | ||||
-rw-r--r-- | src/include/ipxe/sanboot.h | 1 |
3 files changed, 29 insertions, 0 deletions
diff --git a/src/include/ipxe/efi/efi_block.h b/src/include/ipxe/efi/efi_block.h new file mode 100644 index 00000000..ea28230b --- /dev/null +++ b/src/include/ipxe/efi/efi_block.h @@ -0,0 +1,27 @@ +#ifndef _IPXE_EFI_BLOCK_H +#define _IPXE_EFI_BLOCK_H + +/** @block + * + * EFI block device protocols + * + */ + +FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); + +#ifdef SANBOOT_EFI +#define SANBOOT_PREFIX_efi +#else +#define SANBOOT_PREFIX_efi __efi_ +#endif + +static inline __always_inline unsigned int +SANBOOT_INLINE ( efi, san_default_drive ) ( void ) { + /* Drive numbers don't exist as a concept under EFI. We + * arbitarily choose to use drive 0x80 to minimise differences + * with a standard BIOS. + */ + return 0x80; +} + +#endif /* _IPXE_EFI_BLOCK_H */ diff --git a/src/include/ipxe/errfile.h b/src/include/ipxe/errfile.h index 08e166ce..d0b93d02 100644 --- a/src/include/ipxe/errfile.h +++ b/src/include/ipxe/errfile.h @@ -71,6 +71,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define ERRFILE_fault ( ERRFILE_CORE | 0x001f0000 ) #define ERRFILE_blocktrans ( ERRFILE_CORE | 0x00200000 ) #define ERRFILE_pixbuf ( ERRFILE_CORE | 0x00210000 ) +#define ERRFILE_efi_block ( ERRFILE_CORE | 0x00220000 ) #define ERRFILE_eisa ( ERRFILE_DRIVER | 0x00000000 ) #define ERRFILE_isa ( ERRFILE_DRIVER | 0x00010000 ) diff --git a/src/include/ipxe/sanboot.h b/src/include/ipxe/sanboot.h index 041e1893..c651364c 100644 --- a/src/include/ipxe/sanboot.h +++ b/src/include/ipxe/sanboot.h @@ -54,6 +54,7 @@ struct uri; /* Include all architecture-independent sanboot API headers */ #include <ipxe/null_sanboot.h> +#include <ipxe/efi/efi_block.h> /* Include all architecture-dependent sanboot API headers */ #include <bits/sanboot.h> |