Alexey Zaytsev [Thu, 17 Jul 2008 23:18:19 +0000 (03:18 +0400)]
Can't load precompiled binaries because if missing ungetc
Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
Alexey Zaytsev [Thu, 17 Jul 2008 23:16:59 +0000 (03:16 +0400)]
Add some more lua libs to be compiled.
Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
Alexey Zaytsev [Thu, 17 Jul 2008 22:28:21 +0000 (02:28 +0400)]
Applyed the Go Long Lua! patch
from http://lua-users.org/wiki/LuaPowerPatches
Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
Alexey Zaytsev [Thu, 17 Jul 2008 22:26:37 +0000 (02:26 +0400)]
Replace strcoll with strcmp, we don't have the locale stuff.
Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
Alexey Zaytsev [Thu, 17 Jul 2008 22:25:42 +0000 (02:25 +0400)]
Remove the signal.h dependency from lua.c
Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
Alexey Zaytsev [Thu, 17 Jul 2008 22:23:26 +0000 (02:23 +0400)]
Remove the locale.h dependency from llex.h
Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
Alexey Zaytsev [Thu, 17 Jul 2008 22:22:30 +0000 (02:22 +0400)]
Compile liblua, lua.c32
Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
Alexey Zaytsev [Thu, 17 Jul 2008 21:32:30 +0000 (01:32 +0400)]
Copy the Makefile from the samples dir.
Alexey Zaytsev [Thu, 17 Jul 2008 21:31:03 +0000 (01:31 +0400)]
Add lua to the build list
Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
Alexey Zaytsev [Thu, 17 Jul 2008 21:30:23 +0000 (01:30 +0400)]
Rename the Lua Makefiles
Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
Alexey Zaytsev [Thu, 17 Jul 2008 20:47:28 +0000 (00:47 +0400)]
Import Lua 5.1.3
Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
Sebastian Herbszt [Wed, 16 Jul 2008 23:13:48 +0000 (01:13 +0200)]
isolinux: rename CurDir to CurrentDir
ldlinux and extlinux are both using CurrentDir variable name.
Rename CurDir to make it consistent with those.
- Sebastian
H. Peter Anvin [Thu, 17 Jul 2008 01:57:28 +0000 (18:57 -0700)]
<sys/cpu.h>: asm() formatting cleanup
Minor asm() formatting cleanup.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 17 Jul 2008 01:56:50 +0000 (18:56 -0700)]
<sys/cpu.h>: drop redundant "return"
Drop "return" for function returning void.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 17 Jul 2008 01:56:01 +0000 (18:56 -0700)]
com32: move cpuid inlines to <sys/cpu.h>
<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>
H. Peter Anvin [Thu, 17 Jul 2008 00:01:33 +0000 (17:01 -0700)]
win32: search for a mingw compiler under several names
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>
H. Peter Anvin [Wed, 16 Jul 2008 22:42:20 +0000 (15:42 -0700)]
ifcpu64.c32: clean up the sources
Clean up the sources to make them easier to read.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 16 Jul 2008 22:39:40 +0000 (15:39 -0700)]
cpuid.h: add __constfunc
Add __constfunc to CPUID calls, so gcc knows it can CSE them.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 16 Jul 2008 22:25:06 +0000 (15:25 -0700)]
cpufeature.h: remove unused macros
Remove a bunch of unused macros (from Linux) which we don't need or
use.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 16 Jul 2008 22:21:21 +0000 (15:21 -0700)]
ifcpu64.c32: simple module to choose a 32, 32pae, or 64-bit kernel
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>
H. Peter Anvin [Wed, 16 Jul 2008 22:12:47 +0000 (15:12 -0700)]
cpuid.[ch]: various cleanups
Minor cleanups to the CPUID code
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 16 Jul 2008 18:32:09 +0000 (11:32 -0700)]
NEWS: document ADV CBIOS fix.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 16 Jul 2008 18:27:00 +0000 (11:27 -0700)]
adv: fix the handling of the ADV with CBIOS
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>
H. Peter Anvin [Wed, 16 Jul 2008 18:25:57 +0000 (11:25 -0700)]
parseconfig: fix invalid mangle_name assumption
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>
Sergey Vlasov [Wed, 16 Jul 2008 11:13:21 +0000 (15:13 +0400)]
chain.c32: fix test for partition types which can be hidden
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>
Sergey Vlasov [Wed, 16 Jul 2008 11:13:20 +0000 (15:13 +0400)]
chain.c32: fix bounce buffer handling
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>
H. Peter Anvin [Tue, 15 Jul 2008 23:10:46 +0000 (16:10 -0700)]
gen-id: only truncate tags starting with syslinux-<version>-
If git-describe comes up with a tag not starting with
syslinux-<version>- then leave it as-is.
H. Peter Anvin [Tue, 15 Jul 2008 23:06:14 +0000 (16:06 -0700)]
Use "git describe" in generating build signatures
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.
H. Peter Anvin [Tue, 15 Jul 2008 16:53:47 +0000 (09:53 -0700)]
Reformat overwide comment
H. Peter Anvin [Mon, 14 Jul 2008 20:40:54 +0000 (13:40 -0700)]
NEWS: KEYMAP -> KBDMAP
H. Peter Anvin [Mon, 14 Jul 2008 19:44:21 +0000 (12:44 -0700)]
keymap, font: use readc, so we can handle indeterminate file sizes
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.
H. Peter Anvin [Mon, 14 Jul 2008 19:43:50 +0000 (12:43 -0700)]
getc: add "readc" function to do block reads
Add "readc" function to do block reads. Currently it just does a loop
around "call getc/stosb".
Sebastian Herbszt [Mon, 14 Jul 2008 15:04:02 +0000 (17:04 +0200)]
conio: jump to loadkeys_ret in loadkeys if size not 256 bytes
Add back jump to loadkeys_ret if the file size was not 256 bytes;
inadvertently deleted when removing DX:AX 16-bitism.
H. Peter Anvin [Sun, 13 Jul 2008 23:09:43 +0000 (16:09 -0700)]
Document unbreaking of KEYMAP
H. Peter Anvin [Sun, 13 Jul 2008 23:08:44 +0000 (16:08 -0700)]
Fix residual use of DX:AX in the KEYMAP command
The KEYMAP command still expected length in DX:AX, and so got broken.
H. Peter Anvin [Fri, 11 Jul 2008 05:29:49 +0000 (01:29 -0400)]
chain.c32: explicitly verify after writing MBR
If we write the MBR, do verify by reading it back and comparing.
Right now all we do is print an error, though.
H. Peter Anvin [Fri, 11 Jul 2008 05:22:15 +0000 (01:22 -0400)]
chain.c32: new "hide" option
Option for chain.c32 to hide primary partitions on the boot drive.
H. Peter Anvin [Thu, 10 Jul 2008 00:33:15 +0000 (20:33 -0400)]
syslinux.txt: update; add INITRD
Add the INITRD statement and a few other updates.
H. Peter Anvin [Wed, 9 Jul 2008 19:56:42 +0000 (15:56 -0400)]
Document fix for RootDir
Sebastian Herbszt [Wed, 9 Jul 2008 19:02:39 +0000 (21:02 +0200)]
ldlinux: CurrentDir not set if syslinux.cfg is missing
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
H. Peter Anvin [Mon, 7 Jul 2008 23:11:42 +0000 (16:11 -0700)]
Make version.mk optional, so cleaning commands work
For cleaning commands, we need version.mk to be optional.
H. Peter Anvin [Mon, 7 Jul 2008 22:32:21 +0000 (15:32 -0700)]
Share the gen-id stuff between core and memdisk
Both core and memdisk wants to use the gen-id stuff, so let it.
H. Peter Anvin [Mon, 7 Jul 2008 22:21:56 +0000 (15:21 -0700)]
Centralize more of the version number machinery
Centralize more (most) of the version number machinery to version.pl.
H. Peter Anvin [Mon, 7 Jul 2008 22:00:56 +0000 (15:00 -0700)]
Drop macros that just point to other macros
Drop macros for "date" and "version_str", which are nothing but
redefined names of macros we already define (DATE_STR and VERSION).
H. Peter Anvin [Mon, 7 Jul 2008 21:54:53 +0000 (14:54 -0700)]
comboot: re-enable the idle call
Try again to enable the idle call.
Sebastian Herbszt [Mon, 7 Jul 2008 20:28:16 +0000 (22:28 +0200)]
pcitest: display "1 bus found" instead of "1 buses found"
Fix the text for pci_bus_list->count == 1 ("1 bus found").
- Sebastian
H. Peter Anvin [Mon, 7 Jul 2008 20:20:05 +0000 (13:20 -0700)]
comboot: make sure we CLD at all relevant entry points
DF is undefined on entry, so make sure we clear it at all entry points
where it could possibly matter.
H. Peter Anvin [Mon, 7 Jul 2008 19:46:48 +0000 (12:46 -0700)]
comboot.inc: add missing "section .text"
H. Peter Anvin [Mon, 7 Jul 2008 19:43:15 +0000 (12:43 -0700)]
comboot: save/restore all the DOS vectors; handle a few more
- save and restore all the DOS vectors around COMBOOT invocations.
- handle INT 28h and INT 29h, and IRET on INT 2Dh, 2Fh, 33h.
H. Peter Anvin [Mon, 7 Jul 2008 19:08:47 +0000 (12:08 -0700)]
Include the git ID in the build string
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.
H. Peter Anvin [Fri, 4 Jul 2008 01:45:42 +0000 (18:45 -0700)]
Allow the initrd to be specified on a separate line
Allow the initrd to be specified on a separate line from command-line
options (append). This apparently can help certain tools.
H. Peter Anvin [Thu, 3 Jul 2008 22:32:39 +0000 (15:32 -0700)]
NEWS: handle being the only floppy better.
H. Peter Anvin [Thu, 3 Jul 2008 22:29:57 +0000 (15:29 -0700)]
doc/memdisk.txt: document INT 1Eh fields
Document the fields to recover the original INT 1Eh vector.
H. Peter Anvin [Thu, 3 Jul 2008 22:22:39 +0000 (15:22 -0700)]
memdisk: install a DPT if needed in INT 1Eh; better zero-drive detection
Per the Interrupt list, treat INT 13 08 returning with CL=0 as a
failure, meaning single drive only.
If we find ourselves the only floppy drive, install a DPT into INT
1Eh. This appears to be needed for PC-DOS 7.0 to boot. This can be
overridden with the "nodpt" option, and forced with the "dpt" option.
H. Peter Anvin [Thu, 3 Jul 2008 22:22:18 +0000 (15:22 -0700)]
memdisk/version.h: bump copyright year
2008, not 2007
H. Peter Anvin [Thu, 3 Jul 2008 22:21:36 +0000 (15:21 -0700)]
.gitignore: make singleton filenames absolute
Ignore, for example, version.h, but not memdisk/version.h
H. Peter Anvin [Thu, 3 Jul 2008 02:53:58 +0000 (19:53 -0700)]
extlinux: fix handling of /etc/mtab
When we didn't find the filesystem in /proc/mounts, we would go
through /etc/mtab, but then completely botch the parsing thereof.
Move the parsing to a common function to avoid this problem.
H. Peter Anvin [Thu, 3 Jul 2008 01:34:49 +0000 (18:34 -0700)]
Simple menu: really avoid disabled entries
Really, really try to avoid stepping on disabled entries...
H. Peter Anvin [Tue, 1 Jul 2008 05:23:53 +0000 (22:23 -0700)]
3.70 is out, next release is 3.71
H. Peter Anvin [Tue, 1 Jul 2008 05:23:05 +0000 (22:23 -0700)]
NEWS: There never was a 3.64
There was no 3.64 release; remove the heading.
H. Peter Anvin [Tue, 1 Jul 2008 05:21:47 +0000 (22:21 -0700)]
comboot: issue IRET for INT 2Fh
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.
H. Peter Anvin [Mon, 30 Jun 2008 22:34:05 +0000 (15:34 -0700)]
gPXE: Missing files from gPXE sync
Files that should have been added before...
H. Peter Anvin [Mon, 30 Jun 2008 22:28:16 +0000 (15:28 -0700)]
chain.c32: allow "boot" as a drive specification
Allow "boot" as the drive specification; this can be used both with
partition numbers and with loaders.
H. Peter Anvin [Mon, 30 Jun 2008 19:37:48 +0000 (12:37 -0700)]
gPXE: update gPXE to get rid of gpxe/src/Config
gpxe/src/Config versus gpxe/src/config is a problem on case-deficient
filesystems; update to top of tree gPXE so we don't have that problem
anymore.
H. Peter Anvin [Sun, 29 Jun 2008 02:09:07 +0000 (19:09 -0700)]
cptable.pl: it seems to make more sense to put console first
It seems to make more sense to put the console codepage first, since
it is the more significant of the two codepages. It also makes more
sense in the from..to sense.
H. Peter Anvin [Sat, 28 Jun 2008 02:26:42 +0000 (19:26 -0700)]
spec: can't put anything in the /etc directory if it's not there
Make sure we create the /etc directory before putting something there.
H. Peter Anvin [Sat, 28 Jun 2008 02:20:12 +0000 (19:20 -0700)]
gpxe/Makefile: don't remove gpxelinux.0 for "make dist"
After all, "make dist" is about producing the wrapped binaries for
release.
H. Peter Anvin [Sat, 28 Jun 2008 02:15:00 +0000 (19:15 -0700)]
Build _bin.c files in libinstaller; clean up B/I separation
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.
H. Peter Anvin [Sat, 28 Jun 2008 01:47:02 +0000 (18:47 -0700)]
Fix "make clean", "make installer"
- "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.
H. Peter Anvin [Fri, 27 Jun 2008 22:05:14 +0000 (15:05 -0700)]
Update gPXE to current git
There are some build fixes which may be relevant, so pull in the
latest gPXE git.
H. Peter Anvin [Fri, 27 Jun 2008 22:03:13 +0000 (15:03 -0700)]
gpxe: Separate rules for undionly.kpxe and gpxelinux.0
To avoid confusion during subdirectory make, make the undionly.kpxe ->
gpxelinux.0 conversion an explicit rule.
H. Peter Anvin [Fri, 27 Jun 2008 19:56:10 +0000 (12:56 -0700)]
gPXE: [a20] Send a null command to the KBC after changing A20
Send a null command, specifically "pulse outputs" with no outputs
selected, to the KBC after changing A20. This was apparently done by
DOS, presumably as a synchronization hack, and the authors of the UHCI
spec thought it was inherent. Therefore, there are systems out there
(e.g. HP DL360 G5) which will stop responsing to "legacy USB" unless
they see the null command, 0xFF, written to port 0x64 at the end of
the A20 toggling sequence.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 27 Jun 2008 01:50:22 +0000 (18:50 -0700)]
isolinux: don't clobber bp in getfssec
The comapi functions get very unhappy if bp is ever clobbered, since
it uses bp as a frame pointer.
H. Peter Anvin [Fri, 27 Jun 2008 00:41:52 +0000 (17:41 -0700)]
comboot.doc -> comboot.txt
H. Peter Anvin [Wed, 25 Jun 2008 20:50:50 +0000 (13:50 -0700)]
ldlinux: handle "first byte E5 change to 05" rule in FAT
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.
H. Peter Anvin [Wed, 25 Jun 2008 19:14:05 +0000 (12:14 -0700)]
cptable: error out on incorrect usage
H. Peter Anvin [Wed, 25 Jun 2008 19:10:44 +0000 (12:10 -0700)]
Add more codepage data; support disjoint mappings
Add additional codepage data from the Unicode Consortium.
Additionally, add support for generating codepage files for the case
where the filesystem codepage and the display codepage do not match.
The standard Makefile doesn't actually do that, however.
H. Peter Anvin [Wed, 25 Jun 2008 01:06:09 +0000 (18:06 -0700)]
extlinux: Fix comment
"Bytes left" should be "bytes read"
H. Peter Anvin [Tue, 24 Jun 2008 22:28:40 +0000 (15:28 -0700)]
mboot.c32: no need to include the ANSI engine
We don't need the ANSI engine in mboot.c32.
H. Peter Anvin [Tue, 24 Jun 2008 22:27:12 +0000 (15:27 -0700)]
NEWS: document newline fix.
H. Peter Anvin [Tue, 24 Jun 2008 22:25:14 +0000 (15:25 -0700)]
Default to \n -> \r\n in ANSI and xserial
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.
H. Peter Anvin [Tue, 24 Jun 2008 06:18:30 +0000 (23:18 -0700)]
NEWS: document complex menu system fix
Murali Ganapathy [Mon, 23 Jun 2008 06:04:11 +0000 (23:04 -0700)]
complex menu: Fixed bug in menu.c so complex.c32 works again.
Avoid crashing in the presence of unnamed submenus.
H. Peter Anvin [Tue, 24 Jun 2008 00:21:50 +0000 (17:21 -0700)]
Ugly workaround for bug in GNU ld 2.17
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.
H. Peter Anvin [Mon, 23 Jun 2008 04:25:44 +0000 (21:25 -0700)]
extlinux: actually fix the closing of a file on EOF
Actually close the file properly on EOF, even if not aligned to a
sector boundary. Sigh.
H. Peter Anvin [Mon, 23 Jun 2008 02:11:28 +0000 (19:11 -0700)]
parsecmd: on an unknown keyword, print the unknown keyword
Print the unknown keyword if we run into one.
H. Peter Anvin [Mon, 23 Jun 2008 02:10:53 +0000 (19:10 -0700)]
extlinux: fix the end of file condition
We would incorrectly not set SI=0 when returning from getfssec upon
end of file. Fix this.
H. Peter Anvin [Fri, 20 Jun 2008 23:12:14 +0000 (16:12 -0700)]
NEWS: Document A20 change
H. Peter Anvin [Fri, 20 Jun 2008 23:09:13 +0000 (16:09 -0700)]
chain.c32: use a more Linux-kernel-like syntax
Make the syntax for chain.c32 more Linux-kernel-like. This also makes
parsing easier, so it's a win all around.
H. Peter Anvin [Thu, 19 Jun 2008 23:32:57 +0000 (16:32 -0700)]
core/writedec.inc: fix comment
Decimal, not hex...
H. Peter Anvin [Thu, 19 Jun 2008 18:06:38 +0000 (11:06 -0700)]
core: add decimal number write routine
Add routine to write decimal numbers, currently unused, but likely to
become useful at some time or another.
H. Peter Anvin [Thu, 19 Jun 2008 18:05:06 +0000 (11:05 -0700)]
chain.c: avoid comma-space in assembly stubs
Comma-space takes up too much horizontal space, since we
want to be able to comment properly.
H. Peter Anvin [Thu, 19 Jun 2008 18:00:59 +0000 (11:00 -0700)]
chain.c32: check the stub sources into the tree
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.
H. Peter Anvin [Thu, 19 Jun 2008 17:39:44 +0000 (10:39 -0700)]
Add address aliases for freedos and msdos
H. Peter Anvin [Thu, 19 Jun 2008 17:38:15 +0000 (10:38 -0700)]
chain.c32: minor stylistic cleanup
H. Peter Anvin [Thu, 19 Jun 2008 17:36:07 +0000 (10:36 -0700)]
chain.c: we can't rely on dosmem and int13 in here...
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.
H. Peter Anvin [Thu, 19 Jun 2008 06:43:39 +0000 (23:43 -0700)]
chain.c32: support loading DOS kernels
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.
H. Peter Anvin [Thu, 19 Jun 2008 06:42:47 +0000 (23:42 -0700)]
<syslinux/bootrm.h>: fix order of SS and DS
SS is segment 2, DS is segment 3; this header had them backwards.
Fortunately not too many things relied on having DS != SS.
H. Peter Anvin [Wed, 18 Jun 2008 16:05:33 +0000 (09:05 -0700)]
TEST: issue a null command to the KBC as part of A20-flipping
UHCI supposedly wants a null command (0FFh) sent to the KBC as part of
the A20-flipping sequence. See if that works for us.
H. Peter Anvin [Mon, 16 Jun 2008 07:18:48 +0000 (00:18 -0700)]
codepage: strip accents during shortname upper-casing
If we don't have a direct upper-case equivalent to a character, but we
*do* have the "naked" version of the upper-case character (defined as
the first character of the canonical Unicode decomposition of the
case-mapped character), then use it for the intracodepage table (used
for shortnames.) This matches DOS behaviour. No obvious way, yet, to
handle the fact that DOS doesn't uppercase the lowercase sigma, but
that's not a huge problem; besides, lowercase sigma is mapped to
position 0xE5, which would require dealing with the special handling
of this character in the first position.