summaryrefslogtreecommitdiff
path: root/com32/include/syslinux/movebits.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-04-13 19:11:30 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-04-13 19:11:30 -0700
commitf2ebe30cefa59def4bc590f3ced08465b839430e (patch)
tree383fb040cd3624aa2d531c8dcd7dfd51579fe16d /com32/include/syslinux/movebits.h
parent3a1bc74b6c26b55a52459d9748375bf3aa15db37 (diff)
downloadsyslinux-f2ebe30cefa59def4bc590f3ced08465b839430e.tar.gz
shuffler: work around KVM problem with the new shuffler
KVM uses V86 mode to simulate real mode. This causes problems with the new shuffler. This changes the shuffler handover to be in 16-bit protected mode instead, and requires the stub to do the actual entry to real mode. For the KVM hack to work, all segments must have: (seg.base & 0xfff0000f) == 0 && seg.limit == 0xffff As a result, we have to make sure the real-mode entry stub is paragraph-aligned, lest we violate the first criterion. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'com32/include/syslinux/movebits.h')
-rw-r--r--com32/include/syslinux/movebits.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/com32/include/syslinux/movebits.h b/com32/include/syslinux/movebits.h
index ff3711ee..f0cb2774 100644
--- a/com32/include/syslinux/movebits.h
+++ b/com32/include/syslinux/movebits.h
@@ -79,6 +79,9 @@ int syslinux_memmap_largest(struct syslinux_memmap *list,
addr_t *start, addr_t *len);
void syslinux_free_memmap(struct syslinux_memmap *list);
struct syslinux_memmap *syslinux_dup_memmap(struct syslinux_memmap *list);
+int syslinux_memmap_find(struct syslinux_memmap *list,
+ enum syslinux_memmap_types type,
+ addr_t *start, addr_t *len, addr_t align);
/* Debugging functions */
void syslinux_dump_movelist(FILE *file, struct syslinux_movelist *ml);