summaryrefslogtreecommitdiff
path: root/com32/include/syslinux/movebits.h
Commit message (Collapse)AuthorAgeFilesLines
* Add const qualifiersGene Cumm2014-01-251-1/+1
| | | | | | Some functions are ignoring the const qualifier. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* load_linux: dynamically calculate the cmdline regionsyslinux-6.02-pre12Matt Fleming2013-07-251-0/+4
| | | | | | | | | | | | 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 <hpa@zytor.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* movebits: add an inline to test for SMT_FREE || SMT_TERMINALH. Peter Anvin2013-07-171-0/+5
| | | | | | Introduce a predicate inline to test for a valid terminal address. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* movebits: Add SMT_TERMINAL - a last resort region typeMatt Fleming2013-07-171-0/+1
| | | | | | | | | Some memory regions are usable, but only as a last resort just before we hand over control to a kernel image. Add the necessary movebits infrastructure to use these regions when all other options have been exhausted. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* movebits: Add syslinux_memmap_find()Matt Fleming2013-07-171-0/+6
| | | | | | | | Refactor the code for finding a suitable location for kernel protected-mode and real-mode data. It's complicated enough that it deserves to be separated into its own function. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* zonelist: rename syslinux_memmap_find()...Matt Fleming2013-07-171-3/+3
| | | | | | | to syslinux_memmap_find_type(), which more accurately reflects its function and frees up the old name for another use. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* com32: make syslinux_dump_*() pure debugging functionsH. Peter Anvin2012-05-181-2/+7
| | | | | | | | Make the syslinux_dump_*() functions pure debugging functions; that is the way that they are used anyway, and this way they log to the same place as dprintf. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Run Nindent on com32/include/syslinux/movebits.hH. Peter Anvin2009-05-291-22/+21
| | | | | | | | | Automatically reformat com32/include/syslinux/movebits.h using Nindent. Do this for all files except HDT, gPXE and externally maintained libraries (zlib, tinyjpeg, libpng). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* shuffler: work around KVM problem with the new shufflerH. Peter Anvin2009-04-131-0/+3
| | | | | | | | | | | | | | 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>
* shuffler: make the new shuffler actually workH. Peter Anvin2009-03-311-2/+7
| | | | | | | | | Make the new shuffler actually work. This includes changing rllpack.inc to run in 32-bit mode (since simple_pm_call now switches to 32-bit mode) and changing the new shuffler interface to move the shuffle list before actually doing any work. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Move the prototypes for syslinux_shuffle_boot_*()H. Peter Anvin2008-02-121-12/+0
| | | | | | | Move the prototypes for syslinux_shuffle_boot_[pr]m() from <syslinux/movebits.h> to <syslinux/boot[pr]m.h>, which anyway has the required structure definitions. #include <syslinux/movebits.h> in those files instead of relying on forward structure definitions.
* Add a register-setting shuffle and boot for real mode; clean up headers.syslinux-3.40-pre14H. Peter Anvin2007-03-141-7/+4
| | | | | - Add an API function to shuffle and boot which sets *all* RM registers; - Move those structures to <syslinux/bootpm.h> and <syslinux/bootrm.h>
* Finish the shuffle and boot interface, and add an ELF loading module.H. Peter Anvin2007-03-141-8/+61
| | | | | | The shuffle and boot interface, including the library support, should now work as advertised. Add an ELF-loading module as a demo, and it's probably useful for someone, too.
* Wrapper infrastructure for "shuffle and boot"H. Peter Anvin2007-03-121-0/+44
Initial checkin of a wrapper infrastructure for the "shuffle and boot" interface, both real and protected mode. This code automatically will figure out the necessary sequence of moves, taking into account swaps and overlaps as necessary.