summaryrefslogtreecommitdiff
path: root/isolinux.asm
Commit message (Collapse)AuthorAgeFilesLines
* Tighten close_file, fix SYSLINUX new file APIsyslinux-3.70-pre2H. Peter Anvin2008-02-271-0/+1
| | | | | | | | | | | | 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.
* isolinux: getfssec now outputs bytes readH. Peter Anvin2008-02-261-6/+21
| | | | | ISOLINUX support for the API changes needed to handle unknown file sizes.
* Finally get rid of the old DX:AX for file length 16-bitismH. Peter Anvin2008-02-221-7/+4
| | | | | Finally scrub the code and get rid of the old uses of DX:AX for file size (rather than EAX).
* ISOLINUX: Adaptec bug fix: handle the case of DL missing bit 7syslinux-3.62-pre9Bruce Robson2008-02-161-3/+11
| | | | | | Intel Classic R+ computer with Adaptec 1542CP BIOS 1.02 passes garbage in sp_drive, and the drive number originally passed in DL does not have 80h bit set. Check for this case and compensate if appropriate.
* Put virtual kernels (CLI labels) in high memorysyslinux-3.62-pre7H. Peter Anvin2008-02-151-3/+2
| | | | | | | Support putting virtual kernels in high memory instead of using a dedicated segment for it. This both reduces the low memory footprint by 64K, and allows for functionally unlimited labels (tested with over a hundred thousand.)
* Correct comment specific to SYSLINUX in the other derivativesH. Peter Anvin2008-02-131-2/+0
| | | | | There was a comment which applied to SYSLINUX that had been copied verbatim to the other derivatives; fix.
* isolinux: spec buffer size is 13h (19), not 13H. Peter Anvin2008-02-131-1/+1
| | | | | The El Torito spec says "13", but it's implicitly hexadecimal. We got it right in one place and wrong in another. Fix.
* Switch the display file and graphics routines to using the getc stackH. Peter Anvin2008-02-121-11/+0
| | | | | | | The file display and graphics routines used their own file management since the old getc code did not nest. The new one does (necessary to support INCLUDE), so use the same routines and get rid of the ad hoc buffer management.
* Remove last users of getcbuf; reclaim the address spaceH. Peter Anvin2008-02-121-2/+1
| | | | | | | | | Remove the last few uses of getcbuf (to extend trackbuf for shuffle descriptors, and for temp storage during pxelinux config file search.) As a result, change the way RBFG_brainfuck is handled in pxelinux (at some point it's probably not worth maintaining anymore, as RBFG is no longer widely used); add a .bss2 section for the region between the RBFG zone and the stack.
* Standardize format for copyright lines and updateH. Peter Anvin2008-01-161-1/+1
| | | | Update copyright lines and standardize the format.
* Initial support for auxilliary data vectorH. Peter Anvin2007-12-131-0/+1
| | | | | Initial support for the auxillary data vector, a storage mechanism intended to support boot-once and similar features.
* Preserve ES:DI instead of probing for $PnPsyslinux-3.53-pre5H. Peter Anvin2007-11-141-4/+6
| | | | | | The $PnP probe has been found to lock up at least one machine for reasons unknown. Drop it; instead, burn the extra few bytes in the bootsector to save away ES:DI for later restore.
* ISOLINUX: Change DriveNo -> DriveNumberH. Peter Anvin2007-11-141-10/+10
| | | | | Change DriveNo to DriveNumber in ISOLINUX, to match the other derivatives.
* Remove unused variable BufSafeSecH. Peter Anvin2007-11-131-1/+0
| | | | | | | | Remove unused variable BufSafeSec; it was identical to BufSafe in every way. At the moment, BufSafe* are always constants; consider if they can be swapped out for constants or if we want to retain them for flexibility.
* Guard section to avoid future partial-sector-clobber issuessyslinux-3.53-pre3H. Peter Anvin2007-11-071-3/+1
| | | | | | Create a guard section .uibss that explicitly is covering the potential partial-sector-clobber zone, and contains items which are safe to assume will only be used after full image load.
* isolinux: protect bss variables clobbered due to final sector loadH. Peter Anvin2007-11-061-1/+5
| | | | | | | | | The image size loaded is bigger than the real image; this is due to the final sector being fractional. Move variables needed during that stage from .bss to .bss1. XXX: Need to audit to make sure this doesn't affect other derivatives and/or other variables, too.
* Remove unused EndOfGetcBufH. Peter Anvin2007-11-021-1/+0
|
* ISOLINUX: save segment registers around INT 13hH. Peter Anvin2007-09-191-4/+21
| | | | | There is at least one set of CD-ROM BIOSes out there which corrupt FS on INT 13h, so save and restore all segment registers around INT 13h.
* Move most messages into the appropriate .inc filesH. Peter Anvin2007-06-201-34/+0
|
* Workaround for VMware console bug; make more common code commonH. Peter Anvin2007-06-201-22/+0
|
* Make it safe to call close_file on an already closed file.syslinux-3.50-pre15H. Peter Anvin2007-05-221-1/+3
| | | | | | | | | The SYSLINUX internal API closes a file automatically upon reading to block EOF (not necessarily file EOF!) Thus, it's fairly likely we'll get SI == 0 (closed file) passed to close_file at some point or another. Just plain admit it, and make close_file accept SI == 0 by spec.
* Revert "ISOLINUX: Include the caching code"H. Peter Anvin2007-05-221-9/+2
| | | | | | This reverts commit c9bd66193212de58d1f7de78e3076b01e0172640. We don't need the functionality after all.
* Add a proper internal close function (close_file)H. Peter Anvin2007-05-221-0/+9
| | | | | | | Add a "close_file" function and hook it up to the long-standing comboot API function. At the moment, all it does is free up internal resources; in particular, for PXELINUX it should also really send an ERROR packet to the server to terminate the connection on that end.
* ISOLINUX: Include the caching codesyslinux-3.50-pre13H. Peter Anvin2007-05-221-2/+9
| | | | | Include the caching code in isolinux, and adjust the segments accordingly. This is currently unused, but is indend to be used by getc shortly.
* Stealth whitespace cleanup (automated)H. Peter Anvin2007-03-141-18/+18
|
* Make sure we can read the config file name even after changing it...syslinux-3.40-pre7H. Peter Anvin2007-02-191-3/+9
|
* Merge with syslinux-3.35syslinux-3.40-pre4H. Peter Anvin2007-01-281-2/+2
|\ | | | | | | | | | | | | Conflicts: NEWS version
| * Fix segment register confusion in mangle_nameH. Peter Anvin2007-01-231-2/+2
| |
* | Add support for forcing the filetype, and loading a secondary config file.H. Peter Anvin2006-09-221-20/+10
|/ | | | | Add support for forcing the filetype, and loading a secondary config file. Also bump the version number to version 3.40.
* Fix typosyslinux-3.20-pre18H. Peter Anvin2006-08-211-1/+1
|
* In kaboom, use standard macro for resetting the stack where applicableH. Peter Anvin2006-08-211-7/+1
|
* Fix stack clobber when loading CD boot sectors.H. Peter Anvin2006-08-171-1/+3
|
* When exiting a COMBOOT/COM32 module, reset the stack instead of savingH. Peter Anvin2006-08-171-8/+2
| | | | and restoring it. The former option left crap on the stack.
* Across-the-board stealth whitespace cleanupH. Peter Anvin2006-05-031-17/+17
|
* Revert change to searchdir; document BX and CX trashed.hpa2005-08-231-11/+7
|
* Make sure we have at least 4K for the stack.syslinux-3.10-pre20hpa2005-08-221-4/+4
|
* Register-handling cleanups for searchdir.hpa2005-08-221-5/+9
|
* If onerror is set, invoke onerror on escapehpa2005-08-181-36/+2
|
* Reorganize slightly for more space; add link to SBMhpa2004-12-301-73/+97
|
* Fix pxelinux relocation; work around infinite loop in pxelinux mangle_namehpa2004-12-281-2/+0
|
* More work on using sections for memory alignment. Make bcopy32 alwayshpa2004-12-271-5/+3
| | | | | live in low memory so we don't have to do a bunch on-the-fly relocation, and produce map files.
* Reorganize memory slightly; split .bss into .bss and .earlybss andhpa2004-12-271-4/+6
| | | | | move its base down to 0800h; relocate pxelinux since it needs copious amounts of bss.
* Detect null filenames correctly (problems in both pxelinux and extlinux)syslinux-3.00-pre2hpa2004-12-221-0/+1
|
* Fix some additional common code issues; fix dangling ES in pxelinuxhpa2004-12-191-13/+0
|
* More common code cleanup; actually use the code to compress vkernelshpa2004-12-191-43/+1
|
* Actually use sections, and move common variables into the .inc files.syslinux-2.20-pre3hpa2004-12-171-89/+7
| | | | | The .bss section at the beginning of each .asm file is now downright tiny.
* Move the .bss to a separate section so we can at least begin to movehpa2004-12-171-20/+19
| | | | bss variables near the code where they're defined
* First cut at new searchdir for FAT boot loader; uses metadata cachehpa2004-12-161-4/+4
|
* More cleanups; try to get rid of the now-obsolete definition ofhpa2004-12-161-20/+17
| | | | "cluster" as the minimum block
* Reorganize memory map to make use of 0x3000..0x5000; reduce trackbufsizehpa2004-12-161-10/+5
| | | | | in syslinux to 8K like the others, expecting to handle subclusters; more work on cleaning up ldlinux.asm.