aboutsummaryrefslogtreecommitdiff
path: root/src/ata.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2010-12-27 19:26:57 -0500
committerKevin O'Connor <kevin@koconnor.net>2010-12-27 19:26:57 -0500
commit031ef55b50361adff3d1d2766543d2f9c6ce1998 (patch)
tree3e2dda3e51ac61ed28a9b830e35f71e55bbaebab /src/ata.c
parent72eee3eff7a6984979dac5caafcd19761e657ed8 (diff)
downloadseabios-hppa-031ef55b50361adff3d1d2766543d2f9c6ce1998.zip
seabios-hppa-031ef55b50361adff3d1d2766543d2f9c6ce1998.tar.gz
seabios-hppa-031ef55b50361adff3d1d2766543d2f9c6ce1998.tar.bz2
Add stubs to permit devices to specify their boot priority.
Add support for passing in priorities to bootlist system. Based on patch by: Gleb Natapov <gleb@redhat.com>
Diffstat (limited to 'src/ata.c')
-rw-r--r--src/ata.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/ata.c b/src/ata.c
index e01f842..872c5e3 100644
--- a/src/ata.c
+++ b/src/ata.c
@@ -783,8 +783,12 @@ init_drive_atapi(struct atadrive_s *dummy, u16 *buffer)
dprintf(1, "%s\n", adrive_g->drive.desc);
// fill cdidmap
- if (iscd)
- boot_add_cd(&adrive_g->drive);
+ if (iscd) {
+ int prio = bootprio_find_ata_device(adrive_g->chan_gf->pci_bdf,
+ adrive_g->chan_gf->chanid,
+ adrive_g->slave);
+ boot_add_cd(&adrive_g->drive, prio);
+ }
return adrive_g;
}
@@ -833,8 +837,11 @@ init_drive_ata(struct atadrive_s *dummy, u16 *buffer)
// 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);
// Register with bcv system.
- boot_add_hd(&adrive_g->drive);
+ boot_add_hd(&adrive_g->drive, prio);
return adrive_g;
}