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.
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.
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.
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.
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.
H. Peter Anvin [Fri, 13 Jun 2008 23:20:05 +0000 (16:20 -0700)]
gpxe: update gpxe to latest git
H. Peter Anvin [Fri, 13 Jun 2008 21:34:55 +0000 (14:34 -0700)]
Make it explicit that Windows need -swap, even XP :(
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
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.
H. Peter Anvin [Fri, 13 Jun 2008 00:43:00 +0000 (17:43 -0700)]
NEWS: Document new chain.c32 features.
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.
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.
H. Peter Anvin [Thu, 12 Jun 2008 23:48:00 +0000 (16:48 -0700)]
NEWS: update the blurb about the new MEMDISK geometry stuff.
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.
H. Peter Anvin [Tue, 10 Jun 2008 23:32:00 +0000 (16:32 -0700)]
Fix DOS interrupt error messages
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.
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!
H. Peter Anvin [Tue, 10 Jun 2008 19:17:08 +0000 (12:17 -0700)]
Add *.cp to .gitignore
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
H. Peter Anvin [Mon, 9 Jun 2008 23:32:09 +0000 (16:32 -0700)]
Whitespace cleanup
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.
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.
H. Peter Anvin [Sat, 7 Jun 2008 21:46:44 +0000 (14:46 -0700)]
NEWS: remove redundant clause
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.
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.
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.
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.
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.
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.
H. Peter Anvin [Thu, 5 Jun 2008 23:33:58 +0000 (16:33 -0700)]
codepage: add "make spotless" target
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.
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.
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.
H. Peter Anvin [Thu, 5 Jun 2008 01:52:18 +0000 (18:52 -0700)]
Update gPXE from gPXE git
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.
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".
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.
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.
H. Peter Anvin [Thu, 29 May 2008 23:00:08 +0000 (16:00 -0700)]
Document change of directory structure
H. Peter Anvin [Thu, 29 May 2008 22:49:01 +0000 (15:49 -0700)]
core/Makefile: remove vestiges of subdirectory machinery
H. Peter Anvin [Thu, 29 May 2008 22:48:46 +0000 (15:48 -0700)]
mbr: clean up *_bin.c files
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.
H. Peter Anvin [Thu, 29 May 2008 22:34:54 +0000 (15:34 -0700)]
mkdir the prerel directory
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.
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.
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.)
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.
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.
H. Peter Anvin [Wed, 28 May 2008 16:23:57 +0000 (09:23 -0700)]
Merge commit 'origin/master' into gpxe-added
Conflicts:
NEWS
version
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.
H. Peter Anvin [Wed, 14 May 2008 00:59:21 +0000 (17:59 -0700)]
Add NEWS for 3.64
H. Peter Anvin [Wed, 14 May 2008 00:52:26 +0000 (17:52 -0700)]
Merge commit 'origin/gptmbr'
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.
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>
H. Peter Anvin [Sun, 20 Apr 2008 04:57:05 +0000 (00:57 -0400)]
Next version on this branch would be 3.64
H. Peter Anvin [Sun, 20 Apr 2008 04:55:29 +0000 (00:55 -0400)]
localboot.inc: file missing from previous checkin
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.
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.
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.
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
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 :-/
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.
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.
H. Peter Anvin [Wed, 9 Apr 2008 00:00:05 +0000 (17:00 -0700)]
3.63: update NEWS
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.
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.
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.
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.
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.
H. Peter Anvin [Tue, 1 Apr 2008 23:40:07 +0000 (16:40 -0700)]
Add gpxelinux.0 to NETINSTALLABLE
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.
H. Peter Anvin [Mon, 31 Mar 2008 12:29:08 +0000 (05:29 -0700)]
Merge commit 'origin/gpxe-added' into gpxe-added
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.
H. Peter Anvin [Mon, 31 Mar 2008 12:26:29 +0000 (05:26 -0700)]
NEWS: Document integration of gPXE
H. Peter Anvin [Sat, 29 Mar 2008 05:20:26 +0000 (22:20 -0700)]
Merge commit 'origin/gpxe-support' into gpxe-added
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.
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().
H. Peter Anvin [Wed, 26 Mar 2008 23:25:35 +0000 (16:25 -0700)]
Add gPXE into the source tree; build unified image
H. Peter Anvin [Wed, 26 Mar 2008 22:26:02 +0000 (15:26 -0700)]
Document gPXE extensions.
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.
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.
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.
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.
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.
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.
H. Peter Anvin [Mon, 24 Mar 2008 23:03:48 +0000 (16:03 -0700)]
Merge commit 'origin/nolen' into gpxe-support
H. Peter Anvin [Mon, 24 Mar 2008 23:03:21 +0000 (16:03 -0700)]
Merge commit 'origin/master' into nolen
H. Peter Anvin [Sun, 23 Mar 2008 00:38:23 +0000 (17:38 -0700)]
Add target to install into /tftpboot
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
H. Peter Anvin [Fri, 21 Mar 2008 01:01:31 +0000 (18:01 -0700)]
Merge commit 'syslinux-3.63-pre2' into nolen
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.)
H. Peter Anvin [Thu, 20 Mar 2008 23:36:34 +0000 (16:36 -0700)]
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>
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.
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.
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 :=
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".
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
H. Peter Anvin [Tue, 4 Mar 2008 05:23:52 +0000 (21:23 -0800)]
Clean 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