platform/upstream/syslinux.git
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.

16 years agoAdd gpxelinux.0 to NETINSTALLABLE
H. Peter Anvin [Tue, 1 Apr 2008 23:40:07 +0000 (16:40 -0700)]
Add gpxelinux.0 to NETINSTALLABLE

16 years agoCOM32 module to load a Microsoft System Deployment Image
H. Peter Anvin [Mon, 31 Mar 2008 20:11:32 +0000 (13:11 -0700)]
COM32 module to load a Microsoft System Deployment Image

COM32 module to load a Microsoft System Deployment Image (SDI) file.

16 years agoMerge commit 'origin/gpxe-added' into gpxe-added syslinux-3.70-pre8
H. Peter Anvin [Mon, 31 Mar 2008 12:29:08 +0000 (05:29 -0700)]
Merge commit 'origin/gpxe-added' into gpxe-added

16 years agoMerge gpxe-for-syslinux
H. Peter Anvin [Mon, 31 Mar 2008 12:27:05 +0000 (05:27 -0700)]
Merge gpxe-for-syslinux

Merge gpxe-for-syslinux up to commit
71c509be409820a12efeebf31f486e144c9efdae; upstream commit
b107637008d15e00a4d95cdb5c8f5c11fda490f7.

16 years agoNEWS: Document integration of gPXE
H. Peter Anvin [Mon, 31 Mar 2008 12:26:29 +0000 (05:26 -0700)]
NEWS: Document integration of gPXE

16 years agoMerge commit 'origin/gpxe-support' into gpxe-added
H. Peter Anvin [Sat, 29 Mar 2008 05:20:26 +0000 (22:20 -0700)]
Merge commit 'origin/gpxe-support' into gpxe-added

16 years agogPXE SAN boot module
H. Peter Anvin [Sat, 29 Mar 2008 05:11:11 +0000 (22:11 -0700)]
gPXE SAN boot module

Trivial COM32 module which accepts a sanboot command and passes it on
to gPXE.

16 years agoAdd stpcpy() and implement version/derivative queries
H. Peter Anvin [Sat, 29 Mar 2008 05:10:01 +0000 (22:10 -0700)]
Add stpcpy() and implement version/derivative queries

Add stpcpy(), and actually implement syslinux_version() and
syslinux_derivative_info().

16 years agoAdd gPXE into the source tree; build unified image syslinux-3.70-pre7
H. Peter Anvin [Wed, 26 Mar 2008 23:25:35 +0000 (16:25 -0700)]
Add gPXE into the source tree; build unified image

16 years agoDocument gPXE extensions. syslinux-3.70-pre6
H. Peter Anvin [Wed, 26 Mar 2008 22:26:02 +0000 (15:26 -0700)]
Document gPXE extensions.

16 years agoPXELINUX: When doing a gPXE FILE_READ, actually handle errors
H. Peter Anvin [Wed, 26 Mar 2008 22:21:31 +0000 (15:21 -0700)]
PXELINUX: When doing a gPXE FILE_READ, actually handle errors

If gPXE FILE_READ returns an actual error, don't loop forever.

16 years agoPXELINUX: add gPXE PXENV_FILE_API_CHECK call; clean up pxenv
H. Peter Anvin [Wed, 26 Mar 2008 21:59:51 +0000 (14:59 -0700)]
PXELINUX: add gPXE PXENV_FILE_API_CHECK call; clean up pxenv

Add gPXE PXENV_FILE_API_CHECK call, and rationalize the pxenv wrapper
subroutine.  We now always accept the return value in AX and convert
it to a carry, and we always preserve all registers.

16 years agopxelinux: don't rely on PXENV_GET_FILE_SIZE in gPXE support mode
H. Peter Anvin [Tue, 25 Mar 2008 22:03:09 +0000 (15:03 -0700)]
pxelinux: don't rely on PXENV_GET_FILE_SIZE in gPXE support mode

Don't rely on PXENV_GET_FILE_SIZE in gPXE support mode.  It sometimes
successfully returns wrong information.

16 years agoPXELINUX: make the gPXE support actually work. We hope.
H. Peter Anvin [Tue, 25 Mar 2008 21:07:01 +0000 (14:07 -0700)]
PXELINUX: make the gPXE support actually work.  We hope.

With this patch, and the very latest gPXE tree from today, I can
download my usual boot setup via http.

16 years agorunkernel: remove debugging code
H. Peter Anvin [Mon, 24 Mar 2008 23:34:54 +0000 (16:34 -0700)]
runkernel: remove debugging code

Remove debugging code which prevents building with tracers on.

16 years agopxelinux: fix merge issues
H. Peter Anvin [Mon, 24 Mar 2008 23:34:28 +0000 (16:34 -0700)]
pxelinux: fix merge issues

Clean up merge issues between the nolen and gpxe-support branches.

16 years agoMerge commit 'origin/nolen' into gpxe-support
H. Peter Anvin [Mon, 24 Mar 2008 23:03:48 +0000 (16:03 -0700)]
Merge commit 'origin/nolen' into gpxe-support

16 years agoMerge commit 'origin/master' into nolen
H. Peter Anvin [Mon, 24 Mar 2008 23:03:21 +0000 (16:03 -0700)]
Merge commit 'origin/master' into nolen

16 years agoAdd target to install into /tftpboot
H. Peter Anvin [Sun, 23 Mar 2008 00:38:23 +0000 (17:38 -0700)]
Add target to install into /tftpboot

16 years agoMerge commit 'origin/nolen' into gpxe-support
H. Peter Anvin [Sun, 23 Mar 2008 00:25:31 +0000 (17:25 -0700)]
Merge commit 'origin/nolen' into gpxe-support

Conflicts:

NEWS
dnsresolv.inc
pxelinux.asm

16 years agoMerge commit 'syslinux-3.63-pre2' into nolen syslinux-3.70-pre5
H. Peter Anvin [Fri, 21 Mar 2008 01:01:31 +0000 (18:01 -0700)]
Merge commit 'syslinux-3.63-pre2' into nolen

16 years agopxelinux: allow class E addresses as unicast syslinux-3.63-pre2
H. Peter Anvin [Thu, 20 Mar 2008 23:37:17 +0000 (16:37 -0700)]
pxelinux: allow class E addresses as unicast

Class E IPv4 addresses are expected to be reassigned as available for
unicast addresses (probably for site-local use, but that is a major
usage domain of PXE.)

16 years agoMerge commit 'f9ac61d6178d4994cd646fd4b6c4bb891351624c'
H. Peter Anvin [Thu, 20 Mar 2008 23:36:34 +0000 (16:36 -0700)]
Merge commit 'f9ac61d6178d4994cd646fd4b6c4bb891351624c'

16 years agoFixing wrong offsets in dmi
Sebastian Herbszt [Sat, 8 Mar 2008 21:56:53 +0000 (22:56 +0100)]
Fixing wrong offsets in dmi

DMI code have some wrong offsets.
This patch fixes this offsets and improve the grammar.

Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
16 years agoPCI detection code doesn't corrupt memory anymore (2nd try)
Erwan [Sat, 8 Mar 2008 21:51:54 +0000 (22:51 +0100)]
PCI detection code doesn't corrupt memory anymore (2nd try)

  From : Erwan Velu <erwan.velu@free.fr>

This patch fixes the pci detection stuff demo'd in pcitest.c32
- Fix a wrong type in malloc
- Incorrect use of strdup
- Replacing strncpy by strnlcpy (thx hpa)

This two fixes makes pcitest.c32 working far better, no more crash when
running it twice.

I'd like to thank Sebastian Herbszt for its reports and tests.

This patch was made for 3.62-pre16 but applies fine on 3.63-pre1.

Signed-off-by:Erwan Velu <erwan.velu@free.fr>

--------------------------------------------------------------------------------
Les opinions et prises de position emises par le signataire du present
message lui sont propres et ne sauraient engager la responsabilite de la
societe SEANODES.

Ce message ainsi que les eventuelles pieces jointes constituent une
correspondance privee et confidentielle a l'attention exclusive du
destinataire designe ci-dessus. Si vous n'etes pas le destinataire du
present message ou une personne susceptible de pouvoir le lui delivrer, il
vous est signifie que toute divulgation, distribution ou copie de cette
transmission est strictement interdite. Si vous avez recu ce message par
erreur, nous vous remercions d'en informer l'expediteur par telephone ou de
lui retourner le present message, puis d'effacer immediatement ce message de
votre systeme.

The views and opinions expressed by the author of this message are personal.
SEANODES shall assume no liability, express or implied for such message.

This e-mail and any attachments is a confidential correspondence intended
only for use of the individual or entity named above. If you are not the
intended recipient or the agent responsible for delivering the message to
the intended recipient, you are hereby notified that any disclosure,
distribution or copying of this communication is strictly prohibited. If you
have received this communication in error, please notify the sender by phone
or by replying this message, and then delete this message from your system.

16 years agoRemove reference to readpit.c32, an experimental module
H. Peter Anvin [Sat, 8 Mar 2008 10:12:47 +0000 (11:12 +0100)]
Remove reference to readpit.c32, an experimental module

Remove reference to readpit.c32, an experimental module never intended
for release.

16 years agoUse $(CC) in gcc_ok macro, not plain gcc
H. Peter Anvin [Thu, 6 Mar 2008 06:31:00 +0000 (22:31 -0800)]
Use $(CC) in gcc_ok macro, not plain gcc

Use $(CC) in gcc_ok macro, not plain gcc.  This seems to work, iff the
gcc_ok macro is declared with =, not :=

16 years agowin32/Makefile: clean hello.exe on "make tidy"
H. Peter Anvin [Tue, 4 Mar 2008 06:10:20 +0000 (22:10 -0800)]
win32/Makefile: clean hello.exe on "make tidy"

hello.exe isn't really anything we care about; clean it up on "make tidy".

16 years agoAdd stuff to "make dist" to clean up crap that shouldn't be there
H. Peter Anvin [Tue, 4 Mar 2008 05:59:10 +0000 (21:59 -0800)]
Add stuff to "make dist" to clean up crap that shouldn't be there

16 years agoClean up .*.d files for "make tidy" in libutil
H. Peter Anvin [Tue, 4 Mar 2008 05:23:52 +0000 (21:23 -0800)]
Clean up .*.d files for "make tidy" in libutil

16 years agoClean up .*.d files for "make tidy" in libutil
H. Peter Anvin [Tue, 4 Mar 2008 05:23:52 +0000 (21:23 -0800)]
Clean up .*.d files for "make tidy" in libutil

16 years agoMerge commit 'origin/master' into nolen syslinux-3.70-pre4
H. Peter Anvin [Tue, 4 Mar 2008 04:20:09 +0000 (20:20 -0800)]
Merge commit 'origin/master' into nolen

Conflicts:

version

16 years agoThe next release on *this* branch would be 3.63 syslinux-3.63-pre1
H. Peter Anvin [Tue, 4 Mar 2008 04:19:24 +0000 (20:19 -0800)]
The next release on *this* branch would be 3.63

16 years agoPrevent inclusion of system include files when inappropriate
H. Peter Anvin [Tue, 4 Mar 2008 04:18:10 +0000 (20:18 -0800)]
Prevent inclusion of system include files when inappropriate

Use "-nostdinc -iwithprefix include" to prevent the inclusion of
system header files, but still permitting *compiler* header files.

16 years agoVESA: Simplify the lss16 decoder
H. Peter Anvin [Tue, 4 Mar 2008 01:43:41 +0000 (17:43 -0800)]
VESA: Simplify the lss16 decoder

Simplify the lss16 decoder slightly.

16 years agoDrop unnecessary CLD instructions.
H. Peter Anvin [Tue, 4 Mar 2008 00:55:15 +0000 (16:55 -0800)]
Drop unnecessary CLD instructions.

The EFI ABI spec states that DF=0 on ABI boundaries, and gcc expects
this.  Assume it is safe to rely upon everywhere; drop unnecessary cld
instructions, except on entry and (obviously) after std.

16 years agoVESA library: add support for reading lss16 images
H. Peter Anvin [Tue, 4 Mar 2008 00:50:17 +0000 (16:50 -0800)]
VESA library: add support for reading lss16 images

Add support for reading lss16 images, for compatibility with the CLI.

16 years agoMake description of the lss16 format match reality
H. Peter Anvin [Tue, 4 Mar 2008 00:46:36 +0000 (16:46 -0800)]
Make description of the lss16 format match reality

The comment in ppmtolss16 is perhaps how the lss16 format *should*
work, but not actually how it *does* work.

16 years agoMerge commit 'origin/master' into nolen
H. Peter Anvin [Mon, 3 Mar 2008 23:53:51 +0000 (15:53 -0800)]
Merge commit 'origin/master' into nolen

16 years agosimple menu: break off execute() into its own source file
H. Peter Anvin [Mon, 3 Mar 2008 06:20:08 +0000 (22:20 -0800)]
simple menu: break off execute() into its own source file

Break off execute() into its own source file, with the intent of being
able to re-use it for a CLI module.

16 years agoAdd missing file <syslinux/zio.h> syslinux-3.70-pre3
H. Peter Anvin [Sun, 2 Mar 2008 20:02:45 +0000 (12:02 -0800)]
Add missing file <syslinux/zio.h>

This include file has been inadvertently omitted from previous
checkins.

16 years agoMerge commit 'origin/master' into nolen
H. Peter Anvin [Sun, 2 Mar 2008 20:01:11 +0000 (12:01 -0800)]
Merge commit 'origin/master' into nolen

16 years agoLicense change for CPU detection modules
Erwan [Sun, 2 Mar 2008 09:09:54 +0000 (10:09 +0100)]
License change for CPU detection modules

H. Peter Anvin wrote:
> Erwan: I would have to get you to do this, since it would mean
> changing the license (trying to keep libcom32 under the BSD/MIT
> licenses), and you have them under your own copyright (as opposed to
> mine), which means I can't do this change.

Please find attached the patch to changing the license to MIT on modules
I did contribute in com32/modules/.

16 years agoMove mboot documentation to the doc/ directory
H. Peter Anvin [Sun, 2 Mar 2008 00:04:05 +0000 (16:04 -0800)]
Move mboot documentation to the doc/ directory

16 years agoFix two *.doc files which sadly didn't get renamed...
H. Peter Anvin [Sat, 1 Mar 2008 23:56:29 +0000 (15:56 -0800)]
Fix two *.doc files which sadly didn't get renamed...

16 years agoAdd a slightly edited version of SubmittingPatches. syslinux-3.62
H. Peter Anvin [Sat, 1 Mar 2008 20:46:54 +0000 (12:46 -0800)]
Add a slightly edited version of SubmittingPatches.

16 years agoDocument the file renaming from .doc -> .txt
H. Peter Anvin [Fri, 29 Feb 2008 20:02:36 +0000 (12:02 -0800)]
Document the file renaming from .doc -> .txt

16 years agoAdd transparent decompression support to elf.c32
H. Peter Anvin [Fri, 29 Feb 2008 19:59:49 +0000 (11:59 -0800)]
Add transparent decompression support to elf.c32

Use zloadfile() to support file decompression in elf.c32.

16 years agoGeneric framework for reading compressed files using standard I/O
H. Peter Anvin [Fri, 29 Feb 2008 19:57:36 +0000 (11:57 -0800)]
Generic framework for reading compressed files using standard I/O

Add zopen(), zfopen(), and zloadfile() to transparently open and
uncompress a gzip file (adding support for other formats is quite
trivial.

Once a file handle or file pointer is received, it can be treated like
any other one (fstat will report it as a socket, since the length is
unknown.)

16 years agoRename text documentation from *.doc to *.txt
H. Peter Anvin [Fri, 29 Feb 2008 00:04:08 +0000 (16:04 -0800)]
Rename text documentation from *.doc to *.txt

Rename plaintext documentation from doc/*.doc to doc/*.txt, to avoid
the chronic problem of web sites thinking they're in MS-Word format.
Sigh.  As if Microsoft somehow had a monopoly on the word "document".

16 years agoTighten close_file, fix SYSLINUX new file API syslinux-3.70-pre2
H. Peter Anvin [Thu, 28 Feb 2008 00:17:23 +0000 (16:17 -0800)]
Tighten close_file, fix SYSLINUX new file API

Define close_file slightly tighter:

       - It is permitted to call close_file with a zero filehandle
       - close_file zeros SI

Fix the handling of the new API in SYSLINUX.  It appears file_left was
never actually initialized; it simply didn't matter since the old code
would either trip on reaching the end of the FAT chain or count the
data it needed.  Now operating according to spec.

16 years agoDon't use "syslinux.cfg" to refer to config files in general
H. Peter Anvin [Wed, 27 Feb 2008 23:09:08 +0000 (15:09 -0800)]
Don't use "syslinux.cfg" to refer to config files in general

When printing error messages about configuration files, don't
necessarily call it "syslinux.cfg".

16 years agoChange the "tsize" error message since it no longer applies
H. Peter Anvin [Wed, 27 Feb 2008 21:47:18 +0000 (13:47 -0800)]
Change the "tsize" error message since it no longer applies

Fix the tsize error message to indicate that it now, in fact, refers
to an invalid TFTP response.

16 years agoSYSLINUX, EXTLINUX: support the new getfssec API syslinux-3.70-pre1
H. Peter Anvin [Wed, 27 Feb 2008 21:22:16 +0000 (13:22 -0800)]
SYSLINUX, EXTLINUX: support the new getfssec API

Support the new getfssec API which returns number of bytes read in
SYSLINUX and EXTLINUX.  Untested so far, but it's a reasonably easy
change.

16 years agocomboot.inc: use the correct upper limit
H. Peter Anvin [Wed, 27 Feb 2008 21:02:03 +0000 (13:02 -0800)]
comboot.inc: use the correct upper limit

The exact upper limit is 65536-256-2 = 65278 = 0xFEFE bytes.

16 years agocomboot.inc: update test for oversized files
H. Peter Anvin [Wed, 27 Feb 2008 20:56:20 +0000 (12:56 -0800)]
comboot.inc: update test for oversized files

The test for oversized COMBOOT files have to be updated to be an a
posteori test, since the length might not be known a priori.

16 years agoUn-inline fclose()
H. Peter Anvin [Wed, 27 Feb 2008 20:51:29 +0000 (12:51 -0800)]
Un-inline fclose()

gcc complains that fclose() is too big to be inlined with -Os, so
humour it and move fclose() out of line.

16 years agobackground.c: remove unused filesize() function
H. Peter Anvin [Wed, 27 Feb 2008 20:48:04 +0000 (12:48 -0800)]
background.c: remove unused filesize() function

Remove obsolete and now unused filesize() function.

16 years agorealloc(): put an absolute upper limit on slack
H. Peter Anvin [Wed, 27 Feb 2008 20:44:52 +0000 (12:44 -0800)]
realloc(): put an absolute upper limit on slack

With loadfile() doing megabyte-sized trial-and-error allocations, we
want to be able to do really set the size on the final allocation;
thus constrain the amount of permitted slack to 4K max.

16 years agoComboot/Com32 changes for unspecified file lengths
H. Peter Anvin [Wed, 27 Feb 2008 20:40:31 +0000 (12:40 -0800)]
Comboot/Com32 changes for unspecified file lengths

Handle unspecified file length for comboot/com32 modules; do changes
to the appropriate part of libcom32 to handle this properly.

16 years agoDocument the nolen changes.
H. Peter Anvin [Wed, 27 Feb 2008 18:56:34 +0000 (10:56 -0800)]
Document the nolen changes.

16 years agoPXELINUX: make TFTP work without any OACK
H. Peter Anvin [Wed, 27 Feb 2008 18:53:40 +0000 (10:53 -0800)]
PXELINUX: make TFTP work without any OACK

Make the TFTP stack handle the case where no options are acknowledged,
so we don't even get an OACK; instead we get the first data packet
immediately.

16 years agoPXELINUX: make TFTP work without tsize
H. Peter Anvin [Wed, 27 Feb 2008 18:44:40 +0000 (10:44 -0800)]
PXELINUX: make TFTP work without tsize

Make the TFTP stack no longer require the tsize option.

Note: getc relies on DI not being clobbered by getfssec.  Be more
careful about not clobbering registers unless documented.

16 years agogetc: support for unknown file sizes
H. Peter Anvin [Wed, 27 Feb 2008 03:57:26 +0000 (19:57 -0800)]
getc: support for unknown file sizes

Handle unknown file sizes in getc

16 years agoisolinux: getfssec now outputs bytes read
H. Peter Anvin [Wed, 27 Feb 2008 03:55:59 +0000 (19:55 -0800)]
isolinux: getfssec now outputs bytes read

ISOLINUX support for the API changes needed to handle unknown file
sizes.

16 years agoRevamp runkernel.inc for "lengthless" operation
H. Peter Anvin [Wed, 27 Feb 2008 01:18:59 +0000 (17:18 -0800)]
Revamp runkernel.inc for "lengthless" operation

Revamp runkernel.inc to be able to operate without a priori known
length.

16 years agoRemove pngtopnm dependency from the samples/ directory
H. Peter Anvin [Tue, 26 Feb 2008 22:50:05 +0000 (14:50 -0800)]
Remove pngtopnm dependency from the samples/ directory

Ship syslogo.ppm.gz instead of syslogo.png, thereby eliminating a
dependency on pngtopnm which apparently isn't installed by default on
some distros.

16 years agoextlinux: compile hack for old distros syslinux-3.62-pre16
H. Peter Anvin [Tue, 26 Feb 2008 05:10:12 +0000 (21:10 -0800)]
extlinux: compile hack for old distros

Some old distros would have <linux/fs.h> poison the namespace with a
non-glibc "struct statfs".  Hack around it.

16 years agoMerge commit 'origin/nodxax' into nolen
H. Peter Anvin [Tue, 26 Feb 2008 01:30:06 +0000 (17:30 -0800)]
Merge commit 'origin/nodxax' into nolen

Conflicts:

pxelinux.asm

16 years agogptmbr: use cltq to extend a zero %eax into %edx
H. Peter Anvin [Tue, 26 Feb 2008 00:59:54 +0000 (16:59 -0800)]
gptmbr: use cltq to extend a zero %eax into %edx

Using cltq (cdq) to clear %edx when %eax is zero is cheaper by one
byte.

16 years agoRemove additional use of DX:AX
H. Peter Anvin [Tue, 26 Feb 2008 00:55:44 +0000 (16:55 -0800)]
Remove additional use of DX:AX

Remove an additional use of DX:AX for file size

16 years agogptmbr: Add comment
H. Peter Anvin [Mon, 25 Feb 2008 23:45:27 +0000 (15:45 -0800)]
gptmbr: Add comment

16 years agogptmbr: save phdr -> bootsect on the stack, saving one byte
H. Peter Anvin [Mon, 25 Feb 2008 23:44:24 +0000 (15:44 -0800)]
gptmbr: save phdr -> bootsect on the stack, saving one byte

16 years agogptmbr: another confusion of start and end fields
H. Peter Anvin [Mon, 25 Feb 2008 23:31:48 +0000 (15:31 -0800)]
gptmbr: another confusion of start and end fields

Use the start field for the boot sector address...

16 years agogptmbr: fix confusion between start and end fields
H. Peter Anvin [Mon, 25 Feb 2008 23:29:47 +0000 (15:29 -0800)]
gptmbr: fix confusion between start and end fields

Fix a case of bad confusion of the start and end fields
(length = end-start+1, so we can't easily reuse the load of the start
field.)

16 years agogptmbr: use xchgw %ax,... instead of movw %ax,... when %ax is dead
H. Peter Anvin [Mon, 25 Feb 2008 23:25:29 +0000 (15:25 -0800)]
gptmbr: use xchgw %ax,... instead of movw %ax,... when %ax is dead

xhcgw with %ax and a register is one byte shorter than movw with %ax
if %ax is then dead.

16 years agogptmbr: Use %bp for references into phdr and the stack
H. Peter Anvin [Mon, 25 Feb 2008 23:23:47 +0000 (15:23 -0800)]
gptmbr: Use %bp for references into phdr and the stack

Set up %bp as a permanent frame pointer and use it to reference stack
and phdr fields; by putting phdr in the bootsect slot we can use it
for phdr references with small displacements.  This saves 5 bytes.

16 years agogptmbr: since %bx is advanced, we can test -2(%bx) == (bootsec+510)
H. Peter Anvin [Mon, 25 Feb 2008 23:11:28 +0000 (15:11 -0800)]
gptmbr: since %bx is advanced, we can test -2(%bx) == (bootsec+510)

With %bx advanced to the end of the boot sector, we can use -2(%bx)
instead of (bootsec+510), thus saving one byte.

16 years agogptmbr: addw $512, %bx -> addb $2, %bh
H. Peter Anvin [Mon, 25 Feb 2008 23:10:20 +0000 (15:10 -0800)]
gptmbr: addw $512, %bx -> addb $2, %bh

Save one byte...