summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* isohybrid: add options, change default ptype to 0x17syslinux-3.81-pre8H. Peter Anvin2009-05-202-13/+82
| | | | | | | | Add support for setting a variety of options in isohybrid. Also change the default partition type to 0x17, "Windows hidden IFS", as that seems to make Windows less unhappy. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* NEWS: add note about linux.c32 having a quiet commandH. Peter Anvin2009-05-201-0/+2
|
* meminfo: distinguish between no flags and flags=1syslinux-3.81-pre7H. Peter Anvin2009-05-201-5/+10
| | | | | | | For debugging reasons it's important to know if we have no flags at all or if we get flags = 1. Print [-] in the case of no flags at all. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Don't run to comboot API with interrupts offsyslinux-3.81-pre6H. Peter Anvin2009-05-181-8/+7
| | | | | | | | | | | | | | We have historically run the comboot API with interrupts off due to concerns about stack overflow. However, this is a really bad idea: we can easily spend a fair bit of time servicing one of these routines, especially when doing things like waiting for I/O. In particular, do_idle should *never* be run with interrupts disabled. Switch to running with interrupts enabled everywhere unless we have specific reasons not to do so. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/conio.inc: when reading the serial port, drop read of IIRsyslinux-3.81-pre5H. Peter Anvin2009-05-181-3/+2
| | | | | | | | | | | | | | Drop the read of the IIR when reading the serial port. First of all, we weren't protecting AL so we clobbered the actual data; second of all, this isn't actually necessary as reading RDR will clear the interrupt condition per the UART spec. It's worth noting that enabling interrupts here will do bad things if the interrupts aren't edge-triggered (since we don't actually have an interrupt routine to clear the interrupt condition); this also means bad things will happen if the interrupt line is shared. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/pxeidle.inc: fix pops with no matching pushH. Peter Anvin2009-05-181-2/+0
| | | | | | | In check_for_arp, we dropped the segment register pushes, but we need to drop the pops, too. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Try to HLT the processor during idlesyslinux-3.81-pre4H. Peter Anvin2009-05-1814-150/+126
| | | | | | | | | | | Try to HLT the processor during idle. All the events we care about should have interrupts associated with them, except possibly the serial console. Try to deal with the serial console by waiting some time before going into HLT, and giving the user the option of enabling the serial console interrupt, on the assumption that the BIOS will simply IRET. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* bcopyxx: remove 16-bitismssyslinux-3.81-pre3H. Peter Anvin2009-05-161-24/+24
| | | | | | | | | Remove a couple of 16-bitisms in the bcopy code, since it is now running in perfectly ordinary 32-bit mode. In particular, prefer 32-bit registers to 16-bit registers, and drop "a32" prefixes (which do nothing.) Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* bcopyxx/memmove: fix alignment logic for reverse movesH. Peter Anvin2009-05-162-4/+4
| | | | | | | | | The alignment logic for reverse moves is reversed, because the initial edi, and therefore edx, points to the last byte, not to one byte beyond the end. Therefore, in the fully aligned case it will end in 11 binary, not in 00 binary as for the forward case. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Fix clobber of the command line when using F-keys+LSS graphicsH. Peter Anvin2009-05-151-4/+3
| | | | | | | | | | | | | Fix a half-entered command line when getting clobbered when pressing an F key that in turn invokes an LSS graphic. This was used by duplexing the command line buffer as LSS decompression space. Allocate a separate buffer, but move the legacy graphic variables to .bss2 to avoid overflow. Reported-by: Михаил <from.miha@gmail.com> Debugged-by: Sebastian Herbszt <herbszt@gmx.de> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* linux.c32: replace the kernel name with BOOT_IMAGE=syslinux-3.81-pre2H. Peter Anvin2009-05-051-13/+10
| | | | | | | | | The BOOT_IMAGE= argument is generated by replacing the kernel name in the argument array. As a result, we shouldn't advance argp. Move the code around slightly, to make it more obvious that that is what is happening. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* linux.c32: honor the "quiet" flagH. Peter Anvin2009-05-051-6/+34
| | | | | | | Honor the "quiet" flag for linux.c32, since some distros have odd notions about these things. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* bcopyxx: EDX already points to the GDT; no reason to recomputeH. Peter Anvin2009-05-041-10/+7
| | | | | | | | | We already have the EDX register pointing to the GDT, so recomputing the address of the GDT is completely pointless. This shaves an additional few bytes off the bcopyxx safe area (now down to 543 bytes including the 128-byte stack and the 15-byte alignment slop.) Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* load_linux.c: quiet warningH. Peter Anvin2009-05-041-1/+1
| | | | | | Quiet a (harmless) compiler warning. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* load_linux.c: consider a zImage kernel to be non-relocatableH. Peter Anvin2009-05-041-1/+1
| | | | | | | | It's pretty safe to say there has never been a working relocatable Linux zImage kernel, and the semantics for them are iffy at best. Consider zImage kernels to be non-relocatable. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* load_linux.c: when relocating, need to update code32_startH. Peter Anvin2009-05-041-0/+1
| | | | | | | | The normal value for code32_start is based on the kernel load address (in fact, it usually *is* the kernel load address); accordingly, it needs to be updated if the kernel is relocated. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* load_linux.c: add missing header fileH. Peter Anvin2009-05-041-0/+1
| | | | | | We need <minmax.h> for min(). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* linux.c32: cap the stack pointer to 0xfff0H. Peter Anvin2009-05-041-1/+2
| | | | | | | | Linux itself is fine with sp = 0 for a 64K segment, but perhaps other things aren't. Just to be safe, set the stack pointer to 64K-16 bytes. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* NEWS: document linux.c32 fix.syslinux-3.81-pre1H. Peter Anvin2009-05-041-0/+3
|
* shuffler: fix setting up esp in real-mode shufflesH. Peter Anvin2009-05-041-1/+1
| | | | | | | The value of esp set in real-mode shuffles was wrong. This unfortunately broke linux.c32 :( Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* poweroff: add copyright noticeSebastian Herbszt2009-05-041-0/+16
| | | | | | | Add a copyright notice. Signed-off-by: Sebastian Herbszt <herbszt@gmx.de> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Next version will probably be 3.81H. Peter Anvin2009-05-042-1/+3
|
* core: remove vestiges of using nasm -f binsyslinux-3.80H. Peter Anvin2009-05-041-5/+1
| | | | | | | | Remove a few things that are specific to NASM's "bin" backend, which we no longer use. Newer versions of NASM print warning messages which are unnecessary. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* NEWS: drop plans for a 3.76 releaseH. Peter Anvin2009-05-041-2/+0
| | | | The aim now is for a 3.80 release instead...
* Document poweroff module.H. Peter Anvin2009-05-041-0/+1
|
* poweroff COMBOOT moduleSebastian Herbszt2009-05-042-1/+87
| | | | | | | | | | | | | This module is able to power off a system via APM. It was tested on QEMU, Bochs and VMware. Possible usage: TIMEOUT 3000 TOTALTIMEOUT 9000 ONTIMEOUT poweroff.com - Sebastian
* mboot: handle ELF Multiboot kernel where paddr != vaddrH. Peter Anvin2009-05-031-4/+11
| | | | | | | | | The way Grub handles ELF Multiboot kernels where paddr != vaddr is to load at the paddr, but to also adjust the entry point (e_entry) so that the previous vaddr becomes a paddr. Since the Multiboot spec is pretty much "Grub wins", follow this behavior. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* 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>