Show
Ignore:
Timestamp:
09/07/09 23:22:36 (3 years ago)
Author:
Pierre-Alexandre Meyer <pierre@…>
Children:
47ac912cd5d8df0a96b8f5b98d7476f7cfb1cb19
Parents:
c93e27af183de1cdf591706448d42887d0fbc0eb, 03b2384b6e9f54d9697e87d2a19c321e6fd96ed5
git-author:
Pierre-Alexandre Meyer <pierre@mouraf.org> / 2009-09-07T16:12:59Z-0700
git-committer:
Pierre-Alexandre Meyer <pierre@mouraf.org> / 2009-09-07T16:22:36Z-0700
Message:

Merge branch 'bootloader-detection' into hdt-next

Conflicts:

com32/hdt/hdt-cli-disk.c
com32/hdt/hdt-common.h
com32/hdt/hdt-menu-disk.c

Signed-off-by: Pierre-Alexandre Meyer <pierre@…>

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • com32/hdt/hdt-cli-disk.c

    r814efd re9069c  
    5757{ 
    5858        char size[9]; 
     59        char bootloader_name[9]; 
    5960        char *parttype; 
    6061        unsigned int start, end; 
     
    7172 
    7273        if (i == 1) 
    73                 more_printf("   #  B       Start         End    Size Id Type\n"); 
     74                more_printf(" #  B       Start         End    Size Id Type\n"); 
    7475 
    7576        get_label(ptab->ostype, &parttype); 
    76         more_printf("  %2d  %s %11d %11d %s %02X %s", 
     77        more_printf("%2d  %s %11d %11d %s %02X %s", 
    7778                    i, (ptab->active_flag == 0x80) ? "x" : " ", 
    7879                    start, 
     
    8586                more_printf("%s", " (Swsusp sig. detected)"); 
    8687 
     88        if (get_bootloader_string(drive_info, ptab, bootloader_name, 9) == 0) 
     89                more_printf("%-46s %s %s", " ", "Bootloader:", bootloader_name); 
     90 
    8791        more_printf("\n"); 
    8892 
     
    108112        struct driveinfo *d = &hardware->disk_info[i]; 
    109113        char disk_size[9]; 
     114        char mbr_name[50]; 
    110115 
    111116        detect_disks(hardware); 
    112117        if (!hardware->disk_info[i].cbios) 
    113118                return; /* Invalid geometry */ 
     119 
     120        get_mbr_string(hardware->mbr_ids[i], &mbr_name, 50); 
    114121 
    115122        if ((int) d->edd_params.sectors > 0) 
     
    120127        more_printf("DISK 0x%X:\n" 
    121128                    "  C/H/S: %d cylinders, %d heads, %d sectors/track\n" 
    122                     "  EDD:  Version: %X\n" 
     129                    "    EDD: Version: %X\n" 
    123130                    "         Size: %s, %d bytes/sector, %d sectors/track\n" 
    124                     "         Host bus: %s, Interface type: %s\n\n", 
     131                    "         Host bus: %s, Interface type: %s\n" 
     132                    "    MBR: %s (id 0x%X)\n\n", 
    125133                d->disk, 
    126134                d->legacy_max_cylinder + 1, d->legacy_max_head + 1, d->legacy_sectors_per_track, 
    127135                d->edd_version, 
    128136                disk_size, (int) d->edd_params.bytes_per_sector, (int) d->edd_params.sectors_per_track, 
    129                 remove_spaces((char *) d->edd_params.host_bus_type), remove_spaces((char*) d->edd_params.interface_type)); 
     137                remove_spaces((char *) d->edd_params.host_bus_type), remove_spaces((char*) d->edd_params.interface_type), 
     138                mbr_name, hardware->mbr_ids[i]); 
     139        display_line_nb += 6; 
    130140 
    131141        if (parse_partition_table(d, &show_partition_information)) { 
     
    148158        detect_disks(hardware); 
    149159 
     160        int first_one = 0; 
    150161        for (int drive = 0x80; drive < 0xff; drive++) { 
    151                 char buf[5] = ""; 
    152                 sprintf(buf, "0x%x", drive); 
    153                 char *argv[1] = { buf }; 
    154                 main_show_disk(1, argv, hardware); 
     162                if (hardware->disk_info[drive - 0x80].cbios) { 
     163                        if (!first_one) { 
     164                                first_one = 1; 
     165                        } else { 
     166                                pause_printf(); 
     167                        } 
     168                        char buf[5] = ""; 
     169                        sprintf(buf, "0x%x", drive); 
     170                        char *argv[1] = { buf }; 
     171                        main_show_disk(1, argv, hardware); 
     172                } 
    155173        } 
    156174}