aboutsummaryrefslogtreecommitdiffstats
path: root/core
Commit message (Collapse)AuthorAgeFilesLines
* YEAR is a number, not a stringH. Peter Anvin2009-02-274-8/+12
| | | | | The macro YEAR is a number, not a string, so we have to use the asciidec macro.
* pxelinux: abstract the handling of PXENV+ and !PXEH. Peter Anvin2009-02-271-96/+55
| | | | | | Make the handling of PXENV+ versus !PXE simpler by abstracting the differences: push the various fields to the stack in a common order and then process them in common code.
* Use YEAR, not the obsolete macro yearH. Peter Anvin2009-02-275-9/+4
|
* Revert "bcopy32: move descriptor count into ecx after reload"H. Peter Anvin2009-02-261-1/+0
| | | | | | This reverts commit 8b9d34885d8a9d5f7e9da6fbc75735ce1a0c945b. The count here *is* kept in eax, not in ecx.
* bcopy32: move descriptor count into ecx after reloadH. Peter Anvin2009-02-241-0/+1
| | | | | | After having reloaded the descriptor buffer, we divide the byte count to get a descriptor count. That descriptor count belongs in ECX, not in EAX.
* pxelinux: workaround for old versions of NASMH. Peter Anvin2009-02-211-2/+3
| | | | | Old versions of NASM would miscompile forward EQU references. In this case, fixing that problem is easy, so just do it.
* pxelinux: InitStack is only 16-bit seg:offH. Peter Anvin2009-02-181-1/+1
|
* pxelinux: simplify the detection of the API structureH. Peter Anvin2009-02-181-69/+28
| | | | | Simplify some of the code in the detection of the API structure. Based on things discovered while porting this code to gPXE.
* Merge branch 'dir'H. Peter Anvin2009-02-165-4/+451
|\
| * ldlinux: move es manipulation into ucs2_to_cpH. Peter Anvin2009-02-101-6/+4
| | | | | | | | | | | | | | If currently the only caller of ucs2_to_cp wants to use ES, we might as well move the ES set/restore into ucs2_to_cp. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * ldlinux: readdir: trivial optimizationH. Peter Anvin2009-02-101-4/+3
| | | | | | | | | | | | Trivially optimize the readdir code Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * ldlinux: fix interface to ucs2_to_cpH. Peter Anvin2009-02-101-4/+4
| | | | | | | | | | The interface to ucs2_to_cp has changed slightly, it now returns ZF=0 on failure, not CF=1.
| * Merge branch 'charset' into dirH. Peter Anvin2009-02-101-3/+25
| |\
| | * Reorganize the codepage handling to allow ucs2 -> codepage conversionH. Peter Anvin2009-01-251-3/+25
| | | | | | | | | | | | | | | Reorganize the codepage handling to make it easier to do ucs2 -> codepage conversion, this will be used for a future directory lister.
| * | COMBOOT API: Add calls for directory functions; Implement for FATGene Cumm2009-02-095-1/+429
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | COMBOOT API: Add calls for directory functions; Implement most only for FAT (SYSLINUX). Uses INT 22h AX= 001Fh, 0020h, 0021h and 0022h to prepare for the COM32 C functions getcwd(), opendir(), readdir(), and closedir(), respectively. INT22h, AX=001Fh will return a valid value for all variants. INT22h, AX= 0020h, 0021h, and 0022h are only implemented for SYSLINUX while other variants will call comapi_err for these 3. Signed-off-by: Gene Cumm <gene.cumm@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | | pxelinux: compactify the getting cached packets messageH. Peter Anvin2009-02-161-4/+8
| | | | | | | | | | | | | | | Slightly compactify the getting cached packets messages, by putting them all on one line.
* | | pxelinux: Minimum size for PXENV+ is 0x28 bytesH. Peter Anvin2009-02-161-0/+3
| | | | | | | | | | | | | | | The minimum size for the PXENV+ structure is 0x28 bytes (for PXE 1.x/2.0); the size will be 0x2C if the !PXE pointer is provided.
* | | pxelinux: clean up and correct the entry point searchH. Peter Anvin2009-02-161-94/+116
|/ / | | | | | | | | Clean up and bug fixes of the entry point search. Verify that all methods work, and print the one we eventually used.
* | Add comboot interface to access the keyboard remapping tableH. Peter Anvin2009-02-031-1/+16
| | | | | | | | | | | | Add a comboot interface to access the keyboard remapping table, which can be used for either querying or changing the keyboard map.
* | parseconfig.inc: use "skipline" where appropriateH. Peter Anvin2009-01-311-2/+2
| | | | | | | | Use "skipline" where appropriate instead of reading into the trackbuf.
* | Make sure we eat the input when ignoring a DEFAULT commandH. Peter Anvin2009-01-312-11/+13
| | | | | | | | | | | | | | | | | | Make sure we eat the rest of the input line when we encounter a DEFAULT command that is to be ignored because we have a UI command already. Do this by making skipline a subroutine. Based on a patch by Sebastian Hebszt <herbszt@gmx.de>, although substantially modified.
* | Fix the new "UI" directiveSebastian Herbszt2008-12-141-0/+1
| | | | | | | | | | | | | | | | | | The new directive doesn't seem to work here. Looks like DefaultLevel is never changed: core/parseconfig.inc:pc_default: cmp ax,[DefaultLevel] core/parseconfig.inc:DefaultLevel dw 0 ; The current level of default core/ui.inc: cmp word [DefaultLevel],1 ; Active UI statement?
* | Add new "UI" directive instead of abusing the DEFAULT directiveH. Peter Anvin2008-12-144-7/+14
|/ | | | | | | | | Add a new "UI" directive to specify a user interface module, instead of abusing the DEFAULT directive. This allows the DEFAULT directive to be used for setting the default, even when the menu system is enabled. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* PXELINUX: local domain is option 15, not option 16syslinux-3.73-pre7H. Peter Anvin2008-12-011-1/+1
| | | | | | The local domain name is option 15, not option 16. Fix. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/Makefile: fix dependency generation with old versions of NASMH. Peter Anvin2008-12-011-1/+6
| | | | | | | Fix dependency generation with certain old versions of NASM, which omitted the '\n' between dependency lines. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* e820: pre-initialize bufferH. Peter Anvin2008-10-131-0/+5
| | | | | | | | Pre-initialize the e820 buffer to all zero, except for the active bit; we have found that BIOSes will make assumptions about the pre-existing value of the buffer and this seems the most conservative value. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Support "extended attributes" for INT 15h, AX=E820hH. Peter Anvin2008-10-131-2/+12
| | | | | | | | | | | | | | | Some blithering idiot thought it was a good idea to introduce "extended attributes" for INT 15h, AX=E820h, and in doing so, breaking compatibility with ALL E820 users out there. F*cking morons. Implement handling of extended attributes in: - e820 parsing in the core - e820 parsing in libcom32 - e820 parsing *and proxying* in memdisk The latter is the really painful one. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Add CD-ROM mode query to the COM32 interfaceH. Peter Anvin2008-10-101-0/+4
| | | | | | Report the booting mode of ISOLINUX through the COM32 interface. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Add Tab display of labelssyslinux-3.72-pre6H. Peter Anvin2008-09-094-0/+48
| | | | | | When the Tab key is pressed, display a list of matching labels. This can be disabled via the NOCOMPLETE configuration command. This is a slightly modified patch by Sebastian Herbszt.
* parsecmd: show keyword in err_noparm messageSebastian Herbszt2008-09-091-3/+5
| | | | | | Show which keyword is missing the parameter. - Sebastian
* isolinux: save a few bytesH. Peter Anvin2008-09-081-2/+1
| | | | | | Save a few bytes in ISOLINUX. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* isolinux: save a few bytes to make sure we actually fitH. Peter Anvin2008-09-081-12/+7
| | | | | | | With a long VERSION_STR, we would sometimes fail to compile. Shorten a few of the messages to make sure that doesn't happen. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* isolinux: display BIOS typeH. Peter Anvin2008-09-051-8/+28
| | | | | | | Display the BIOS type for isolinux in the same way we do for ldlinux/extlinux. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* ISOLINUX: fix EBIOS information passing in hybrid HDD modeH. Peter Anvin2008-09-051-1/+4
| | | | | | | | | We were incorrectly not passing the EBIOS flag in hybrid HDD mode; also compute the EBIOS LBA correctly in hybrid HDD mode. Allow a 34-bit LBA for this, that way we still support up to 2^32 CD-ROM sectors (8 TB). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* ISOLINUX: support for hybrid mode (CD-ROM/USB key)H. Peter Anvin2008-09-051-17/+238
| | | | | | Still a work in progress. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/Makefile: iso%.bin depends on checksumiso.plH. Peter Anvin2008-09-051-1/+1
| | | | | | iso%.bin depends on checksumiso.pl Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* checksumiso: pad isolinux.bin to a sector boundaryH. Peter Anvin2008-09-051-3/+18
| | | | | | | Always pad isolinux.bin to a full CD-ROM sector boundary. This avoids a lot of potential special cases. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* isolinux: return failure when opening a zero-length fileH. Peter Anvin2008-09-021-1/+2
| | | | | | | | | | | | In the Syslinux view of the world, a zero-length file doesn't exist and therefore should return error on open. A lot of the code relies on this, but ISOLINUX allowed a zero-length file to be opened, which could cause all kinds of trouble. It would be nicer to not have that restriction, but removing it will probably not happen until the configuration code is rewritten in C. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/Makefile: The core is an embedded targetH. Peter Anvin2008-08-221-21/+1
| | | | The core is an embedded target, so use MCONFIG.embedded.
* Major Makefile cleanups; gcc 4.3.0 compatiblityH. Peter Anvin2008-08-201-15/+14
| | | | | Cleanup and centralize the Makefile system even more. Fix a gcc 4.3 incompatibility in memdisk (definition of strlen).
* Simplify and fix label string scanningH. Peter Anvin2008-07-222-15/+7
| | | | | | | Simplify and fix bugs in the code to store and match label names without filename mangling. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* parseconfig, ui: store the label name unmangledSebastian Herbszt2008-07-222-4/+27
| | | | | | | | Store the label names unmangled and match those against command_line. - Sebastian Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/runkernel.inc: remove dead codesyslinux-3.71-pre16Sergey Vlasov2008-07-221-6/+0
| | | | | Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Fix initrd overwriting the kernel for some kernel sizesSergey Vlasov2008-07-221-0/+2
| | | | | | | | | | | | | The address in EDI returned by the load_high call used to load the kernel needs to be passed to parse_load_initrd, but the code which clears memory after setup sectors for 1.2.x kernels was corrupting low 16 bits of EDI. In most cases this corruption was not noticed, because with usual setup sizes DI was set to 0xf800, therefore the chance of getting the kernel size such that initrd would actually overwrite the kernel was about 3%. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Fix loading of *.lkrn images from gPXESergey Vlasov2008-07-221-7/+6
| | | | | | | | | | | Attempts to load *.lkrn images were failing with "Not enough memory to load specified image". These images have the su_ramdisk_max header field set to zero, and the code in core/runkernel.inc was limiting MyHighMemSize too early (before the load_high call used to load the main part of the kernel). Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Correctly parse "serial" statements with no baud rateH. Peter Anvin2008-07-171-7/+6
| | | | | People often don't bother specifying a baud rate for virtual serial ports. Handle parsing correctly.
* isolinux: rename CurDir to CurrentDirSebastian Herbszt2008-07-161-8/+8
| | | | | | | ldlinux and extlinux are both using CurrentDir variable name. Rename CurDir to make it consistent with those. - Sebastian
* adv: fix the handling of the ADV with CBIOSH. Peter Anvin2008-07-161-25/+39
| | | | | | | Fix numerous problems in the way we handled the ADV with CBIOS. The EBIOS code was largely correct, but the CBIOS code was just busted. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* parseconfig: fix invalid mangle_name assumptionH. Peter Anvin2008-07-161-1/+1
| | | | | | | | Remove assumption that mangle_name leaves DI beyond the end of the buffer. This was true back when the mangled filename buffer was an 11-byte DOS filename, but it is definitely not true anymore. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* gen-id: only truncate tags starting with syslinux-<version>-H. Peter Anvin2008-07-151-1/+1
| | | | | If git-describe comes up with a tag not starting with syslinux-<version>- then leave it as-is.