Unify the calling of setup_translation().
, ata_extract_version(buffer)
, (u32)adjsize, adjprefix);
- // Setup disk geometry translation.
- setup_translation(&port->drive);
// Register with bcv system.
boot_add_hd(&port->drive, -1);
} else {
, (u32)adjsize, adjprefix);
dprintf(1, "%s\n", adrive_g->drive.desc);
- // Setup disk geometry translation.
- setup_translation(&adrive_g->drive);
-
int prio = bootprio_find_ata_device(adrive_g->chan_gf->pci_bdf,
adrive_g->chan_gf->chanid,
adrive_g->slave);
return TRANSLATION_LBA;
}
-void
+static void
setup_translation(struct drive_s *drive_g)
{
u8 translation = get_translation(drive_g);
dprintf(3, "Mapping hd drive %p to %d\n", drive_g, hdid);
add_drive(Drives.idmap[EXTTYPE_HD], &bda->hdcount, drive_g);
+ // Setup disk geometry translation.
+ setup_translation(drive_g);
+
// Fill "fdpt" structure.
fill_fdpt(drive_g, hdid);
}
extern struct drives_s Drives;
struct drive_s *getDrive(u8 exttype, u8 extdriveoffset);
int getDriveId(u8 exttype, struct drive_s *drive_g);
-void setup_translation(struct drive_s *drive_g);
void map_floppy_drive(struct drive_s *drive_g);
void map_hd_drive(struct drive_s *drive_g);
void map_cd_drive(struct drive_s *drive_g);
op->drive_g->sectors = sectors;
dprintf(1, "USB MSC blksize=%d sectors=%d\n", blksize, sectors);
- // Setup disk geometry translation.
- setup_translation(op->drive_g);
-
// Register with bcv system.
boot_add_hd(op->drive_g, -1);
pci_bdf_to_bus(bdf), pci_bdf_to_dev(bdf));
vdrive_g->drive.desc = desc;
- setup_translation(&vdrive_g->drive);
boot_add_hd(&vdrive_g->drive, bootprio_find_pci_device(bdf));
vp_set_status(ioaddr, VIRTIO_CONFIG_S_ACKNOWLEDGE |