summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2010-12-27 21:08:53 -0500
committerKevin O'Connor <kevin@koconnor.net>2010-12-27 21:08:53 -0500
commit697e63c914a13b0c4a4ac0150d39ea3591bb9e31 (patch)
treebea32bb947a928a104f8d056adc7157db05a4889
parent3c5e0e176b1e71b225b409c5c053094a731c5f64 (diff)
Call setup_translation() from map_hd_drive().
Unify the calling of setup_translation().
-rw-r--r--src/ahci.c2
-rw-r--r--src/ata.c3
-rw-r--r--src/block.c5
-rw-r--r--src/disk.h1
-rw-r--r--src/usb-msc.c3
-rw-r--r--src/virtio-blk.c1
6 files changed, 4 insertions, 11 deletions
diff --git a/src/ahci.c b/src/ahci.c
index a7f458f..8fd2e14 100644
--- a/src/ahci.c
+++ b/src/ahci.c
@@ -379,8 +379,6 @@ ahci_port_init(struct ahci_ctrl_s *ctrl, u32 pnr)
, 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 {
diff --git a/src/ata.c b/src/ata.c
index 872c5e3..86b89b5 100644
--- a/src/ata.c
+++ b/src/ata.c
@@ -834,9 +834,6 @@ init_drive_ata(struct atadrive_s *dummy, u16 *buffer)
, (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);
diff --git a/src/block.c b/src/block.c
index 6a3faa3..dafaaa6 100644
--- a/src/block.c
+++ b/src/block.c
@@ -72,7 +72,7 @@ get_translation(struct drive_s *drive_g)
return TRANSLATION_LBA;
}
-void
+static void
setup_translation(struct drive_s *drive_g)
{
u8 translation = get_translation(drive_g);
@@ -221,6 +221,9 @@ map_hd_drive(struct drive_s *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);
}
diff --git a/src/disk.h b/src/disk.h
index a598bb4..4802011 100644
--- a/src/disk.h
+++ b/src/disk.h
@@ -230,7 +230,6 @@ struct drives_s {
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);
diff --git a/src/usb-msc.c b/src/usb-msc.c
index 2a6c31a..877ece4 100644
--- a/src/usb-msc.c
+++ b/src/usb-msc.c
@@ -167,9 +167,6 @@ setup_drive_hd(struct disk_op_s *op)
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);
diff --git a/src/virtio-blk.c b/src/virtio-blk.c
index 834523a..6b49164 100644
--- a/src/virtio-blk.c
+++ b/src/virtio-blk.c
@@ -155,7 +155,6 @@ init_virtio_blk(u16 bdf)
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 |