| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Some functions are ignoring the const qualifier.
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Introduce a predicate inline to test for a valid terminal address.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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_[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 an API function to shuffle and boot which sets *all* RM registers;
- Move those structures to <syslinux/bootpm.h> and <syslinux/bootrm.h>
|
|
|
|
|
|
| |
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.
|
|
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.
|