| 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>
|
|
|
|
|
| |
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The address in EDI returned by the load_high call used to load the
kernel needs to be passed to parse_load_initrd, but the code which
clears memory after setup sectors for 1.2.x kernels was corrupting
low 16 bits of EDI. In most cases this corruption was not noticed,
because with usual setup sizes DI was set to 0xf800, therefore the
chance of getting the kernel size such that initrd would actually
overwrite the kernel was about 3%.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Attempts to load *.lkrn images were failing with "Not enough memory
to load specified image". These images have the su_ramdisk_max
header field set to zero, and the code in core/runkernel.inc was
limiting MyHighMemSize too early (before the load_high call used to
load the main part of the kernel).
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
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
|
| |
|
|
|
|
|
| |
People often don't bother specifying a baud rate for virtual serial
ports. Handle parsing correctly.
|
|
|
|
|
|
| |
Need leading ./ to run shell script in the current directory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
ldlinux and extlinux are both using CurrentDir variable name.
Rename CurDir to make it consistent with those.
- 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>
|
|
|
|
|
|
|
|
| |
Search for the MinGW compiler under several names, since different
distros like to install it under different names. What's wrong with a
simple mingw- prefix??
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>
|
|
|
|
| |
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Fix numerous problems in the way we handled the ADV with CBIOS. The
EBIOS code was largely correct, but the CBIOS code was just busted.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
Remove assumption that mangle_name leaves DI beyond the end of the
buffer. This was true back when the mangled filename buffer was an
11-byte DOS filename, but it is definitely not true anymore.
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 git-describe comes up with a tag not starting with
syslinux-<version>- then leave it as-is.
|
|
|
|
|
| |
We got rid of the 10-character limitation a long time ago, so we might
as well use "git describe" in generating the build signatures.
|
| |
|
| |
|
|
|
|
|
|
| |
The keymap and font commands still assumed that we knew the file size,
which is no longer true. Fix that by instead using "readc" and
checking the CF.
|
|
|
|
|
| |
Add "readc" function to do block reads. Currently it just does a loop
around "call getc/stosb".
|
|
|
|
|
| |
Add back jump to loadkeys_ret if the file size was not 256 bytes;
inadvertently deleted when removing DX:AX 16-bitism.
|
| |
|
|
|
|
| |
The KEYMAP command still expected length in DX:AX, and so got broken.
|
|
|
|
|
| |
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.
|
|
|
|
| |
Add the INITRD statement and a few other updates.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a syslinux floppy does not contain a config file (syslinux.cfg) modules are
not being found unless specified with a directory prefix (e.g. /pcitest.c32).
The reason is that CurrentDir is only set if there is a config file present. This is a
possible regression since commit 68eefb79e2cbb590ebf958dd0c50ce00b941abd2.
Before this change RootDir was used in searchdir and now it's CurrentDir unless
the filename starts with '/'. Possible fix is to set CurrentDir to RootDir if no config
file is found.
Actually it seems better to move this to the top of the "check for config file" block.
Initialize CurrentDir to RootDir and change it if a config file is found.
- Sebastian
|
|
|
|
| |
For cleaning commands, we need version.mk to be optional.
|
|
|
|
| |
Both core and memdisk wants to use the gen-id stuff, so let it.
|
|
|
|
| |
Centralize more (most) of the version number machinery to version.pl.
|
|
|
|
|
| |
Drop macros for "date" and "version_str", which are nothing but
redefined names of macros we already define (DATE_STR and VERSION).
|
|
|
|
| |
Try again to enable the idle call.
|
|
|
|
|
|
| |
Fix the text for pci_bus_list->count == 1 ("1 bus found").
- Sebastian
|
|
|
|
|
| |
DF is undefined on entry, so make sure we clear it at all entry points
where it could possibly matter.
|
| |
|
|
|
|
|
| |
- save and restore all the DOS vectors around COMBOOT invocations.
- handle INT 28h and INT 29h, and IRET on INT 2Dh, 2Fh, 33h.
|