diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2008-12-26 23:50:17 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2008-12-26 23:50:17 -0500 |
commit | 4d7c37e12ef4ceb6903dd76ee700beb99fbf5f8e (patch) | |
tree | 775ea50649f399752e929bd7cdcdc14e42a548c6 /src/optionroms.c | |
parent | 4735877249b30502e4c816bf1dc1a2c0e16be68e (diff) | |
download | seabios-4d7c37e12ef4ceb6903dd76ee700beb99fbf5f8e.tar.gz |
Support a relocatable ebda segment.
Some option roms will try to relocate the ebda.
Also fix an apparent typo in the assignment of ivecs[0x46].
Diffstat (limited to 'src/optionroms.c')
-rw-r--r-- | src/optionroms.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/optionroms.c b/src/optionroms.c index 89381634..b7bc1108 100644 --- a/src/optionroms.c +++ b/src/optionroms.c @@ -96,10 +96,6 @@ callrom(struct rom_header *rom, u16 offset, u16 bdf) call16big(&br); debug_serial_setup(); - - if (GET_BDA(ebda_seg) != SEG_EBDA) - BX_PANIC("Option rom at %x:%x attempted to move ebda from %x to %x\n" - , seg, offset, SEG_EBDA, GET_BDA(ebda_seg)); } // Verify that an option rom looks valid @@ -154,14 +150,13 @@ get_pci_rom(struct rom_header *rom) static void add_ipl(struct rom_header *rom, struct pnp_data *pnp) { -#define ebda ((struct extended_bios_data_area_s *)MAKE_FARPTR(SEG_EBDA, 0)) - // Found a device that thinks it can boot the system. Record // its BEV and product name string. if (! CONFIG_BOOT) return; + struct extended_bios_data_area_s *ebda = get_ebda_ptr(); if (ebda->ipl.count >= ARRAY_SIZE(ebda->ipl.table)) return; |