Revert "geometry: Apply LCHS values for boot devices"

This reverts commit 9caa19be0e.
This commit is contained in:
Gerd Hoffmann 2019-11-15 12:17:50 +01:00
parent 0594486b63
commit b6f8471534
11 changed files with 1 additions and 42 deletions

View File

@ -69,17 +69,9 @@ int create_bounce_buf(void)
* Disk geometry translation
****************************************************************/
static int
overriden_lchs_supplied(struct drive_s *drive)
{
return drive->lchs.cylinder || drive->lchs.head || drive->lchs.sector;
}
static u8
get_translation(struct drive_s *drive)
{
if (overriden_lchs_supplied(drive))
return TRANSLATION_MACHINE;
u8 type = drive->type;
if (CONFIG_QEMU && type == DTYPE_ATA) {
// Emulators pass in the translation info via nvram.
@ -167,16 +159,6 @@ setup_translation(struct drive_s *drive)
break;
}
break;
case TRANSLATION_MACHINE:
desc = "overriden";
cylinders = drive->lchs.cylinder;
heads = drive->lchs.head;
if (heads > 255)
heads = 255;
spt = drive->lchs.sector;
if (spt > 63)
spt = 63;
break;
}
// clip to 1024 cylinders in lchs
if (cylinders > 1024)
@ -441,8 +423,7 @@ fill_ata_edd(struct segoff_s edd, struct drive_s *drive_gf)
u16 options = 0;
if (GET_GLOBALFLAT(drive_gf->type) == DTYPE_ATA) {
u8 translation = GET_GLOBALFLAT(drive_gf->translation);
if ((translation != TRANSLATION_NONE) &&
(translation != TRANSLATION_MACHINE)) {
if (translation != TRANSLATION_NONE) {
options |= 1<<3; // CHS translation
if (translation == TRANSLATION_LBA)
options |= 1<<9;

View File

@ -90,7 +90,6 @@ struct drive_s {
#define TRANSLATION_LBA 1
#define TRANSLATION_LARGE 2
#define TRANSLATION_RECHS 3
#define TRANSLATION_MACHINE 4
#define EXTTYPE_FLOPPY 0
#define EXTTYPE_HD 1

View File

@ -594,7 +594,6 @@ static int ahci_port_setup(struct ahci_port_s *port)
, ata_extract_version(buffer));
port->prio = bootprio_find_ata_device(ctrl->pci_tmp, pnr, 0);
}
boot_lchs_find_ata_device(ctrl->pci_tmp, pnr, 0, &(port->drive.lchs));
return 0;
}

View File

@ -755,10 +755,6 @@ init_drive_atapi(struct atadrive_s *dummy, u16 *buffer)
int prio = bootprio_find_ata_device(adrive->chan_gf->pci_tmp,
adrive->chan_gf->chanid,
adrive->slave);
boot_lchs_find_ata_device(adrive->chan_gf->pci_tmp,
adrive->chan_gf->chanid,
adrive->slave,
&(adrive->drive.lchs));
boot_add_cd(&adrive->drive, desc, prio);
}
@ -809,10 +805,6 @@ init_drive_ata(struct atadrive_s *dummy, u16 *buffer)
int prio = bootprio_find_ata_device(adrive->chan_gf->pci_tmp,
adrive->chan_gf->chanid,
adrive->slave);
boot_lchs_find_ata_device(adrive->chan_gf->pci_tmp,
adrive->chan_gf->chanid,
adrive->slave,
&(adrive->drive.lchs));
// Register with bcv system.
boot_add_hd(&adrive->drive, desc, prio);

View File

@ -181,8 +181,6 @@ esp_scsi_add_lun(u32 lun, struct drive_s *tmpl_drv)
char *name = znprintf(MAXDESCSIZE, "esp %pP %d:%d",
llun->pci, llun->target, llun->lun);
boot_lchs_find_scsi_device(llun->pci, llun->target, llun->lun,
&(llun->drive.lchs));
int prio = bootprio_find_scsi_device(llun->pci, llun->target, llun->lun);
int ret = scsi_drive_setup(&llun->drive, name, prio);
free(name);

View File

@ -158,8 +158,6 @@ lsi_scsi_add_lun(u32 lun, struct drive_s *tmpl_drv)
lsi_scsi_init_lun(llun, tmpl_llun->pci, tmpl_llun->iobase,
tmpl_llun->target, lun);
boot_lchs_find_scsi_device(llun->pci, llun->target, llun->lun,
&(llun->drive.lchs));
char *name = znprintf(MAXDESCSIZE, "lsi %pP %d:%d",
llun->pci, llun->target, llun->lun);
int prio = bootprio_find_scsi_device(llun->pci, llun->target, llun->lun);

View File

@ -225,7 +225,6 @@ megasas_add_lun(struct pci_device *pci, u32 iobase, u8 target, u8 lun)
free(mlun);
return -1;
}
boot_lchs_find_scsi_device(pci, target, lun, &(mlun->drive.lchs));
name = znprintf(MAXDESCSIZE, "MegaRAID SAS (PCI %pP) LD %d:%d"
, pci, target, lun);
prio = bootprio_find_scsi_device(pci, target, lun);

View File

@ -221,8 +221,6 @@ mpt_scsi_add_lun(u32 lun, struct drive_s *tmpl_drv)
mpt_scsi_init_lun(llun, tmpl_llun->pci, tmpl_llun->iobase,
tmpl_llun->target, lun);
boot_lchs_find_scsi_device(llun->pci, llun->target, llun->lun,
&(llun->drive.lchs));
char *name = znprintf(MAXDESCSIZE, "mpt %pP %d:%d",
llun->pci, llun->target, llun->lun);
int prio = bootprio_find_scsi_device(llun->pci, llun->target, llun->lun);

View File

@ -273,7 +273,6 @@ pvscsi_add_lun(struct pci_device *pci, void *iobase,
plun->iobase = iobase;
plun->ring_dsc = ring_dsc;
boot_lchs_find_scsi_device(pci, target, lun, &(plun->drive.lchs));
char *name = znprintf(MAXDESCSIZE, "pvscsi %pP %d:%d", pci, target, lun);
int prio = bootprio_find_scsi_device(pci, target, lun);
int ret = scsi_drive_setup(&plun->drive, name, prio);

View File

@ -183,8 +183,6 @@ init_virtio_blk(void *data)
status |= VIRTIO_CONFIG_S_DRIVER_OK;
vp_set_status(&vdrive->vp, status);
boot_lchs_find_pci_device(pci, &vdrive->drive.lchs);
return;
fail:

View File

@ -121,8 +121,6 @@ virtio_scsi_add_lun(u32 lun, struct drive_s *tmpl_drv)
virtio_scsi_init_lun(vlun, tmpl_vlun->pci, tmpl_vlun->vp, tmpl_vlun->vq,
tmpl_vlun->target, lun);
boot_lchs_find_scsi_device(vlun->pci, vlun->target, vlun->lun,
&(vlun->drive.lchs));
int prio = bootprio_find_scsi_device(vlun->pci, vlun->target, vlun->lun);
int ret = scsi_drive_setup(&vlun->drive, "virtio-scsi", prio);
if (ret)