aboutsummaryrefslogtreecommitdiffstats
path: root/src/optionroms.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2009-02-08 15:44:08 -0500
committerKevin O'Connor <kevin@koconnor.net>2009-02-08 15:44:08 -0500
commit9f4e1d9ad54ceb4876c4457907766799ab15f1a3 (patch)
tree3565a9b2a457aceda5ff8c6bd13f4f89da556900 /src/optionroms.c
parent60b69990a521993a901abc07b17f5135c2a5ecb5 (diff)
downloadseabios-9f4e1d9ad54ceb4876c4457907766799ab15f1a3.tar.gz
Reorganize boot code.
Simplify keyboard handling in post_menu.c, and move to util.c. Move remaining functions in post_menu.c to boot.c; remove post_menu.c. Also, remove broken check for F12 when in boot menu. Move BEV setup code from post.c to boot.c. Move option rom BEV adding code from optionroms.c to boot.c. Avoid calling BX_PANIC during boot if there is an alternative.
Diffstat (limited to 'src/optionroms.c')
-rw-r--r--src/optionroms.c26
1 files changed, 1 insertions, 25 deletions
diff --git a/src/optionroms.c b/src/optionroms.c
index 97e9d42b..d9c4e0e3 100644
--- a/src/optionroms.c
+++ b/src/optionroms.c
@@ -148,30 +148,6 @@ get_pci_rom(struct rom_header *rom)
return pci;
}
-// Add a BEV vector for a given pnp compatible option rom.
-static void
-add_ipl(struct rom_header *rom, struct pnp_data *pnp)
-{
- // Found a device that thinks it can boot the system. Record
- // its BEV and product name string.
-
- if (! CONFIG_BOOT)
- return;
-
- if (IPL.count >= ARRAY_SIZE(IPL.table))
- return;
-
- struct ipl_entry_s *ip = &IPL.table[IPL.count];
- ip->type = IPL_TYPE_BEV;
- ip->vector = (FLATPTR_TO_SEG(rom) << 16) | pnp->bev;
-
- u16 desc = pnp->productname;
- if (desc)
- ip->description = MAKE_FLATPTR(FLATPTR_TO_SEG(rom), desc);
-
- IPL.count++;
-}
-
// Copy a rom to its permanent location below 1MiB
static struct rom_header *
copy_rom(struct rom_header *rom)
@@ -349,7 +325,7 @@ optionrom_setup()
// PnP rom.
if (pnp->bev)
// Can boot system - add to IPL list.
- add_ipl(rom, pnp);
+ add_bev(FLATPTR_TO_SEG(rom), pnp->bev, pnp->productname);
else
// Check for BCV (there may be multiple).
while (pnp && pnp->bcv) {