aboutsummaryrefslogtreecommitdiff
path: root/src/system.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2009-01-19 19:25:21 -0500
committerKevin O'Connor <kevin@koconnor.net>2009-01-19 19:25:21 -0500
commit8b267cb8a739576cd08c82d0ee75d6b14407c09c (patch)
tree3ce86bab73a41627f56d4c658b79fc10a891509b /src/system.c
parent79f4118e50ce256994b75b99811ceb0e6a812a13 (diff)
downloadseabios-hppa-8b267cb8a739576cd08c82d0ee75d6b14407c09c.zip
seabios-hppa-8b267cb8a739576cd08c82d0ee75d6b14407c09c.tar.gz
seabios-hppa-8b267cb8a739576cd08c82d0ee75d6b14407c09c.tar.bz2
Implement memcpy_far and checksum_far, and replace _fl variants.
The "flat" mode variants work in real mode, but will not work in protected mode. So, replace with versions that take explicit segments.
Diffstat (limited to 'src/system.c')
-rw-r--r--src/system.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/system.c b/src/system.c
index 5f39a98..798dc25 100644
--- a/src/system.c
+++ b/src/system.c
@@ -279,9 +279,9 @@ handle_15e820(struct bregs *regs)
return;
}
- memcpy_fl(MAKE_FLATPTR(regs->es, regs->di)
- , MAKE_FLATPTR(SEG_BIOS, &e820_list[regs->bx])
- , sizeof(e820_list[0]));
+ memcpy_far(regs->es, (void*)(regs->di+0)
+ , get_global_seg(), &e820_list[regs->bx]
+ , sizeof(e820_list[0]));
if (regs->bx == count-1)
regs->ebx = 0;
else