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/disk.c | |
parent | 4735877249b30502e4c816bf1dc1a2c0e16be68e (diff) | |
download | seabios-hppa-4d7c37e12ef4ceb6903dd76ee700beb99fbf5f8e.zip seabios-hppa-4d7c37e12ef4ceb6903dd76ee700beb99fbf5f8e.tar.gz seabios-hppa-4d7c37e12ef4ceb6903dd76ee700beb99fbf5f8e.tar.bz2 |
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/disk.c')
-rw-r--r-- | src/disk.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -409,7 +409,7 @@ disk_1348(struct bregs *regs, u8 device) SET_INT13DPT(regs, size, 30); - SET_INT13DPT(regs, dpte_segment, SEG_EBDA); + SET_INT13DPT(regs, dpte_segment, GET_BDA(ebda_seg)); SET_INT13DPT(regs, dpte_offset , offsetof(struct extended_bios_data_area_s, ata.dpte)); @@ -453,7 +453,7 @@ disk_1348(struct bregs *regs, u8 device) SET_EBDA(ata.dpte.reserved, 0); SET_EBDA(ata.dpte.revision, 0x11); - u8 *p = MAKE_FARPTR(SEG_EBDA + u8 *p = MAKE_FARPTR(GET_BDA(ebda_seg) , offsetof(struct extended_bios_data_area_s, ata.dpte)); SET_EBDA(ata.dpte.checksum, -checksum(p, 15)); |