From 77cadda8fa63289dbd3d2bbc6eaff7c7e42688c4 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 25 Jul 2013 20:14:09 +0100 Subject: load_linux: dynamically calculate the cmdline region Users are hitting issues where the offset calculated by, (0x9ff0 - cmdline_size) & ~15; is not useable memory, e.g. it is SMT_RESERVED. Instead we should be trying to find the highest lowmem address. Cc: H. Peter Anvin Signed-off-by: Matt Fleming --- com32/include/syslinux/movebits.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'com32/include/syslinux/movebits.h') diff --git a/com32/include/syslinux/movebits.h b/com32/include/syslinux/movebits.h index d12fb584..f35418f9 100644 --- a/com32/include/syslinux/movebits.h +++ b/com32/include/syslinux/movebits.h @@ -83,6 +83,10 @@ enum syslinux_memmap_types syslinux_memmap_type(struct syslinux_memmap *list, int syslinux_memmap_largest(struct syslinux_memmap *list, enum syslinux_memmap_types type, addr_t * start, addr_t * len); +int syslinux_memmap_highest(struct syslinux_memmap *list, + enum syslinux_memmap_types types, + addr_t *start, addr_t len, + addr_t ceiling, addr_t align); void syslinux_free_memmap(struct syslinux_memmap *list); struct syslinux_memmap *syslinux_dup_memmap(struct syslinux_memmap *list); int syslinux_memmap_find_type(struct syslinux_memmap *list, -- cgit v1.2.1