platform/upstream/syslinux.git
16 years agogPXE: [a20] Send a null command to the KBC after changing A20 syslinux-3.70-pre27
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>
16 years agoisolinux: don't clobber bp in getfssec syslinux-3.70-pre26
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.

16 years agocomboot.doc -> comboot.txt syslinux-3.70-pre25
H. Peter Anvin [Fri, 27 Jun 2008 00:41:52 +0000 (17:41 -0700)]
comboot.doc -> comboot.txt

16 years agoldlinux: handle "first byte E5 change to 05" rule in FAT
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.

16 years agocptable: error out on incorrect usage
H. Peter Anvin [Wed, 25 Jun 2008 19:14:05 +0000 (12:14 -0700)]
cptable: error out on incorrect usage

16 years agoAdd more codepage data; support disjoint mappings
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.

16 years agoextlinux: Fix comment
H. Peter Anvin [Wed, 25 Jun 2008 01:06:09 +0000 (18:06 -0700)]
extlinux: Fix comment

"Bytes left" should be "bytes read"

16 years agomboot.c32: no need to include the ANSI engine syslinux-3.70-pre24
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.

16 years agoNEWS: document newline fix.
H. Peter Anvin [Tue, 24 Jun 2008 22:27:12 +0000 (15:27 -0700)]
NEWS: document newline fix.

16 years agoDefault to \n -> \r\n in ANSI and xserial
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.

16 years agoNEWS: document complex menu system fix syslinux-3.70-pre23
H. Peter Anvin [Tue, 24 Jun 2008 06:18:30 +0000 (23:18 -0700)]
NEWS: document complex menu system fix

16 years agocomplex menu: Fixed bug in menu.c so complex.c32 works again.
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.

16 years agoUgly workaround for bug in GNU ld 2.17
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.

16 years agoextlinux: actually fix the closing of a file on EOF syslinux-3.70-pre22
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.

16 years agoparsecmd: on an unknown keyword, print the unknown keyword syslinux-3.70-pre21
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.

16 years agoextlinux: fix the end of file condition
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.

16 years agoNEWS: Document A20 change syslinux-3.70-pre20
H. Peter Anvin [Fri, 20 Jun 2008 23:12:14 +0000 (16:12 -0700)]
NEWS: Document A20 change

16 years agochain.c32: use a more Linux-kernel-like syntax
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.

16 years agocore/writedec.inc: fix comment
H. Peter Anvin [Thu, 19 Jun 2008 23:32:57 +0000 (16:32 -0700)]
core/writedec.inc: fix comment

Decimal, not hex...

16 years agocore: add decimal number write routine
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.

16 years agochain.c: avoid comma-space in assembly stubs
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.

16 years agochain.c32: check the stub sources into the tree
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.

16 years agoAdd address aliases for freedos and msdos
H. Peter Anvin [Thu, 19 Jun 2008 17:39:44 +0000 (10:39 -0700)]
Add address aliases for freedos and msdos

16 years agochain.c32: minor stylistic cleanup
H. Peter Anvin [Thu, 19 Jun 2008 17:38:15 +0000 (10:38 -0700)]
chain.c32: minor stylistic cleanup

16 years agochain.c: we can't rely on dosmem and int13 in here...
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.

16 years agochain.c32: support loading DOS kernels
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.

16 years ago<syslinux/bootrm.h>: fix order of SS and DS
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.

16 years agoTEST: issue a null command to the KBC as part of A20-flipping syslinux-3.70-pre19
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.

16 years agocodepage: strip accents during shortname upper-casing
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.

16 years agocodepage: include case variant characters in UnicodeData
H. Peter Anvin [Mon, 16 Jun 2008 07:07:23 +0000 (00:07 -0700)]
codepage: include case variant characters in UnicodeData

Adjust the gensubset.pl script to that all case variants are
explicitly included in UnicodeData.

16 years agoTODO: remove obsolete items
H. Peter Anvin [Mon, 16 Jun 2008 06:55:30 +0000 (23:55 -0700)]
TODO: remove obsolete items

16 years agochain.c32: finalize the NTLDR interface syslinux-3.70-pre18
H. Peter Anvin [Mon, 16 Jun 2008 00:05:37 +0000 (17:05 -0700)]
chain.c32: finalize the NTLDR interface

Settle on a final implementation of the NTLDR support.

16 years agoloadfile: make sure we don't trash errno
H. Peter Anvin [Mon, 16 Jun 2008 00:03:18 +0000 (17:03 -0700)]
loadfile: make sure we don't trash errno

Make sure we don't trash a useful value in errno.

16 years agowritestr_early: save/restore registers
H. Peter Anvin [Sun, 15 Jun 2008 17:43:14 +0000 (10:43 -0700)]
writestr_early: save/restore registers

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.

16 years agoFix bogus instances of writestr_early
H. Peter Anvin [Sun, 15 Jun 2008 17:42:01 +0000 (10:42 -0700)]
Fix bogus instances of writestr_early

Fix a set of bogus calls to writestr_early instead of writestr.

16 years agoMechanically rename the writestr functions
H. Peter Anvin [Sun, 15 Jun 2008 17:37:10 +0000 (10:37 -0700)]
Mechanically rename the writestr functions

Mechanically rename the writestr functions:

writestr   -> writestr_early
cwritestr  -> writestr

... to reflect which function is more appropriate to call in normal
circumstances.

16 years agogpxe: update gpxe to latest git
H. Peter Anvin [Fri, 13 Jun 2008 23:20:05 +0000 (16:20 -0700)]
gpxe: update gpxe to latest git

16 years agoMake it explicit that Windows need -swap, even XP :(
H. Peter Anvin [Fri, 13 Jun 2008 21:34:55 +0000 (14:34 -0700)]
Make it explicit that Windows need -swap, even XP :(

16 years agopci: fix off-by-one error and introduce MAX_PCI_FUNC
Sebastian Herbszt [Wed, 11 Jun 2008 20:53:01 +0000 (22:53 +0200)]
pci: fix off-by-one error and introduce MAX_PCI_FUNC

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

16 years agochain.c32: don't swap drives when already primary syslinux-3.70-pre17
H. Peter Anvin [Fri, 13 Jun 2008 00:44:59 +0000 (17:44 -0700)]
chain.c32: don't swap drives when already primary

Don't install the swap stub when we are already the primary drive,
even if -swap is specified.

16 years agoNEWS: Document new chain.c32 features.
H. Peter Anvin [Fri, 13 Jun 2008 00:43:00 +0000 (17:43 -0700)]
NEWS: Document new chain.c32 features.

16 years agochain.c32: support swapping BIOS drive numbers
H. Peter Anvin [Fri, 13 Jun 2008 00:41:08 +0000 (17:41 -0700)]
chain.c32: support swapping BIOS drive numbers

Support installing a stub to swap BIOS drive numbers.

16 years agochain: use shuffle API; support loading a boot file
H. Peter Anvin [Fri, 13 Jun 2008 00:11:42 +0000 (17:11 -0700)]
chain: use shuffle API; support loading a boot file

Use the shuffle API, and support loading a boot file instead of the
standard boot sector.  This should be able to load NTLDR.

16 years agoNEWS: update the blurb about the new MEMDISK geometry stuff.
H. Peter Anvin [Thu, 12 Jun 2008 23:48:00 +0000 (16:48 -0700)]
NEWS: update the blurb about the new MEMDISK geometry stuff.

16 years agofdgeo.pl: exit values; fix division by zero
H. Peter Anvin [Tue, 10 Jun 2008 23:36:30 +0000 (16:36 -0700)]
fdgeo.pl: exit values; fix division by zero

Return exit values to go with the error messages; don't divide by zero
in case of range error.

16 years agoFix DOS interrupt error messages syslinux-3.70-pre16
H. Peter Anvin [Tue, 10 Jun 2008 23:32:00 +0000 (16:32 -0700)]
Fix DOS interrupt error messages

16 years agoWhen erroring out on an DOS interrupt, print info
H. Peter Anvin [Tue, 10 Jun 2008 23:15:23 +0000 (16:15 -0700)]
When erroring out on an DOS interrupt, print info

Print the interrupt number, AX, and CS:IP of the offending system
call.

16 years agoldlinux: search_dos_dir returns attributes in DL syslinux-3.70-pre15
H. Peter Anvin [Tue, 10 Jun 2008 22:40:11 +0000 (15:40 -0700)]
ldlinux: search_dos_dir returns attributes in DL

search_dos_dir returns attributes in DL, so we shouldn't push/pop DX
around this function!

16 years agoAdd *.cp to .gitignore
H. Peter Anvin [Tue, 10 Jun 2008 19:17:08 +0000 (12:17 -0700)]
Add *.cp to .gitignore

16 years agoAdd file missing from previous checkin
H. Peter Anvin [Tue, 10 Jun 2008 17:20:36 +0000 (10:20 -0700)]
Add file missing from previous checkin

Add file missing from checkin 012d53b0453ac7a5ec03fb802434fe64e6f85bf5

16 years agoWhitespace cleanup
H. Peter Anvin [Mon, 9 Jun 2008 23:32:09 +0000 (16:32 -0700)]
Whitespace cleanup

16 years agoPXELINUX: Enable idle calls on select platforms
H. Peter Anvin [Mon, 9 Jun 2008 23:16:31 +0000 (16:16 -0700)]
PXELINUX: Enable idle calls on select platforms

Enable idle calls on select platforms, based on device ID.
In particular, certain Broadcom chips need them to avoid FIFO stalls.

16 years agoFAT: make all codepage data derived from the same place
H. Peter Anvin [Mon, 9 Jun 2008 19:21:05 +0000 (12:21 -0700)]
FAT: make all codepage data derived from the same place

Make the codepage data all derive from the Unicode tables, and create
files that could be dynamically loaded in the future.

16 years agoNEWS: remove redundant clause
H. Peter Anvin [Sat, 7 Jun 2008 21:46:44 +0000 (14:46 -0700)]
NEWS: remove redundant clause

16 years agoMEMDISK: algorithmic determination of floppy formats
H. Peter Anvin [Sat, 7 Jun 2008 21:39:01 +0000 (14:39 -0700)]
MEMDISK: algorithmic determination of floppy formats

Consider all disks < 4 MB to be floppies, and guess their geometry
algorithmically.

16 years agoMEMDISK: Use aligning memcpy/memset, compile with -mregparm=3 syslinux-3.70-pre14
H. Peter Anvin [Fri, 6 Jun 2008 19:38:42 +0000 (12:38 -0700)]
MEMDISK: Use aligning memcpy/memset, compile with -mregparm=3

Use the aligning memcpy/memset from libcom32.  Switch memdisk to
compiling with -mregparm=3, except for the interfaces to assembly.

16 years agoAligning memcpy/memmove/mempcpy/memset for libcom32
H. Peter Anvin [Fri, 6 Jun 2008 19:18:18 +0000 (12:18 -0700)]
Aligning memcpy/memmove/mempcpy/memset for libcom32

Aligning versions of memcpy/memmove/mempcpy/memset for libcom32.

16 years agocore: do aligned transfers in bcopy32
H. Peter Anvin [Fri, 6 Jun 2008 17:57:06 +0000 (10:57 -0700)]
core: do aligned transfers in bcopy32

Always align the destination in transfers in bcopy32.  We should also
do this in the varous other implementations, especially in com32.

16 years agoFAT: Support VFAT long filenames syslinux-3.70-pre13
H. Peter Anvin [Fri, 6 Jun 2008 07:08:13 +0000 (00:08 -0700)]
FAT: Support VFAT long filenames

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.

16 years agocore: fail the link if we push above the 64K point
H. Peter Anvin [Thu, 5 Jun 2008 23:37:24 +0000 (16:37 -0700)]
core: fail the link if we push above the 64K point

If the base section stuff exceeds 64K, then fail.

16 years agocodepage: add "make spotless" target
H. Peter Anvin [Thu, 5 Jun 2008 23:33:58 +0000 (16:33 -0700)]
codepage: add "make spotless" target

16 years agoAdd support for creating codepage/Unicode mapping tables
H. Peter Anvin [Thu, 5 Jun 2008 23:09:50 +0000 (16:09 -0700)]
Add support for creating codepage/Unicode mapping tables

Add support for creating codepage/Unicode mapping tables; this is a
step toward VFAT long filename support.

16 years agopxelinux: remove RBFG section
H. Peter Anvin [Thu, 5 Jun 2008 22:19:30 +0000 (15:19 -0700)]
pxelinux: remove RBFG section

We haven't had the RBFG section in the proper place for quite a while,
and there are better options than RBFG now anyway, so just drop it.

16 years agocore: actually enable debugging info
H. Peter Anvin [Thu, 5 Jun 2008 22:18:56 +0000 (15:18 -0700)]
core: actually enable debugging info

Need to use -g -F stabs, not just -F stabs.

16 years agoUpdate gPXE from gPXE git
H. Peter Anvin [Thu, 5 Jun 2008 01:52:18 +0000 (18:52 -0700)]
Update gPXE from gPXE git

16 years agopxelinux: add colon to label by itself
H. Peter Anvin [Wed, 4 Jun 2008 23:09:58 +0000 (16:09 -0700)]
pxelinux: add colon to label by itself

Newer versions of NASM warn about a label on a line by itself (because
it could have been a typoed opcode.)  Add a colon.

16 years agoCentralize configurables; better "make install" etc
H. Peter Anvin [Fri, 30 May 2008 00:53:42 +0000 (17:53 -0700)]
Centralize configurables; better "make install" etc

Begin the process of centralizing configurables.

Improve "make install" and "make netinstall"; add "make
extbootinstall".

16 years agoShut up gpxe Makefiles when making spotless
H. Peter Anvin [Thu, 29 May 2008 23:11:30 +0000 (16:11 -0700)]
Shut up gpxe Makefiles when making spotless

gpxe Makefiles are just way too loud, especially when just cleaning up.

16 years agoWe're explicitly setting EMBEDDED_IMAGE, so leave src/Config unchanged
H. Peter Anvin [Thu, 29 May 2008 23:10:45 +0000 (16:10 -0700)]
We're explicitly setting EMBEDDED_IMAGE, so leave src/Config unchanged

Since we're explicitly setting EMBEDDED_IMAGE in gpxe/Makefile, no
need to set src/Config.

16 years agoDocument change of directory structure
H. Peter Anvin [Thu, 29 May 2008 23:00:08 +0000 (16:00 -0700)]
Document change of directory structure

16 years agocore/Makefile: remove vestiges of subdirectory machinery
H. Peter Anvin [Thu, 29 May 2008 22:49:01 +0000 (15:49 -0700)]
core/Makefile: remove vestiges of subdirectory machinery

16 years agombr: clean up *_bin.c files
H. Peter Anvin [Thu, 29 May 2008 22:48:46 +0000 (15:48 -0700)]
mbr: clean up *_bin.c files

16 years agoThe only thing still in the root is version.{h,gen}; needed early syslinux-3.70-pre12
H. Peter Anvin [Thu, 29 May 2008 22:43:18 +0000 (15:43 -0700)]
The only thing still in the root is version.{h,gen}; needed early

The only things we still have in the root is version.h and
version.gen.  As a result, move all the subdirectories later, since
they are common prerequisites.

16 years agomkdir the prerel directory
H. Peter Anvin [Thu, 29 May 2008 22:34:54 +0000 (15:34 -0700)]
mkdir the prerel directory

16 years agoStop using Cogito
H. Peter Anvin [Thu, 29 May 2008 22:33:50 +0000 (15:33 -0700)]
Stop using Cogito

Replace remaining Cogito commands with plain git commands.

16 years agoMove files out of root into core, dos, and utils
H. Peter Anvin [Thu, 29 May 2008 22:11:38 +0000 (15:11 -0700)]
Move files out of root into core, dos, and utils

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.

16 years agoFix localboot stack bug; cleanup section handling in the ELF universe syslinux-3.70-pre11
H. Peter Anvin [Thu, 29 May 2008 05:11:57 +0000 (22:11 -0700)]
Fix localboot stack bug; cleanup section handling in the ELF universe

Fix and clean up section handling in ELF; fix stack reset in localboot
directive (for non-pxelinux, that is.)

16 years agoAssemble via ELF, to enable future linking
H. Peter Anvin [Thu, 29 May 2008 01:58:00 +0000 (18:58 -0700)]
Assemble via ELF, to enable future linking

Assemble all files to ELF instead of using the NASM built-in linker.
This can enable us to do actual linking in the future.

16 years agopxenv: save away the PXE return code so COMBOOT can return it syslinux-3.70-pre10
H. Peter Anvin [Wed, 28 May 2008 16:47:44 +0000 (09:47 -0700)]
pxenv: save away the PXE return code so COMBOOT can return it

PXELINUX itself doesn't actually use the PXE return code, but the
COMBOOT interface is supposed to return it.  Accordingly, make sure it
is stashed away so we can return it; for code that doesn't care, it
just writes a dedicated status variable which can be safely ignored.

16 years agoMerge commit 'origin/master' into gpxe-added
H. Peter Anvin [Wed, 28 May 2008 16:23:57 +0000 (09:23 -0700)]
Merge commit 'origin/master' into gpxe-added

Conflicts:

NEWS
version

16 years agoDocument GPT boot protocol; add !GPT signature
H. Peter Anvin [Wed, 14 May 2008 01:30:20 +0000 (18:30 -0700)]
Document GPT boot protocol; add !GPT signature

Document the GPT boot protocol; add additional assurance by
requiring that EAX contains "!GPT" for the GPT information
to be valid.

16 years agoAdd NEWS for 3.64 syslinux-3.64-pre1
H. Peter Anvin [Wed, 14 May 2008 00:59:21 +0000 (17:59 -0700)]
Add NEWS for 3.64

16 years agoMerge commit 'origin/gptmbr'
H. Peter Anvin [Wed, 14 May 2008 00:52:26 +0000 (17:52 -0700)]
Merge commit 'origin/gptmbr'

16 years agoFixed the various Makefiles so that SYSLINUX compiles on platforms with GCC -fstack...
Stefan Bucur [Mon, 12 May 2008 18:47:23 +0000 (21:47 +0300)]
Fixed the various Makefiles so that SYSLINUX compiles on platforms with GCC -fstack-protector flag enabled by default.

16 years agochain.c32: fix booting from logical partitions
Sergey Vlasov [Thu, 24 Apr 2008 19:33:54 +0000 (23:33 +0400)]
chain.c32: fix booting from logical partitions

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>
16 years agoNext version on this branch would be 3.64
H. Peter Anvin [Sun, 20 Apr 2008 04:57:05 +0000 (00:57 -0400)]
Next version on this branch would be 3.64

16 years agolocalboot.inc: file missing from previous checkin
H. Peter Anvin [Sun, 20 Apr 2008 04:55:29 +0000 (00:55 -0400)]
localboot.inc: file missing from previous checkin

16 years agoSupport LOCALBOOT (ISOLINUX-style) in SYSLINUX/EXTLINUX
H. Peter Anvin [Sat, 19 Apr 2008 15:40:10 +0000 (11:40 -0400)]
Support LOCALBOOT (ISOLINUX-style) in SYSLINUX/EXTLINUX

Add support for ISOLINUX-style LOCALBOOT in SYSLINUX/EXTLINUX.  No way
to do the same for PXELINUX, due to the keyword collision.  Suck.

16 years agosyslinux 3.63: Use $(CC) for examining compiler options
Maciej W. Rozycki [Thu, 17 Apr 2008 22:46:08 +0000 (23:46 +0100)]
syslinux 3.63: Use $(CC) for examining compiler options

 Following changes to other Makefiles use $(CC) for examining compiler
options here as well.

16 years agosyslinux 3.63: Rename $GZIP to $GZIPPROG
Maciej W. Rozycki [Thu, 17 Apr 2008 22:57:52 +0000 (23:57 +0100)]
syslinux 3.63: Rename $GZIP to $GZIPPROG

If the variable GZIP exists in the environment, overriding it in the
Makefile exports it into the environment, causing failures:

gzip -cd syslogo.ppm.gz | \
../ppmtolss16 \#000000=0 \#d0d0d0=7 \#f6f6f6=15 \
> syslogo.lss
gzip.gz: No such file or directory
204480 pixels, 25715 bytes, (74.85% compression)

Use $GZIPPROG instead.

16 years agoMerge commit 'syslinux-3.63' into gpxe-added syslinux-3.70-pre9
H. Peter Anvin [Thu, 10 Apr 2008 17:41:32 +0000 (10:41 -0700)]
Merge commit 'syslinux-3.63' into gpxe-added

Conflicts:

NEWS
com32/modules/Makefile

16 years agoNEWS: Add link to MSDN article on how to build a ramdisk image. syslinux-3.63
H. Peter Anvin [Wed, 9 Apr 2008 23:23:06 +0000 (16:23 -0700)]
NEWS: Add link to MSDN article on how to build a ramdisk image.

Hopefully other users might have better luck than me :-/

16 years agomovebits: rewrite significant chunks of the algorithm syslinux-3.63-pre5
H. Peter Anvin [Wed, 9 Apr 2008 17:56:09 +0000 (10:56 -0700)]
movebits: rewrite significant chunks of the algorithm

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.

16 years agozonelist.c: Fix the coalescing of identical ranges
H. Peter Anvin [Wed, 9 Apr 2008 17:49:51 +0000 (10:49 -0700)]
zonelist.c: Fix the coalescing of identical ranges

The old code could fail to coalesce backwards in the case where a
range is totally obliterated.  For now, just scan the whole list.

16 years ago3.63: update NEWS syslinux-3.63-pre4
H. Peter Anvin [Wed, 9 Apr 2008 00:00:05 +0000 (17:00 -0700)]
3.63: update NEWS

16 years agomemdisk: allow up to 1024 e820 descriptors
H. Peter Anvin [Tue, 8 Apr 2008 23:53:49 +0000 (16:53 -0700)]
memdisk: allow up to 1024 e820 descriptors

There are plenty of systems out there with more than 64 e820
descriptors.  The hard-coded limit is only used during initialization,
so we might as well go nuts.

16 years agosdi.c32: be a tad more verbose.
H. Peter Anvin [Tue, 8 Apr 2008 23:52:21 +0000 (16:52 -0700)]
sdi.c32: be a tad more verbose.

Print minimal message while loading.

16 years agomovebits: use the memmap data structure for the freelist
H. Peter Anvin [Tue, 8 Apr 2008 23:47:12 +0000 (16:47 -0700)]
movebits: use the memmap data structure for the freelist

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.

16 years agomovebits: handle the case of an upward overlap move with obstacles
H. Peter Anvin [Tue, 8 Apr 2008 23:02:40 +0000 (16:02 -0700)]
movebits: handle the case of an upward overlap move with obstacles

Handle the case of an upward move when there is something in the way.
This happens when loading an SDI image.

16 years agoextlinux: Correct the directory block end condition syslinux-3.63-pre3
H. Peter Anvin [Mon, 7 Apr 2008 23:39:15 +0000 (16:39 -0700)]
extlinux: Correct the directory block end condition

ext2/3 directory blocks are *not* ended with inode == 0; that reflects
a deleted block (like 0xe5 in FAT.)  Directory blocks are ended by
directory block exhaustion; the last block is simply made as large as
the whole directory block.