summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/interface/pcbios/ib_srpboot.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/i386/interface/pcbios/ib_srpboot.c')
-rw-r--r--src/arch/i386/interface/pcbios/ib_srpboot.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/arch/i386/interface/pcbios/ib_srpboot.c b/src/arch/i386/interface/pcbios/ib_srpboot.c
index ab90c44f..5b9c2c9a 100644
--- a/src/arch/i386/interface/pcbios/ib_srpboot.c
+++ b/src/arch/i386/interface/pcbios/ib_srpboot.c
@@ -6,6 +6,7 @@
#include <gpxe/sanboot.h>
#include <int13.h>
#include <gpxe/srp.h>
+#include <gpxe/sbft.h>
FILE_LICENCE ( GPL2_OR_LATER );
@@ -38,6 +39,11 @@ static int ib_srpboot ( const char *root_path ) {
drive->blockdev = &scsi->blockdev;
+ /* FIXME: ugly, ugly hack */
+ struct srp_device *srp =
+ container_of ( scsi->backend, struct srp_device, refcnt );
+ sbft_fill_data ( srp );
+
register_int13_drive ( drive );
printf ( "Registered as BIOS drive %#02x\n", drive->drive );
printf ( "Booting from BIOS drive %#02x\n", drive->drive );