aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* shuffler: when looking for temporary memory, it has to be *free!*syslinux-3.80-pre8H. Peter Anvin2009-05-031-0/+2
| | | | | | | free_area() ended up looking for any area of memory, not necessarily a *free* area of memory. This had predictably disastrous consequences. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* movebits: make the user-space test cases slightly easierH. Peter Anvin2009-05-031-9/+12
| | | | | | | Make it a bit easier to write user-space test cases; use fgets+sscanf so comment lines end up getting ignored. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* shuffler: correctly handle one-to-many relationshipssyslinux-3.80-pre7H. Peter Anvin2009-05-022-26/+133
| | | | | | | | | | | | | | | | | | One-to-many relationships, in which one chunk of a file is used in more than one place, tends to naturally show up in decoding certain fileformats, including (but not limited to) Microsoft SDI. Make the shuffler library handle those cases correctly, and remove a special-purpose hack in sdi.c. This is based on the observation that all one-to-many relationships can be treated as a one-to-one shuffle followed by destination-to-destination copies; i.e. one copy is (arbitrarily) assigned the "master copy" status, and all aliases are then copied from the master copy when the master copy is already in its final place. All other copies can then be simply ignored for the duration of the shuffle, just as zero-memory is. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* shuffle: align the shuffle safe areaH. Peter Anvin2009-05-021-2/+3
| | | | | | For performance, align the shuffle safe area to a dword boundary. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* syslinux_dump_memmap(): make it easier to spot errorsH. Peter Anvin2009-05-021-1/+1
| | | | | | | | Instead of stopping the memmap dump on SMT_END, stop it only on a null pointer. That way we can see if we have any bogus entries with SMT_END. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* syslinux_add_memmap(): fix failures at address zero, more?H. Peter Anvin2009-05-021-38/+63
| | | | | | | | | | | | syslinux_add_memmap() would fail miserably and corrupt the list if an entry was added at address zero. Quite possibly other addresses would have similar problems. Furthermore, we did an extra "optimization pass" which should never have been necessary if the algorithm had been correct in the first place. This should hopefully fix ALL those bugs. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* mboot: align the stack to a 16-byte boundaryH. Peter Anvin2009-05-021-1/+1
| | | | | | Align the stack to a 16-byte boundary, just in case... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* mboot: move setting regs.eax to mboot_run()H. Peter Anvin2009-05-021-2/+1
| | | | | | | The setting of regs.eax in map_image() doesn't really make any sense; move it to mboot_run() instead. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* mboot: move map initialization out of map_image()H. Peter Anvin2009-05-023-35/+38
| | | | | | | | | The amap/mmap initialization were buried randomly inside map_image(), which at the very least makes the code needlessly hard to read. Furthermore, it is at least possible that we may want to be able to map multiple images in the future. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* ui.inc: when looking for whitespace in kernel names look for <= ' 'H. Peter Anvin2009-05-021-1/+1
| | | | | | | | Our somewhat generous definition of whitespace is less than or equal to 32 (' '); we do not include 127 and 255 which are printable characters in the PC codepages (in the latter case, NBSP.) Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* pxechain: remove unused ipaddrbufSebastian Herbszt2009-05-021-3/+0
| | | | Remove unused ipaddrbuf.
* core: make vk_rname default to mangled vk_vnameSebastian Herbszt2009-05-021-7/+6
| | | | | | | Change pc_label in parseconfig.inc to default vk_rname to mangled vk_vname. Also change spaces to tabs. This gives a usable error message in the case where the user selects a label without any kernel information.
* gfxboot: increase bss alignment to 4Ksyslinux-3.80-pre6H. Peter Anvin2009-05-011-1/+1
| | | | | | | | Increase the bss alignment (and therefore the alignment of buffers) to 4K rather than 512 bytes -- this in anticipation of future hard disks with 4K sectors. This only changes the actual bss location by 1.5K. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* gfxboot: align buffers and move them into bssH. Peter Anvin2009-05-012-44/+65
| | | | | | | | | Align I/O buffers to a multiple of 512 bytes, as required by the Syslinux ABI. Furthermore, move them from data to bss, so that they don't occupy space in the image file. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Acked-by: Sebastian Herbszt <herbszt@gmx.de>
* NEWS: document isohybrid fixH. Peter Anvin2009-05-011-0/+1
|
* isohybrid: preserve MBR id in isohybridPascal Terjan2009-05-011-6/+8
| | | | | | | | | | When running isohybrid again it's nice to preserve the MBR id There was some partial code to support setting the id using non existing to_int, but no way to use it. Signed-off-by: Pascal Terjan <pterjan@mandriva.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* isohybrid: support iso images over 2GBPascal Terjan2009-05-011-2/+1
| | | | | | | | "use integer" limits integers to 2^31-1 on 32 bits, which makes imgsize to be -1 on DVD images Signed-off-by: Pascal Terjan <pterjan@mandriva.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Document boot-once fix.H. Peter Anvin2009-04-301-0/+1
|
* ADV: EDD "write with verify" is AL=01h or AL=02h, not AL=80hH. Peter Anvin2009-04-301-1/+1
| | | | | | | | | | The "write with verify" functionality in EDD is AL=01h or AL=02h depending on EDD version, not AL=80h. Since it is apparently version-dependent, don't even try to do it; furthermore, some BIOSes are known to reject a write with this feature requested no matter what. At some point we may want to explicitly read back to verify. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* cmenu: add .gitignore fileH. Peter Anvin2009-04-301-0/+2
| | | | | | Add .gitignore file for .c files created from .menu files. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* mboot: disable DEBUGH. Peter Anvin2009-04-301-1/+1
| | | | | | | | Disable DEBUG in mboot.c32, which was accidentally enabled in a previous commit. Reported-by: Sebastian Herbszt <herbszt@gmx.de> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* NEWS: updateH. Peter Anvin2009-04-291-0/+2
|
* linux.c32: move handling of mem= and vga= into the library functionsyslinux-3.80-pre5H. Peter Anvin2009-04-294-78/+99
| | | | | | | Move the handling of mem= and vga= into syslinux_boot_linux(), so that the user of that function doesn't need to worry about it. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: make localboot another vkernel typesyslinux-3.80-pre4H. Peter Anvin2009-04-293-25/+11
| | | | | | | | | Change "localboot" to be another vkernel type. It still needs some special treatment (because it doesn't take a filename), but overall this makes it a lot cleaner than what it was before. It should also avoid the problem of empty labels (e.g. menu quit) doing weird things. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* shuffle_pm: remove unused variables and includesH. Peter Anvin2009-04-281-7/+1
| | | | | | | Remove unused variables and #include statements from syslinux_shuffle_boot_pm(). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* memscan: use the contents of the ebda_seg, not the pointer itselfH. Peter Anvin2009-04-281-1/+1
| | | | | | Use the contents of the ebda_seg variable, not the address... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* mboot: silence warningH. Peter Anvin2009-04-281-0/+1
| | | | | | Silence warning of unused argc. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile: drop references to "make depend"syslinux-3.80-pre3H. Peter Anvin2009-04-282-7/+1
| | | | | | We no longer need "make depend" for anything. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* mboot: include module filenames in the command lineH. Peter Anvin2009-04-281-1/+4
| | | | | | | Grub includes the kernel and module filenames in the command lines it passes, so match that behavior and don't strip them off. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Fix NASM dependency generationH. Peter Anvin2009-04-275-6/+6
| | | | | | | | | Fix missing -M from NASM dependency generation calls; adopt the uniform stanza "-M -DDEPEND" even for sites that were already correct. Also, use ">" not ">>" for obvious reasons... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Unify dependency generation: MCONFIG.embeddedH. Peter Anvin2009-04-279-84/+41
| | | | | | | Unify dependency generation and move common rules into MCONFIG.embedded. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Unify dependency generation: com32/lib, com32/cmenuH. Peter Anvin2009-04-273-18/+19
| | | | | | Add the unified dependency generation to com32/lib and com32/cmenu. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Unify dependency generationH. Peter Anvin2009-04-2710-48/+46
| | | | | | | | | | | | Make the dependency generation more common; have a general pattern in MCONFIG, and use it in rules (not in CFLAGS). For NASM source, in order to stay compatible with old versions of NASM, run NASM twice; newer versions of NASM is capable of generating dependencies simultaneously like gcc can, but that would break compatibility with older distros. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* rllpack: make all pointers 32 bits widesyslinux-3.80-pre2H. Peter Anvin2009-04-273-12/+9
| | | | | | | | The messing around with partial pointers for rllpack/rllunpack turned out to be a source of bugs. Instead, have all the values be 32 bits wide, and require the callers to pass them accordingly. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* memscan: correctly handle the DOS memory fallback caseH. Peter Anvin2009-04-271-4/+4
| | | | | | Actually (try to) handle the case of finding the DOS memory amount. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* bcopyxx: clear all flags before jumping to the successor codeH. Peter Anvin2009-04-271-6/+10
| | | | | | | | | | Clear the flags register while we still have a stack to do so. This makes the state in the target OS more predictable. It's worth noting that none of the instructions we use in either the PM or RM trampolines change the flags, either (except the IF setting in the RM trampoline, but that is intentional.) Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* bcopyxx: align the relocated code to a 16-byte boundaryH. Peter Anvin2009-04-271-2/+4
| | | | | | | Align the relocated bcopyxx code to a 16-byte boundary. There are CPUs which have errata relating to GDTs which are not 16-byte aligned. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* mboot: add header guards; use <inttypes.h>; formatting changesH. Peter Anvin2009-04-272-46/+36
| | | | | | | Reformat the mboot header files slightly, use <inttypes.h> types, and add header inclusion guards. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* mboot/solaris.c: fix failure case; correct copyright noticeH. Peter Anvin2009-04-271-5/+6
| | | | Better handling of failed mapping; correct copyright notice.
* mboot: reimplement the Solaris DHCP hack, add compliant a.out modesyslinux-3.80-pre1H. Peter Anvin2009-04-265-6/+83
| | | | | | | | | | | | | Reimplement the Solaris DHCP information passing hack. Add a spec-compliant mode for the "a.out kludge". The spec is pretty clear that the bit should override the ELF header (after all, otherwise there wouldn't be any need for the bit), but Grub disagrees. We default to Grub-compliant mode, as Solaris seems to set the bit even though it's an ELF kernel, but add the option to enable spec-compliant mode, as apparently some versions of FreeBSD need it. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* NEWS: add updates for 3.80H. Peter Anvin2009-04-261-0/+4
|
* Merge branch 'syslinux-3.7x'H. Peter Anvin2009-04-261-0/+4
|\ | | | | | | | | Conflicts: version
| * NEWS, version: prepare for a 3.76 releasesyslinux-3.76-pre1H. Peter Anvin2009-04-252-1/+5
| |
* | Remove the old mboot moduleH. Peter Anvin2009-04-266-1631/+3
| |
* | mboot: fix cmdline; a few more layout tweaksH. Peter Anvin2009-04-264-30/+38
| | | | | | | | | | | | | | | | | | | | Fix module command lines (it was overwriting the main kernel command line); a few minor layout tweaks. In particular, we require the section header to be page-aligned, but not the subsequent sections. With this, I can get Xen to boot. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | mboot: skip --- marker; decompress all filesH. Peter Anvin2009-04-261-7/+5
| | | | | | | | | | | | | | | | | | When walking the argument list we need to skip --- markers. Grub, and the old mboot.c32, seem to transparently decompress all files, not just the main one, so do the same. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | mboot: make sure we actually succeed when we finishedH. Peter Anvin2009-04-262-18/+44
| | | | | | | | | | | | | | When we actually finished mapping the image, return 0 and don't bail. Add error messages to most failure cases. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | com32/MCONFIG: generate dependency files by defaultH. Peter Anvin2009-04-261-2/+4
| | | | | | | | | | | | | | Generate the dependency files by default. They should perhaps even move into the actual rule lines. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | mboot: set up a stack even though the spec doesn't require itH. Peter Anvin2009-04-261-0/+18
| | | | | | | | | | | | | | Set up a stack for the Multiboot OS even though it is not required by spec. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | First attempt at a rewritten mboot moduleH. Peter Anvin2009-04-269-1/+1228
| | | | | | | | | | | | | | First attempt at rewriting the mboot module to use the Syslinux shuffle APIs. Signed-off-by: H. Peter Anvin <hpa@zytor.com>