summaryrefslogtreecommitdiff
path: root/com32/lib/syslinux/shuffle_rm.c
Commit message (Collapse)AuthorAgeFilesLines
* Run Nindent on com32/lib/syslinux/shuffle_rm.cH. Peter Anvin2009-05-291-86/+86
| | | | | | | | | Automatically reformat com32/lib/syslinux/shuffle_rm.c 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: fix setting up esp in real-mode shufflesH. Peter Anvin2009-05-041-1/+1
| | | | | | | The value of esp set in real-mode shuffles was wrong. This unfortunately broke linux.c32 :( Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* shuffle_rm: clean up the trampoline generator with macrosH. Peter Anvin2009-04-231-31/+50
| | | | | | | Define macros for common constructs to clean up the rm trampoline generator. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* shuffle_rm: set up SS:ESP and segs as quickly as possibleH. Peter Anvin2009-04-231-13/+40
| | | | | | | For extra paranoia's sake, set up SS:ESP immediately after the real-mode switch, and then set all the segment registers. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* shuffle_rm.c: minor style cleanupH. Peter Anvin2009-04-131-8/+8
| | | | | | Try to make the code just a little easier to read. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* shuffler: work around KVM problem with the new shufflerH. Peter Anvin2009-04-131-8/+15
| | | | | | | | | | | | | | 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>
* bootrm: allow entering with IF=1; smarter stub locationH. Peter Anvin2009-04-131-26/+26
| | | | | | | | Change the stub location algorithm to prefer low memory above 0x800; above 0x510 if that is unavailable. Also add the ability to invoke the real-mode code with IF=1 if so is desired. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Update copyright noticesH. Peter Anvin2009-04-041-1/+2
| | | | Update copyright notices; add Intel copyright notices where appropriate.
* shuffler: make the new shuffler actually workH. Peter Anvin2009-03-311-14/+62
| | | | | | | | | 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>
* Update copyright yearH. Peter Anvin2008-01-101-1/+1
|
* Stealth whitespace cleanup (automated)H. Peter Anvin2007-03-141-5/+5
|
* Add a register-setting shuffle and boot for real mode; clean up headers.syslinux-3.40-pre14H. Peter Anvin2007-03-141-8/+10
| | | | | - 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-1/+2
| | | | | | 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/+66
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.