| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
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>
|
| |
|
|
|
| |
People often don't bother specifying a baud rate for virtual serial
ports. Handle parsing correctly.
|
| |
|
|
|
|
|
| |
ldlinux and extlinux are both using CurrentDir variable name.
Rename CurDir to make it consistent with those.
- Sebastian
|
| |
|
|
|
|
|
| |
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>
|
| |
|
|
|
| |
If git-describe comes up with a tag not starting with
syslinux-<version>- then leave it as-is.
|
| | |
|
| |
|
|
|
|
| |
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 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.
|
| |
|
|
|
| |
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.
|
| |
|
|
|
|
| |
If we're doing an unofficial build from git, put the git id and a
dirty flag in the build string, instead of a timestamp. This is a lot
more useful.
|
| |
|
|
|
| |
Allow the initrd to be specified on a separate line from command-line
options (append). This apparently can help certain tools.
|
| |
|
|
|
| |
At least one laptop exists which calls INT 2Fh from inside the BIOS!
So just point INT 2Fh to IRET, and hope that's good enough.
|
| |
|
|
|
|
|
| |
Clean up the BSUBDIR/ISUBDIR separation further. Build _bin.c files,
which are an intermediate stage toward building the installers, in the
libinstaller directory, since that directory is used by all the
installers anyway. That also lets us get bin2c.pl out of the root.
|
| |
|
|
|
|
|
|
|
|
| |
- "make clean" should not clean up things that "make installer" cannot
regenerate.
- "make installer" should not descend into subdirectories which are
target only, e.g. com32 and sample.
The Linux platform stuff in com32 is old and bitrotted, and was only
for debugging in the first place. Just ignore it.
|
| |
|
|
|
| |
The comapi functions get very unhappy if bp is ever clobbered, since
it uses bp as a frame pointer.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
FAT has a somewhat obnoxious rule: byte E5 in the first position is
encoded as 05. If it was *always* that case we could simply fold it
into the codepage tables, but that rule applies only to the first
character.
Note that in the common codepages (incl. 437), E5 is lower-case sigma
(σ), which we currently upper case to upper case sigma (Σ, E4)
preventing a match -- which DOS *doesn't* do (it thinks of the Greek
characters as symbols, not subject to case distinctions.) Putting
that special case in the codepage-generation scripts seems too ugly,
though.
|
| |
|
|
| |
"Bytes left" should be "bytes read"
|
| |
|
|
|
|
|
| |
GNU ld 2.17, which is still included with Debian 4.0 (etch),
mishandles PC-relative relocations to an absolute address. Hack
around it by making pm_entry a segment-relative symbol, completely
unnecessarily so.
|
| |
|
|
|
| |
Actually close the file properly on EOF, even if not aligned to a
sector boundary. Sigh.
|
| |
|
|
| |
Print the unknown keyword if we run into one.
|
| |
|
|
|
| |
We would incorrectly not set SI=0 when returning from getfssec upon
end of file. Fix this.
|
| |
|
|
| |
Decimal, not hex...
|
| |
|
|
|
| |
Add routine to write decimal numbers, currently unused, but likely to
become useful at some time or another.
|
| |
|
|
|
| |
UHCI supposedly wants a null command (0FFh) sent to the KBC as part of
the A20-flipping sequence. See if that works for us.
|
| |
|
|
|
| |
We have made it this far without it, but it seems like a disaster
waiting to happen. We can afford the extra four bytes in sector 1.
|
| |
|
|
| |
Fix a set of bogus calls to writestr_early instead of writestr.
|
| |
|
|
|
|
|
|
|
|
| |
Mechanically rename the writestr functions:
writestr -> writestr_early
cwritestr -> writestr
... to reflect which function is more appropriate to call in normal
circumstances.
|
| | |
|
| |
|
|
|
| |
Print the interrupt number, AX, and CS:IP of the offending system
call.
|
| |
|
|
|
| |
search_dos_dir returns attributes in DL, so we shouldn't push/pop DX
around this function!
|
| |
|
|
| |
Add file missing from checkin 012d53b0453ac7a5ec03fb802434fe64e6f85bf5
|
| | |
|
| |
|
|
|
| |
Enable idle calls on select platforms, based on device ID.
In particular, certain Broadcom chips need them to avoid FIFO stalls.
|
| |
|
|
|
| |
Make the codepage data all derive from the Unicode tables, and create
files that could be dynamically loaded in the future.
|
| |
|
|
|
| |
Always align the destination in transfers in bcopy32. We should also
do this in the varous other implementations, especially in com32.
|
| |
|
|
|
|
|
| |
Initial support for VFAT long filenames; currently hard-coded to
codepage 865, no support for other codepages or for accessing files
with names which aren't in the current codepage. This hopefully
shouldn't be an issue for SYSLINUX applications.
|
| |
|
|
| |
If the base section stuff exceeds 64K, then fail.
|