hdt: detect bootloader ids when probing disks
authorPierre-Alexandre Meyer <pierre@mouraf.org>
Sun, 23 Aug 2009 17:22:06 +0000 (10:22 -0700)
committerPierre-Alexandre Meyer <pierre@mouraf.org>
Sun, 23 Aug 2009 17:22:06 +0000 (10:22 -0700)
Add a bootloader_ids[] array in the hardware structure to store bootloader
ids when probing the disks.

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
com32/hdt/hdt-common.c
com32/hdt/hdt-common.h

index 80305a3..bfb480c 100644 (file)
@@ -35,6 +35,7 @@
 #include "hdt-common.h"
 #include "lib-ansi.h"
 #include <disk/util.h>
+#include <disk/bootloaders.h>
 
 /* ISOlinux requires a 8.3 format */
 void convert_isolinux_filename(char *filename, struct s_hardware *hardware) {
@@ -269,6 +270,9 @@ void detect_disks(struct s_hardware *hardware)
                if (err == -1 || !hardware->disk_info[i].cbios)
                        continue;
 
+               /* Detect bootloader */
+               hardware->bootloader_ids[i] = get_bootloader_id(&hardware->disk_info[i]);
+
                hardware->disks_count++;
        }
 }
index 2b67f9c..07fca07 100644 (file)
@@ -114,6 +114,7 @@ struct s_hardware {
   s_vpd vpd;                      /* VPD information */
   struct pci_domain *pci_domain;  /* PCI Devices */
   struct driveinfo disk_info[256]; /* Disk Information */
+  int bootloader_ids[256];       /* Bootloader ids in the MBRs */
   int disks_count;               /* Number of detected disks */
   struct s_pxe pxe;
   struct s_vesa vesa;