aboutsummaryrefslogtreecommitdiffstats
path: root/core/isolinux.asm
AgeCommit message (Collapse)AuthorFilesLines
2014-02-13comapi: Remove the comapi interfaces completelyH. Peter Anvin1-13/+3
Remove the last bits of the comapi interfaces completely. This does not install stub handlers for the INT 20-3Fh handlers, as we don't support loading old COMBOOT/COM32/COM32R images anymore. We could put those back if we really need them. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2014-02-13bios: Remove shuffle and boot comapi callH. Peter Anvin1-0/+4
Remove the shuffle and boot comapi call. This is the last of the comapi calls left; we should now be able to completely remove the comapi support. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2014-01-02isolinux: Shorten a few of the debug messagesH. Peter Anvin1-2/+2
Apparently with some toolchains, isolinux-debug runs out of space by a few bytes. Shorted a few messages slightly to make up for that. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2013-11-26Merge remote-tracking branch 'origin/elflink' into firmwareH. Peter Anvin1-1/+1
Resolved Conflicts: com32/lib/syslinux/disk.c Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2013-11-26isolinux: Clear upper half of EDX before usingH. Peter Anvin1-1/+1
In checkin: cb015497a4e4 isolinux: Update LBA in getlinsec loop ... we use EDX as a sector count, but the sector count is actually in DX, and the upper half of EDX is uninitialized. If the BIOS enters with a nonzero value in the upper half of EDX, this breaks horribly. At least one set of BIOSes has been identified where if the LBA > 64K then the upper half of EDX will be nonzero. Reported-by: Carl Duff <cdrw2400@gmail.com> Reported-by: Philip Müller <philm@manjaro.org> Tested-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2013-03-22Merge tag 'syslinux-5.10-pre2' into for-hpa/elflink/firmwareMatt Fleming1-28/+0
syslinux-5.10-pre2 Conflicts: NEWS com32/include/netinet/in.h com32/include/sys/cpu.h com32/lib/Makefile core/Makefile core/fs/diskio.c core/fs/pxe/pxe.h core/init.c core/mem/free.c core/mem/malloc.c mk/devel.mk version
2013-02-26Merge branch 'lwip' into elflinkMatt Fleming1-28/+0
Welcome to Syslinux 5.10. Conflicts: NEWS com32/lib/Makefile com32/lib/sys/open.c com32/lib/syslinux/ipappend.c com32/modules/Makefile com32/modules/prdhcp.c core/Makefile core/cmdline.inc core/com32.inc core/comboot.inc core/configinit.inc core/fs/chdir.c core/fs/fs.c core/fs/pxe/dnsresolv.c core/fs/pxe/pxe.c core/fs/pxe/pxe.h core/idle.c core/include/ctype.h core/init.inc core/mem/init.c core/parseconfig.inc core/runkernel.inc core/syslinux.ld core/ui.inc doc/comboot.txt version
2013-01-29Merge tag 'syslinux-5.01' into firmwaresyslinux-6.00-pre4Matt Fleming1-0/+3
Conflicts: Makefile NEWS com32/cmenu/Makefile com32/elflink/ldlinux/Makefile com32/gfxboot/Makefile com32/gpllib/Makefile com32/include/sys/module.h com32/lib/Makefile com32/lib/sys/module/elf_module.c com32/menu/Makefile com32/rosh/Makefile com32/samples/Makefile core/init.c mk/elf.mk Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2013-01-11isolinux: Update LBA in getlinsec loopMatt Fleming1-0/+3
We need to increment the Logical Block Address in eax by the number of sectors we passed to getlinsec after every invocation, otherwise we'll start with the same sector everytime. This bug was discovered when booting an isohybrid image, which failed to boot after printing the following error, "Image checksum error, sorry..." because the isolinux.bin was bigger than 32K, and thus invoked the getlinsec loop that reads the file in chunks. Cc: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2012-12-07Merge tag 'syslinux-5.00' into firmwaresyslinux-6.00-pre3Matt Fleming1-9/+1
Conflicts: Makefile com32/elflink/ldlinux/Makefile com32/lib/sys/module/elf_module.c core/cleanup.c core/comboot.inc core/conio.c core/fs/fs.c core/init.c core/mem/free.c core/mem/malloc.c core/timer.inc diag/geodsp/Makefile extlinux/main.c mk/embedded.mk modules/Makefile Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2012-12-05Reduce the number of global variablesMatt Fleming1-9/+0
In preparation for strictly limiting the list of variables that are exported (global) in the core, delete any unused variables, rewrite variable declarations in C that are not referenced by asm and delete files that are no longer included in other asm files. Cc: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2012-11-26isolinux: Make BIOSName globalMatt Fleming1-0/+1
commit 967ee8a1ed49 ("CLI: Add Ctrl + V support for printing the Syslinux version") should have made the BIOSName symbol global in core/isolinux.asm. Without this change ldlinux.c32 will hang because it cannot resolve the 'BIOSName' symbol. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2012-09-04Create derivative-specific filesMatt Fleming1-0/+6
Instead of having derivative-specific code within the assembly files and guarded by %if SYSLINUX, etc move all the code to C files so that the correct get_derivative_info() function can be wired up at runtime. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2012-07-30Merge remote-tracking branch 'mfleming/elflink' into for-hpa/elflink/firmwareMatt Fleming1-5/+55
Conflicts: Makefile com32/elflink/ldlinux/adv.c com32/elflink/ldlinux/kernel.c com32/elflink/ldlinux/ldlinux.c com32/include/bitsize/stddef.h com32/include/bitsize/stdint.h com32/include/stdint.h com32/include/sys/module.h com32/include/sys/x86_64/bitops.h com32/include/syslinux/linux.h com32/lib/Makefile com32/lib/sys/ansicon_write.c com32/lib/sys/module/elfutils.h com32/lib/sys/vesa/efi/fill.h com32/lib/syslinux/load_linux.c com32/lib/syslinux/serial.c com32/lib/syslinux/shuffle.c core/conio.c core/elflink/config.c core/elflink/load_env32.c core/graphics.c core/include/graphics.h core/init.c core/pxelinux.asm mk/elf.mk mk/lib.mk
2012-07-20elflink: Replace __intcall() with direct function callsMatt Fleming1-1/+1
There's no reason to use the COMBOOT API at all now that we can have any undefined symbols resolved at runtime - we can just access functions directly. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2012-06-07elflink: Fix boot sector bootingMatt Fleming1-0/+1
This adds missing support for booting from a boot sector file such as .bs, .bss or .0, by re-implementing the old asm bootsec code from core/bootsect.inc in C. This has resulted in some external changes. We've had to make StackBuf a global symbol because we access it directly from execute.c. Also, we need to move dsinfo.c into MINLIBOBJS because ldlinux now needs to reference __syslinux_derivative_info. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2012-05-12ISOLINUX: use bailmsg string in kaboom()Paulo Alcantara1-1/+1
Every code which implements kaboom(), uses bailmsg string. So we must use it in core/isolinux.asm as well. Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
2012-05-12ISOLINUX: trivial fixPaulo Alcantara1-1/+1
Fix minor typo. Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
2012-04-11Remove core/ui.inc completely from SyslinuxPaulo Alcantara1-3/+52
The old UI used by Syslinux is no longer supported. The 32-bit environment already provides us an awesome prompt. All Syslinux variants do not depend on it anymore, thus they were modified in order to support the new prompt provided by the ELF module ldlinux.c32. Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
2011-12-16disk: Add .disk_init() to firmware structMatt Fleming1-1/+1
Each firmware has its own method of initialising a disk so allow each firmware backend to implement a separate disk_init() function. Make all the assembly callers of fs_init() jump through pm_fs_init(), which allows us to restrict the com32sys_t arguments to only those callers that really need it, e.g. the .asm files. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2011-12-02core: Delete code that is duplicated in ldlinuxMatt Fleming1-18/+0
Lots of code that used to be implemented in the core is now implemented in ldlinux, but code from core was never deleted. Purge this code. Also, move all com32 loading to ldlinux since we need to be able to do various command line things (which are no longer available in the core). Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2011-12-01core: Reimplement writestr in CMatt Fleming1-19/+29
Implement writestr in C instead of asm and move writestr.inc into modules/ because it's required by modules/ver.asm. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2011-12-01core: Reimplement lots asm code in CMatt Fleming1-0/+16
There is an awful lot of code currently implemented in assembly when it could just as easily be implemented in C. Having it in C makes it much easier to share code between the BIOS and forthcoming EFI firmware backend. The following code fragments have been rewritten, - timer initialisation - adjust_screen() - check_esapes() and mem_init() - conio.inc - plaincon.inc - cleanup.inc - serirq.inc - font.inc - graphics - writehex Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2011-06-07ldlinux: Add support for parsing "serial" config directiveMatt Fleming1-0/+1
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
2011-04-26Merge remote-tracking branch 'zytor/master' into elflinkMatt Fleming1-173/+0
We need the recent Makefile filename changes to be merged into the elflink branch because it will make things simpler when converting all modules to ELF format. Conflicts: com32/Makefile com32/modules/Makefile version
2011-04-25Generalize ipappend handling as "sysappend", and move to PM codeH. Peter Anvin1-17/+0
Generalize the ipappend handling to cover all the derivatives, and rename it "sysappend" ("ipappend" is a valid alias for all derivatives.) Move all the string handling to protected mode. Currently only pxelinux exports strings, but the plan is to change that in the future. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2011-04-25isolinux: remove broken and obsolete open_file_tH. Peter Anvin1-16/+0
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2011-04-25isolinux: remove .img file supportH. Peter Anvin1-157/+0
Remove disk image support from ISOLINUX. Very few BIOSes support this call correctly, and it is likely to have been broken for a very long time anyway. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2011-03-09ldlinux: Parse configuration filesMatt Fleming1-6/+0
Use the configuration file parser provided by ldlinux to search for and parse any configuration files. If a kernel or ui module is found in the configuration file, it is executed once parsing completes. Parsing and loading kernels is now entirely done in C! The parser also builds the data structures for later use by the menu system. Previously, after the asm config parser had parsed the config file and found a kernel image to boot (or dropped the user at a command prompt), the menu.c32 module had to open the config file and re-parse it. Now, we only need to parse the file once. Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
2010-08-26elflink: modify isolinux.asm to make it go to elf flowFeng Tang1-2/+3
Just add a "pm_call load_env32" after calling fs_init(), now the isolinux installer can use elf code to parse config, enter menu, loading kernel too Signed-off-by: Feng Tang <feng.tang@intel.com>
2010-07-25core: don't hang if no config file is foundH. Peter Anvin1-1/+2
If we can't find a configuration file, we need to do something slightly more friendly than hanging. Reported-by: Sebastian Herbszt <herbszt@gmx.de> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-06-29isolinux: don't clobber DX (DL!) on startupH. Peter Anvin1-6/+6
DL contains the initial drive number, don't clobber it! Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-06-29isolinux: make sure Hidden is zero in native El Torito modeH. Peter Anvin1-10/+12
In native El Torito mode, there is no such thing as a partition offset. Make sure that we set Hidden to zero -- we don't use Hidden (yet, although the ebios and cdrom code should be merged!) but we pass it to the PM code, which will produce *really* wrong results... Reported-by: Helmut Hullen <Hullen@t-online.de> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-06-27Export the 64-bit partition offset and use it in chain.cH. Peter Anvin1-8/+8
When used with the "fs" option to chain.c32, we need to know our own filesystem offset. That means knowing if we used the MBR vs GPT partition information, as well as if we ended up using the passed-in information or not. Resolve this by providing an explicit pointer to the current partition offset. Eventually this should be replaced by some kind of statfs() call. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-05-14core: fix "sector size" confusionsyslinux-4.00-pre45H. Peter Anvin1-19/+0
Fix the case where the "sector size" used by the pm filesystem driver isn't the same thing as the SECTOR_SIZE/SECTOR_SHIFT macros used in the assembly code. This is a per-device property, and in the particular case of isolinux hybrid, they are not even currently the same (for all others, they are the same for now, but not necessarily in the future.) Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-12diskio: make maxtransfer per-device, cap to 127, imported from headsyslinux-4.00-pre43H. Peter Anvin1-1/+7
Make the maxtransfer per device, as it should be; properly imported from the head loader (in case it is patched with -s). Also enforce capping to 127 for EBIOS and 63 for CBIOS. This is structured so that once EDD4 is approved we can remove the capping for that particular subcase. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-03-29Merge branch 'master' into pathbasedH. Peter Anvin1-1/+1
Resolved Conflicts: MCONFIG.embedded com32/MCONFIG com32/include/com32.h core/com32.inc core/pxelinux.asm doc/comboot.txt Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-03-29core: use MY_NAME for syslinux_bannerSebastian Herbszt1-1/+1
Use MY_NAME for syslinux_banner in isolinux and pxelinux. This is already done in ldlinux and extlinux. Signed-off-by: Sebastian Herbszt <herbszt@gmx.de> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-02-26iso9660: use boot_info_table and fix hybrid modeH. Peter Anvin1-0/+2
In hybrid disk mode, one block will generally *not* equal one sector. Use the boot_info_table to find the primary volume descriptor. Remove the now-unused cdrom_read_blocks(). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-02-24isolinux: 7C00h -> TEXT_STARTH. Peter Anvin1-3/+3
Use the TEXT_START macro instead of hard-coding 7C00h. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-02-24isolinux: drop dependency on core_xfer_buf in self-loadersyslinux-4.00-pre26H. Peter Anvin1-38/+45
Drop the dependency on core_xfer_buf in the self-loader, and instead load the data aligned to an offset, and then bulk-move it into place. diskstart.inc will need to do something similar if/when support is added for > 1K sectors on BIOS. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-02-21core: let xfer_buf_seg, real_mode_seg be assigned by the linkerH. Peter Anvin1-1/+1
Use the linker to assign xfer_bug_seg and real_mode_seg. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-02-14Merge branch 'master' into pathbasedsyslinux-4.00-pre20H. Peter Anvin1-2/+2
Resolved Conflicts: com32/Makefile com32/include/syslinux/pxe.h core/pxelinux.asm core/syslinux.ld Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-02-12core: document the stack location, use STACK_TOP throughoutH. Peter Anvin1-1/+1
The global absolute symbol STACK_TOP defined in layout.inc can be used by the linker script as well as by anything else that needs to know where the stack is. Also document why we do it differently for PXELINUX. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-12-28isolinux: export kaboomH. Peter Anvin1-0/+1
We need to export kaboom in all cases... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-12-22isolinux: fs_init now takes a pointer to an array of filesystemsH. Peter Anvin1-2/+10
fs_init now takes a pointer to an array of filesystems, not a pointer to a single filesystem type. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-09-02core: merge cpuinit.inc into init.incH. Peter Anvin1-1/+0
The separation between cpuinit.inc and init.inc has never been very clear, and it just made the code harder to read. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-08-16Core: code cleanLiu Aleaxander1-33/+0
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
2009-08-12core: make FILENAME_MAX common; librarize mangle/unmangleH. Peter Anvin1-2/+0
FILENAME_MAX was 2^8 in all variants by now; make it a common define. Libraries mangle/unmangle; we have generic_mangle_name for Unix-like filesystems, and unmangle now defaults to simple strcpy. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-08-11core: VFS cleanups: add a persistent generic struct fileH. Peter Anvin1-2/+0
Major cleanups to the VFS layer: - add a persistent generic "struct file" - pass "struct file *" to getfssec - add a close_file method - use VFS-assigned indicies instead of pointers as file handles. This allows the file structures to be allocated from high memory. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-08-10core: remove assembly definition of Files in iso/pxelinuxH. Peter Anvin1-5/+0
Remove the assembly definition of Files in isolinux and pxelinux. Still to do: remove dependencies on Files living in .bss16 space. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-08-08Core: unmangle_name convertedLiu Aleaxander1-15/+0
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
2009-07-13Core: do trick on the hybrid mode detectionLiu Aleaxander1-6/+1
2009-07-13Core: fix the hybride mode detection codeLiu Aleaxander1-1/+7
2009-07-13Core: fix the HD-mode error in isolinuxLiu Aleaxander1-5/+5
error fixed. Just as what hpa told, deal with that might simply be to consider a 2K CD sector a "block" rather than a "sector". so, in cdrom mode, we have 2K blocksize and 2k sector size, while in hybrid mode we have 2k blocksize and 512 bytes sector size.
2009-06-23Merge branch 'isolinux'Liu Aleaxander1-404/+17
Conflicts: core/Makefile core/diskstart.inc core/fs.c
2009-06-21Core:ISOLINUX: convert the isolinux.asm to CLiu Aleaxander1-404/+14
2009-06-01prepcore: error out if the compressed image is too large to loadH. Peter Anvin1-0/+2
Export, from each loader stage, the symbol MaxLMA which indicates to prepcore how big the image is allowed to be. Change prepcore to enforce this limit and to error out otherwise. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-31Merge branch 'master' into core32H. Peter Anvin1-12/+23
Conflicts: core/isolinux.asm
2009-05-31isolinux: can't clobber edx when dx contains the drive number...H. Peter Anvin1-3/+3
Use ebx to hold the upper half of the partition offset, not edx. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-31isolinux: bsHidden can't be in data; it is set before checksummingH. Peter Anvin1-8/+13
We cannot put bsHidden in initializated data, as it is set before we run the global checksumming. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-31isolinux: handle systems which disables interrupts in El ToritoH. Peter Anvin1-7/+13
At least one system has been identified which disables interrupts when El Torito INT 13h is executed. Thus, save/restore IF around INT 13h. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-28Merge branch 'master' into core32H. Peter Anvin1-5/+11
2009-05-26isohybrid: make isolinux.bin and isohybrid two-way compatiblesyslinux-3.81-pre16syslinux-3.81H. Peter Anvin1-5/+11
It turns out we *can* determine if we have the extra partition offset information after all, by looking at the value of the stack pointer. This depends on the internals of the old isohdpfx code, but that's really all we need to worry about. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-25Merge branch 'master' into core32H. Peter Anvin1-16/+13
2009-05-25isohybrid: revert to a stack format compatible with previous versionsyslinux-3.81-pre14H. Peter Anvin1-16/+13
Revert the isohybrid handover protocol so that it has a stack format compatible with the previous versions; that way we can also revert the magic number to a compatible one. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-24isolinux: handle a core file greater than 64KH. Peter Anvin1-27/+43
Handle a core file greater than 64K, and handle the case of a BIOS which can't handle 64K wraparounds. The latter is messy with CD-ROMs, since the standard load address (0x7c00) is not 2K aligned. We will have to do something similar for disk-based derivatives when dealing with 4K sector drives. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-21Merge branch 'master' into core32H. Peter Anvin1-9/+20
Conflicts: core/idle.inc Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-21isohybrid: support booting from partition; fix CBIOS bootingH. Peter Anvin1-9/+20
Fix CBIOS in isohybrid mode. Also allow an isohybrid image to be booted from a partition. Unfortunately this breaks compatibility between differing versions of isohybrid and isolinux.bin. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-18Merge branch 'master' into core32H. Peter Anvin1-10/+0
Conflicts: core/extlinux.asm core/isolinux.asm core/ldlinux.asm core/pxeidle.inc core/pxelinux.asm Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-18Try to HLT the processor during idlesyslinux-3.81-pre4H. Peter Anvin1-10/+1
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>
2009-05-17core: move common module includes to common.incH. Peter Anvin1-13/+1
A lot of modules are common to *all* the derivatives (as opposed to just "most"); move those to common.inc. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-13core: rename .text, .data and .bss to .text16, .data16, .bss16unify-pmH. Peter Anvin1-4/+4
Rename the .text, .data and .bss sections to .text16, .data16 and .bss16, in anticipation of being linked with compiler-generated 32-bit code, which presumably would like to use the standard section names. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-13core: zero bss and uibss; fix some section confusionsH. Peter Anvin1-4/+6
Set .bss and .uibss as soon as we are fully loaded. This gives us the more familiar behavior of most normal execution environments. The .earlybss section is not zeroed; therefore, all variables that are set before we have the opportunity to zero need to go in this section. This checkin also fixes some incorrect section directives. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-13core: obsolete .bss1 and .bss2H. Peter Anvin1-1/+1
Remove the obsolete .bss1 and .bss2 segments; they represent segment balancing which is no longer useful. The current balance between .earlybss, .bss and .uibss seems to be sufficient; if we need more balancing in the future then we need to start over anyway. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-13core: move initial code to a new .init segment; unify .bss+.bss1H. Peter Anvin1-5/+9
Move code used before loading is complete to a new .init segment; .text is now only the stuff that is used at any time. Move the .bss1 segment down to where .bss and .bss2 already are; it seems to fit better there now. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-13New attempt at unify protected mode entry/exitH. Peter Anvin1-0/+2
Another attempt at unify protected mode entry/exit, based on the previous bcopyint branch. This should, among other things, give a "full service" PM environment including BIOS upcalls and interrupt service to the core-internal code. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-04-25Merge branch 'syslinux-3.7x'H. Peter Anvin1-0/+2
2009-04-25ISOLINUX: set directory length correctlySteffen Winterfeldt1-0/+2
Since searchdir() uses getfssec() to read the directory it needs to set file_bytesleft. Else it loops forever if you have a large directory (and/or rock ridge on).
2009-04-20Global whitespace cleanup.H. Peter Anvin1-3/+3
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2009-04-13core: move vgafontbuf out of the zero segmentH. Peter Anvin1-8/+0
vgafontbuf is one of the largest (bss) structures in the zero segment, together with the trackbuf (which we realistically can't move.) Create a new "auxilliary segment" for fixed-sized data which needs to be in the low megabyte, but not necessarily in the zero segment. This pushes up the low memory usage, but only by 8K. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2009-04-13core: add alignz macro (analogous to "alignb") for zero-pad alignH. Peter Anvin1-4/+4
Add a new macro "alignz" to align with zero bytes; use to align inside a data section (i.e. a progbits section which doesn't contain code.) Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2009-04-04Update copyright notices; add Intel notices where appropriateH. Peter Anvin1-0/+1
Update copyright notices. Per agreement with my new employer, Intel Corporation, add Intel copyright notices where appropriate. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-03-31Banner: "and contributors" is just too long; try "et al"H. Peter Anvin1-1/+1
Impact: aestetics Change "and contributors" to "et al" so that the message actually fits on one line. This is unfortunate, but what can you do... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-03-21Add "and contributors" to the copyright bannerH. Peter Anvin1-1/+1
Clarify that there are nowadays more copyright holders than just myself.
2009-03-16isolinux: split MaxTransfer for HD and CD modesH. Peter Anvin1-5/+7
The MaxTransfer for CD modes has to be smaller than for HD modes to avoid 64K overrun (even though in theory it's permitted, we don't trust it.) Thus have separate variables for HD and CD modes.
2009-02-27YEAR is a number, not a stringH. Peter Anvin1-2/+3
The macro YEAR is a number, not a string, so we have to use the asciidec macro.
2009-02-27Use YEAR, not the obsolete macro yearH. Peter Anvin1-1/+1
2009-02-09COMBOOT API: Add calls for directory functions; Implement for FATGene Cumm1-0/+20
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>
2008-09-08isolinux: save a few bytesH. Peter Anvin1-2/+1
Save a few bytes in ISOLINUX. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-09-08isolinux: save a few bytes to make sure we actually fitH. Peter Anvin1-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>
2008-09-05isolinux: display BIOS typeH. Peter Anvin1-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>
2008-09-05ISOLINUX: fix EBIOS information passing in hybrid HDD modeH. Peter Anvin1-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>
2008-09-05ISOLINUX: support for hybrid mode (CD-ROM/USB key)H. Peter Anvin1-17/+238
Still a work in progress. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-09-02isolinux: return failure when opening a zero-length fileH. Peter Anvin1-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>
2008-07-16isolinux: rename CurDir to CurrentDirSebastian Herbszt1-8/+8
ldlinux and extlinux are both using CurrentDir variable name. Rename CurDir to make it consistent with those. - Sebastian
2008-07-07Centralize more of the version number machineryH. Peter Anvin1-1/+1
Centralize more (most) of the version number machinery to version.pl.
2008-07-07Drop macros that just point to other macrosH. Peter Anvin1-1/+1
Drop macros for "date" and "version_str", which are nothing but redefined names of macros we already define (DATE_STR and VERSION).
2008-07-03Allow the initrd to be specified on a separate linesyslinux-3.71-pre4H. Peter Anvin1-6/+0
Allow the initrd to be specified on a separate line from command-line options (append). This apparently can help certain tools.
2008-06-26isolinux: don't clobber bp in getfssecsyslinux-3.70-pre26H. Peter Anvin1-15/+6
The comapi functions get very unhappy if bp is ever clobbered, since it uses bp as a frame pointer.
2008-06-15Mechanically rename the writestr functionsH. Peter Anvin1-12/+12
Mechanically rename the writestr functions: writestr -> writestr_early cwritestr -> writestr ... to reflect which function is more appropriate to call in normal circumstances.
2008-05-29Move files out of root into core, dos, and utilsH. Peter Anvin1-0/+1549
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.