diff options
| author | Michael Brown | 2011-04-23 10:50:38 +0200 |
|---|---|---|
| committer | Michael Brown | 2011-04-24 17:44:34 +0200 |
| commit | 5d2802e4030ed9177c01e751fd89c898eaf90f88 (patch) | |
| tree | 40d2468fd50c4ea6f39ee165536eb782e7ec0376 /src/include | |
| parent | [parseopt] Allow for pre-initialised option sets (diff) | |
| download | ipxe-5d2802e4030ed9177c01e751fd89c898eaf90f88.tar.gz ipxe-5d2802e4030ed9177c01e751fd89c898eaf90f88.tar.xz ipxe-5d2802e4030ed9177c01e751fd89c898eaf90f88.zip | |
[sanboot] Add "sanhook" and "sanunhook" commands
Expose the multiple-SAN-drive capability of the iPXE core via the iPXE
command line by adding commands to hook and unhook additional drives.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/ipxe/null_sanboot.h | 5 | ||||
| -rw-r--r-- | src/include/ipxe/sanboot.h | 11 | ||||
| -rw-r--r-- | src/include/usr/autoboot.h | 14 |
3 files changed, 27 insertions, 3 deletions
diff --git a/src/include/ipxe/null_sanboot.h b/src/include/ipxe/null_sanboot.h index 341a9a1d2..2b3a2c74d 100644 --- a/src/include/ipxe/null_sanboot.h +++ b/src/include/ipxe/null_sanboot.h @@ -15,4 +15,9 @@ FILE_LICENCE ( GPL2_OR_LATER ); #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 913282eb5..14c8a5da4 100644 --- a/src/include/ipxe/sanboot.h +++ b/src/include/ipxe/sanboot.h @@ -59,11 +59,18 @@ struct uri; #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 - * @v drive Requested drive number - * @ret drive Assigned drive number, or negative error + * @v drive Drive number + * @ret rc Return status code */ int san_hook ( struct uri *uri, unsigned int drive ); diff --git a/src/include/usr/autoboot.h b/src/include/usr/autoboot.h index a608b3dce..25b9f073d 100644 --- a/src/include/usr/autoboot.h +++ b/src/include/usr/autoboot.h @@ -14,7 +14,19 @@ struct net_device; struct uri; struct settings; -extern int uriboot ( struct uri *filename, struct uri *root_path ); +/** uriboot() flags */ +enum uriboot_flags { + URIBOOT_NO_SAN_DESCRIBE = 0x0001, + URIBOOT_NO_SAN_BOOT = 0x0002, + URIBOOT_NO_SAN_UNHOOK = 0x0004, +}; + +#define URIBOOT_NO_SAN ( URIBOOT_NO_SAN_DESCRIBE | \ + URIBOOT_NO_SAN_BOOT | \ + URIBOOT_NO_SAN_UNHOOK ) + +extern int uriboot ( struct uri *filename, struct uri *root_path, int drive, + unsigned int flags ); extern struct uri * fetch_next_server_and_filename ( struct settings *settings ); extern int netboot ( struct net_device *netdev ); |
