summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2017-03-06 13:25:20 +0100
committerMichael Brown2017-03-07 14:40:35 +0100
commite7ee2eda4badef6ee361f089768064ae737169ed (patch)
tree8e74668d89bc04e707143f0045ea7e67401a1f9a /src/include
parent[block] Centralise SAN device abstraction (diff)
downloadipxe-e7ee2eda4badef6ee361f089768064ae737169ed.tar.gz
ipxe-e7ee2eda4badef6ee361f089768064ae737169ed.tar.xz
ipxe-e7ee2eda4badef6ee361f089768064ae737169ed.zip
[block] Centralise "san-drive" setting
The concept of the SAN drive number is meaningful only in a BIOS environment, where it represents the INT13 drive number (0x80 for the first hard disk). We retain this concept in a UEFI environment to allow for a simple way for iPXE commands to refer to SAN drives. Centralise the concept of the default drive number, since it is shared between all supported environments. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ipxe/efi/efi_block.h9
-rw-r--r--src/include/ipxe/null_sanboot.h5
-rw-r--r--src/include/ipxe/sanboot.h8
3 files changed, 1 insertions, 21 deletions
diff --git a/src/include/ipxe/efi/efi_block.h b/src/include/ipxe/efi/efi_block.h
index ea28230b..f8cf7fc1 100644
--- a/src/include/ipxe/efi/efi_block.h
+++ b/src/include/ipxe/efi/efi_block.h
@@ -15,13 +15,4 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#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/null_sanboot.h b/src/include/ipxe/null_sanboot.h
index 58f03339..b0e36b8b 100644
--- a/src/include/ipxe/null_sanboot.h
+++ b/src/include/ipxe/null_sanboot.h
@@ -15,9 +15,4 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#define SANBOOT_PREFIX_null __null_
#endif
-static inline __always_inline unsigned int
-SANBOOT_INLINE ( null, san_default_drive ) ( void ) {
- return 0;
-}
-
#endif /* _IPXE_NULL_SANBOOT_H */
diff --git a/src/include/ipxe/sanboot.h b/src/include/ipxe/sanboot.h
index 420d4dbe..3e7ed1c8 100644
--- a/src/include/ipxe/sanboot.h
+++ b/src/include/ipxe/sanboot.h
@@ -96,13 +96,6 @@ struct san_device {
#include <bits/sanboot.h>
/**
- * Get default SAN drive number
- *
- * @ret drive Default drive number
- */
-unsigned int san_default_drive ( void );
-
-/**
* Hook SAN device
*
* @v uri URI
@@ -212,5 +205,6 @@ extern int sandev_rw ( struct san_device *sandev, uint64_t lba,
extern struct san_device * alloc_sandev ( struct uri *uri, size_t priv_size );
extern int register_sandev ( struct san_device *sandev );
extern void unregister_sandev ( struct san_device *sandev );
+extern unsigned int san_default_drive ( void );
#endif /* _IPXE_SANBOOT_H */