summaryrefslogtreecommitdiff
path: root/core/init.inc
Commit message (Collapse)AuthorAgeFilesLines
* comapi: Remove the comapi interfaces completelyH. Peter Anvin2014-02-131-6/+0
| | | | | | | | | | 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>
* Merge tag 'syslinux-5.01' into firmwaresyslinux-6.00-pre4Matt Fleming2013-01-291-3/+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>
| * core: switch LZO decompressor to "fast safe" versionH. Peter Anvin2013-01-171-3/+3
| | | | | | | | | | | | | | | | Switch LZO decompressor to the "fast safe" version (and bump LZO source to version 2.06). This allows us to use that decompressor for module compression later without carrying another decompressor. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Merge remote-tracking branch 'mfleming/elflink' into for-hpa/elflink/firmwareMatt Fleming2012-07-301-1/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * pxe: move hardwired DHCP options into high memoryH. Peter Anvin2012-05-291-0/+5
| | | | | | | | | | | | | | If we have hardwired DHCP options, move them into high memory instead of into the trackbuf. This eliminates yet another trackbuf user. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * core: Delete the aux segmentMatt Fleming2012-03-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need to use a special aux segment because we can represent 'fontbuf' with OFFS() and SEG(). We're guaranteed to be able to break the 32-bit pointer up with these macros because we control where in the address space the core is loaded. (Not all 32-bit pointers can be represented with OFFS() and SEG(), only addresses in the range 0..0xFFFFF.) This fixes the breakage that was introduced in commit 14531c47bc95 ("core: Delete code that is duplicated in ldlinux"). This allows the default font to be displayed. Previously junk was being returned in the COMBOOT API call to query the userfont, leading the caller to believe that a user font was installed even when it wasn't. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | core: Add firmware backend supportMatt Fleming2011-12-161-1/+3
|/ | | | | | | | In an upcoming patch series we're going to need to abstract the firmware operations because they will be provided by both BIOS and EFI. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* core: Delete code that is duplicated in ldlinuxMatt Fleming2011-12-021-11/+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>
* core: Reimplement lots asm code in CMatt Fleming2011-12-011-57/+3
| | | | | | | | | | | | | | | | | | | | 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>
* June 22: new mem_init worksFeng Tang2010-07-201-0/+7
|
* elflink: comment off the printf provided by coreFeng Tang2010-07-201-0/+1
|
* core: use better malloc; add low memory malloc; fix com32 exitH. Peter Anvin2010-02-231-2/+2
| | | | | | | | | | | | | Use a better malloc for the core. In particular, use the same core that we should eventually be able to use for the entire system in Syslinux 5 -- with module awareness, etc. This code can also accommodate multiple heaps. Set up a separate heap for lowmem; the intent is to use explicit lowmem allocations instead of the static bounce buffer. The lowmem allocation is also exported via the pmapi mechanism, so modules can safely allocate lowmem. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: let xfer_buf_seg, real_mode_seg be assigned by the linkerH. Peter Anvin2010-02-211-4/+12
| | | | | | Use the linker to assign xfer_bug_seg and real_mode_seg. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: hook INT 1Ch for a simple monotonic timerH. Peter Anvin2009-09-021-0/+5
| | | | | | | | | | The BIOS_timer variable at 4C6h is somewhat unreliable... it is documented to wrap at "midnight", norminally after 1627419 ticks (0x18d51b), which is a rather awkward number to deal with modulo. Instead, hook the INT 1Ch secondary timer interrupt and just count a simple incrementing variable. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: merge cpuinit.inc into init.incH. Peter Anvin2009-09-021-0/+38
| | | | | | | 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>
* core: remove assembly definition of Files in iso/pxelinuxH. Peter Anvin2009-08-101-13/+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>
* core: add new __lowmem macro to allocate a static lowmem bufferH. Peter Anvin2009-06-021-3/+2
| | | | | | | | | Add a new __lowmem macro that can be applied to an uninitialized static (or global) object, which allocates it in a new .lowmem section allocated below the 1 MB boundary. Keep in mind that low memory is precious! Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: load the PM code at 1 MB, COM32R code followsH. Peter Anvin2009-05-241-9/+2
| | | | | | | Load our own (core) PM code at 1 MB; when loading a COM32R module let it follow our own PM code. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: make decompression of the PM code actually workH. Peter Anvin2009-05-231-2/+2
| | | | | | | We would correctly decompress the PM code, and then reject it because of an incorrect length comparison. Fix. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: drop double clearing of .uibssH. Peter Anvin2009-05-201-3/+0
| | | | | | | The .uibss and .auxseg are cleared together now, but .uibss was also cleared separately. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: LZO compress the PM part of the coreH. Peter Anvin2009-05-201-19/+53
| | | | | | | | Use LZO to compress the PM part of the core. LZO is not the best compression algorithm, but it is very fast, and the decompressor is only 447 bytes long. The LZO code is part of the LZO 2.03 library. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: make the COMBOOT API available to in-kernel PM codeH. Peter Anvin2009-05-141-4/+10
| | | | | | | | | | | Make it possible to call the COMBOOT API from in-kernel PM code, simply by setting up the COMBOOT API earlier and only tearing it down during final shutdown. WARNING: the COMBOOT API is quite possibly probably not reentrant; I haven't checked it... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: handle more than 32K of code for disk-based derivativesH. Peter Anvin2009-05-141-1/+1
| | | | | | | | | | | | Handle more than 32K worth of code for disk-based derivatives. We do this by allowing the sector pointers to overflow past sector 1; this is OK because we limit a run to be based on only the pointers that we have read so far. XXX: This is implemented for EXTLINUX, but breaks SYSLINUX. Need to update (and unify!) the SYSLINUX installers to cope. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* First cut of doing 32-bit C code in the coreH. Peter Anvin2009-05-141-6/+14
| | | | | | | | | A very preliminary implementation of 32-bit C code in the core. This currently breaks ADV, because the installer assumes the ADV is the last two sectors in extlinux.sys -- need to figure out a way to deal with this hopefully without breaking the migration protocol. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: rename .text, .data and .bss to .text16, .data16, .bss16unify-pmH. Peter Anvin2009-05-131-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>
* core: zero bss and uibss; fix some section confusionsH. Peter Anvin2009-05-131-0/+11
| | | | | | | | | | | 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>
* Move files out of root into core, dos, and utilsH. Peter Anvin2008-05-291-0/+47
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.