| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
If we're booting a disk or partition, then error out if the loaded
sector doesn't have a boot sector signature, rather than the
otherwise-inevitable crash.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
| |
Avoid touching memory at address zero when going from a background to
a non-background.
|
| |
|
|
|
|
|
|
|
|
|
| |
pci_bus->pci_device get's populated with functions so it
should take up to MAX_PCI_DEVICES * MAX_PCI_FUNC elements.
pci_device_list->pci_device get's populated with functions
for every possible pci bus. Therefore it should take up to
MAX_PCI_BUS * MAX_PCI_DEVICES * MAX_PCI_FUNC elements.
Also adjust count variable types.
- Sebastian
|
| |
|
|
|
|
|
| |
Replace get_config() and execute() with syslinux_config_file() and
syslinux_run_command().
- Sebastian
|
| |
|
|
|
|
| |
Minor asm() formatting cleanup.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
| |
Drop "return" for function returning void.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
|
|
| |
<sys/cpu.h> already has most of the CPUID inlines, put them all there.
<cpuid.h> still have structures for the code that really should be
librarized at some point.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
| |
Clean up the sources to make them easier to read.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
| |
Add __constfunc to CPUID calls, so gcc knows it can CSE them.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
|
| |
Remove a bunch of unused macros (from Linux) which we don't need or
use.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
|
| |
A very simple module to choose between a 32-bit, 32-bit PAE, or a
64-bit kernel depending on the capabilities of the CPU.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
| |
Minor cleanups to the CPUID code
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
The result of shift in C is undefined if the shift count is greater
than the width of type. On x86 the corresponding CPU instruction
masks the shift count with 0x1f, therefore (mask >> (t & ~0x10)) & 1)
gives false positives for types greater than 0x1f (e.g., the partition
type 0x8e (Linux LVM) could be "hidden" to 0x9e).
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix breakage in the "hide" option support patch:
- The code which initialized the global variable "dapa" was lost in
commit 81c203f2, therefore EBIOS access did not work properly.
Fixed by removing the global variable completely and moving all
bounce buffer handling into read_sector() and write_sector().
- write_sector() copied data to the bounce buffer, but then tried
to use the pointer to the original buffer in BIOS calls.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
| |
If we write the MBR, do verify by reading it back and comparing.
Right now all we do is print an error, though.
|
| |
|
|
| |
Option for chain.c32 to hide primary partitions on the boot drive.
|
| |
|
|
|
|
| |
Fix the text for pci_bus_list->count == 1 ("1 bus found").
- Sebastian
|
| |
|
|
|
| |
Allow the initrd to be specified on a separate line from command-line
options (append). This apparently can help certain tools.
|
| |
|
|
| |
Really, really try to avoid stepping on disabled entries...
|
| |
|
|
|
| |
Allow "boot" as the drive specification; this can be used both with
partition numbers and with loaders.
|
| |
|
|
| |
We don't need the ANSI engine in mboot.c32.
|
| |
|
|
|
|
|
|
|
|
|
| |
Default to \n -> \r\n conversion in the ANSI and xserial modules,
rather than relying on escape codes to make that behave. This
effectively means that as far as the serial port is concerned, this
behavior cannot be turned off (with less than having the xserial state
machine interpret this sequence) and the escape code *should not* be
used.
That is fine for our applications, though.
|
| |
|
|
|
| |
Make the syntax for chain.c32 more Linux-kernel-like. This also makes
parsing easier, so it's a win all around.
|
| |
|
|
|
| |
Comma-space takes up too much horizontal space, since we
want to be able to comment properly.
|
| |
|
|
|
|
| |
Check the stub sources into the tree, even though they aren't used by
the build; they are still useful when experimenting with changing this
stuff.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
dosmem and int13 can change during boot loader shutdown. It
is therefore unsafe to rely on them retaining their value from
running in chain.c32 itself. Instead, we have to install a
suitable stub which makes that particular determination at
runtime. Fortunately that is not all that hard to do.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Support loading files below 0x7c00, as required, for example, by DOS
kernels. Furthermore, pass the drive number in BL as well as DL.
With this, we can load the FreeDOS kernel with:
chain.c32 hd0 -seg 0x60 -file /kernel.sys
Should really clean up the syntax before 3.70 final, though, and
provide a way to default to the syslinux device.
|
| |
|
|
|
| |
SS is segment 2, DS is segment 3; this header had them backwards.
Fortunately not too many things relied on having DS != SS.
|
| |
|
|
| |
Settle on a final implementation of the NTLDR support.
|
| |
|
|
| |
Make sure we don't trash a useful value in errno.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In include/sys/pci.h we have
#define MAX_PCI_BUSES 255
and
struct pci_bus_list {
struct pci_bus pci_bus[MAX_PCI_BUSES];
uint8_t count;
};
And in lib/pci/scan.c
for (bus = 0; bus <= MAX_PCI_BUSES; bus++) {
pci_bus_list->pci_bus[bus].pci_device_count = 0;
Fix possible overflows and introduce MAX_PCI_FUNC.
- Sebastian
|
| |
|
|
|
| |
Don't install the swap stub when we are already the primary drive,
even if -swap is specified.
|
| |
|
|
| |
Support installing a stub to swap BIOS drive numbers.
|
| |
|
|
|
| |
Use the shuffle API, and support loading a boot file instead of the
standard boot sector. This should be able to load NTLDR.
|
| |
|
|
| |
Aligning versions of memcpy/memmove/mempcpy/memset for libcom32.
|
| |
|
|
|
|
|
| |
Begin the process of centralizing configurables.
Improve "make install" and "make netinstall"; add "make
extbootinstall".
|
| |
|
|
|
|
|
|
| |
Move source files out of the root directory; the root is a mess and
has become virtually unmaintainable. The Syslinux core now lives in
core/; the Linux and generic utilities has moved into utils/, and
copybs.com has moved into dos/; it had to go somewhere, and it seemed
as good a place as any.
|
| |\
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
version
|
| | |
| |
| |
| | |
-fstack-protector flag enabled by default.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Booting from a logical partition failed with the "Requested logical
partition not found" error due to a wrong test for partition signature
in find_logical_partition().
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
|
| | |
| |
| |
| |
| | |
Following changes to other Makefiles use $(CC) for examining compiler
options here as well.
|
| |\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
NEWS
com32/modules/Makefile
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Rewrite the algorithm to prefer entries which can be directly moved
into their target slots; this should reduce the number of descriptors
in most cases (although not necessarily *all* cases.)
Try to clean up the code some while we're at it... the code is
confusing enough as it is.
|
| | |
| |
| |
| |
| | |
The old code could fail to coalesce backwards in the case where a
range is totally obliterated. For now, just scan the whole list.
|
| | |
| |
| |
| | |
Print minimal message while loading.
|
| | |
| |
| |
| |
| |
| | |
Use the syslinux_memmap data structure for the free memory list. This
means we get range coalescing; this sometimes generates lists that are
vastly shorter than without range coalescing.
|
| | |
| |
| |
| |
| | |
Handle the case of an upward move when there is something in the way.
This happens when loading an SDI image.
|
| | |
| |
| |
| | |
COM32 module to load a Microsoft System Deployment Image (SDI) file.
|