summaryrefslogtreecommitdiff
path: root/com32/include/syslinux
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Use pxe_call() instead of COMBOOT APIMatt Fleming2012-07-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This involved some other changes, such as passing flags to unload_pxe() now that we only call it from C code, and hence don't need to update KeepPXE. We also needed to move some of the pxe function prototypes to com32/include/syslinux/pxe_api.h because they are now referenced outside of the core. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
| * | | | elflink: Replace __intcall() with direct function callsMatt Fleming2012-07-202-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | | ldlinux: Stop using the internal KT_* image typesMatt Fleming2012-07-201-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The KT_* image types were never meant to be used outside of com32/menu, so use the external image types from syslinux/boot.h Signed-off-by: Matt Fleming <matt.fleming@intel.com>
| * | | | Merge branch 'master' into elflinkMatt Fleming2012-07-191-1/+28
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reason for this merge is that we need the fix to core/fs/cache.c without which we can potentially dereference an invalid pointer. The below conflict is a result of the new setup_data blob code being merged from the master branch. Conflicts: com32/lib/Makefile
| | * | | | <syslinux/linux.h>: add missing setup_data_init() definitionH. Peter Anvin2012-06-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Missing prototype. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| | * | | | Change fdt-specific loader into a generic setup_data loaderH. Peter Anvin2012-06-291-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it a generic setup_data loader keyed by type. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: Thierry Reding <thierry.reding@avionic-design.de>
| | * | | | com32: Add device tree supportThierry Reding2012-06-291-1/+24
| | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for passing a Flattened Device Tree (FDT) blob to the Linux kernel. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | | | elflink: Use ConfigName directly, the comboot API doesn't worksyslinux-5.00-pre5H. Peter Anvin2012-06-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the ConfigName buffer directly. Since this buffer doesn't necessarily live in lowmem anymore, the comboot API is useless. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | | | Revert "pxe: resolve names via DNS from protected-mode code"Matt Fleming2012-06-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6aba981cd9310bae94587d3e51106261bf0e27b9. dns_resolv() is only implemented for PXELINUX, meaning that if we try to execute any module that references it under SYSLINUX, EXTLINUX or ISOLINUX it fails to run because it cannot resolve the symbol. We need a way to implement DNS resolution so that it works for PXELINUX but returns an error for SYSLINUX/EXTLINUX or ISOLINUX, without introducing undefined symbols. The old COMBOOT API method worked splendidly for this, so revert until someone provides a better solution. Conflicts: com32/lib/Makefile com32/modules/host.c mk/elf.mk Cc: Paulo Alcantara <pcacjr@zytor.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
| * | | | Merge remote-tracking branch 'zytor/master' into merge/elflink/masterMatt Fleming2012-05-311-0/+180
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A lot of development has gone on in the 'master' branch since the last time we merged; new features, bug fixes, etc, etc. Conflicts: Makefile com32/Makefile com32/lib/Makefile com32/lib/syslinux/load_linux.c com32/modules/Makefile com32/modules/chain.c core/bootsect.inc core/init.inc version
| | * | | Merge remote-tracking branch 'origin/master' into chaindevMichal Soltys2011-08-021-2/+7
| | |\ \ \ | | | | |/ | | | |/| | | | | | | | | | | Conflicts: com32/modules/chain.c
| | | * | com32: make syslinux_dump_*() pure debugging functionsH. Peter Anvin2011-06-271-2/+7
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the syslinux_dump_*() functions pure debugging functions; that is the way that they are used anyway, and this way they log to the same place as dprintf. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * | disklib: updates - lbacnt, bps, misc. thingsMichal Soltys2010-10-081-8/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this commit, disk_info structure provides additional fields, namely: lbacnt - total amount of sectors, either returned by 13h/48h or calculated from valid (or faked - 1/1/1) geometry bps - bytes per sector - returned by 13h/48h or equal to SECTOR disk_get_params() has been adjusted to call int13h/48h to get extended drive parameters - mentioned lbacnt and bps. We don't use geometry data returned by 13h/48h, as it can be quite a bit different from the data returned by 13h/08h. disk_write_verify_sector() and disk_write_sector() can deal with more than 1 sector now. Suffix has been renamed to _sectors(). disk_read_sectors() and disk_write_sectors() have been updated to check if we don't overflow bounce buffer, and don't try to read beyond lbacnt. All disk.c functions use 'bps' now, instead of hardcoded SECTOR. struct disk_ebios_dapa - uses packed attribute now. Signed-off-by: Michal Soltys <soltys@ziu.info>
| | * | disklib: small fixes / addonsMichal Soltys2010-08-201-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Functions disk_write_sector() and disk_write_verify_sector() take 64bit lba as an argument now - similary to disk_read_sectors(). Structure disk_info additionally provides cylinders, besides head and sector. Sanity checks during lba -> chs conversions have been adjusted to use cylinders. CX in cbios read/write code was not calculated properly. Minor signed/unsigned changes. Signed-off-by: Michal Soltys <soltys@ziu.info>
| | * | chain.c32, libcom32: Move gpt_dump() as disk_gpt_header_dump()Shao Miller2010-07-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move struct gpt as disk_gpt_headerShao Miller2010-07-101-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also moved gpt_sig_magic as disk_gpt_sig_magic. Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move gpt_part_dump() as disk_gpt_part_dump()Shao Miller2010-07-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move guid_to_str() and str_to_guid()Shao Miller2010-07-101-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. There might be a better header for these to belong to. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move struct gpt_part as disk_gpt_part_entryShao Miller2010-07-101-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move guid_le_walk_mapShao Miller2010-07-101-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. There might be a better header for guid_le_walk_map to belong to. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move struct guidShao Miller2010-07-101-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. There might be a better header for struct guid to belong to. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move struct mbr as disk_dos_mbrShao Miller2010-07-101-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also move mbr_sig_magic as disk_mbr_sig_magic macro. Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move mbr_part_dump() as disk_dos_part_dump()Shao Miller2010-07-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move struct part_entry as disk_dos_part_entryShao Miller2010-07-101-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move chs macros and chs typedef as disk_chsShao Miller2010-07-101-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | libcom32 disk: A slight grunt of constipationShao Miller2010-07-101-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Add const qualifier because we can. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move write_verify_sector() as disk_write_verify_sector()Shao Miller2010-07-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move write_sector() as disk_write_sector()Shao Miller2010-07-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move read_sectors() as disk_read_sectors()Shao Miller2010-07-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move struct ebios_dapa as disk_ebios_dapaShao Miller2010-07-101-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move get_disk_params() as disk_get_params()Shao Miller2010-07-101-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also moved struct diskinfo as disk_info. Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | chain.c32, libcom32: Move int13_retry() as disk_int13_retry()Shao Miller2010-07-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Moving portions of chain.c32 into libcom32. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | libcom32: Introduce disk header and moduleShao Miller2010-07-101-0/+41
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An effort to move significant portions out of chain.c32 and into library is underway. We begin by simply moving SECTOR into a header and building a disk module. Note that some of this work will essentially duplicate some of what's found in Pierre-Alexandre Meyer's fine work in com32/gpllib/disk/. A difference would be the licensing, of course. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| * | localboot: remove unnecessary real-mode callPaulo Alcantara2012-05-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | syslinux_local_boot() used to call local_boot() from INT 0x22 (AX=0x0014) as it should just call local_boot() function. The local_boot() function is now exported by core/include/localboot.h to be used in COM32 library space so that syslinux_local_boot() can use it. Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
| * | com32: make syslinux_dump_*() pure debugging functionsH. Peter Anvin2012-05-181-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | Make the syslinux_dump_*() functions pure debugging functions; that is the way that they are used anyway, and this way they log to the same place as dprintf. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | pxe: resolve names via DNS from protected-mode codePaulo Alcantara2012-05-121-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | Syslinux used to call __intcall() for calling routines of the old COMBOOT API to resolve names via DNS (INT 22h, AX=0x0010) that seemed pointless, since INT 22h, AX=0x0010 does call the protected-mode function pm_pxe_resolv_dns() when calling INT 22h, AX=0x0010. So, for resolving names via DNS we must call pxe_dns_resolv() (a protected-mode function) instead for now. Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
* | firmware: Fix assorted compiler warningsMatt Fleming2012-03-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes the build a little quieter by fixing the following warnings, firmware.h:39:43: warning: ‘struct initramfs’ declared inside parameter list main.c:714:2: warning: implicit declaration of function ‘fs_init’ core/mem/free.c:79:5: warning: implicit declaration of function ‘FreePool’ core/mem/malloc.c:73:5: warning: implicit declaration of function ‘AllocatePool’ Signed-off-by: Chandramouli Narayanan <chandramouli.narayanan@intel.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | firmware, diskio: Create struct disk_privateMatt Fleming2012-03-281-0/+2
| | | | | | | | | | | | | | | | | | We need a way of passing firmware-specific information to the disk I/O subsystem. Split the BIOS code into diskio_bios.c so that we don't include any disk BIOS symbols in the EFI executable. This way, the code in core/fs/diskio.c is firmware independent. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | firmware: Add EFI linux boot supportMatt Fleming2012-02-022-0/+40
| | | | | | | | | | | | | | | | | | Add .boot_linux to 'struct firmware', we do quite a lot of things differently for BIOS and EFI. For EFI we don't need the movelist code because we have little control over the memory map, and so can't guarantee we can place code/data at specific addresses. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | com32: Move initramfs_size() into header fileMatt Fleming2012-02-021-0/+17
| | | | | | | | | | | | | | Both the EFI and BIOS firmwares need to calculate the size of initramfs, so move this helper function into a common header file. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | linux: Move linux_header definition to headerMatt Fleming2012-02-021-0/+43
| | | | | | | | | | | | | | | | We're gonna need to include the 'struct linux_header' definition in both the BIOS .boot_linux implementation the EFI one so move the definition into a central header file. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | efi: Add Auxiliary Data Vector supportChandramouli Narayanan2012-02-021-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Including deleting some ADV code that found its way into core/elflink. Also, move the __syslinux_adv_ptr and __syslinux_adv_size symbols out of ldlinux.c32 and into the core. Normally we don't want to move symbols into the core (as it increases the size), but we do in this case because the values for these symbols are firmware dependent. Signed-off-by: Chandramouli Narayanan <chandramouli.narayanan@intel.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | firmware: Add .ipappend_strings function pointerMatt Fleming2012-02-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We need a firmware-independent way of getting the ipappend strings so add a function pointer to 'struct firmware'. The BIOS backend uses the old __intcall() method whereas the EFI backend accesses 'IPAppends' and 'numIPAppends' directly. Note that the EFI backend currently always returns 0 for 'numIPAppends' because it does not support PXE. Also, while I'm here I fixed the types of 'numIPAppends' and 'IPAppends' for EFI. For some reason the data types were the wrong way around. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | firmware: Add .get_serial_console_infoMatt Fleming2012-02-021-0/+1
| | | | | | | | Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | firmware: Add .get_config_file_nameMatt Fleming2012-02-021-0/+1
| | | | | | | | Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | firmware: Don't include disk.hMatt Fleming2012-01-201-1/+0
| | | | | | | | | | | | | | | | disk.h is a core/ header file and should only be included by code that requires it because not all code has core/include/ in its -I path (which can result in a compilation failure). Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | com32: Add firmware backend support to ansiconMatt Fleming2011-12-161-0/+18
| | | | | | | | | | | | | | | | The way in which I/O is done is firmware backend-specific. Jump through some layers of indirection so that things can be implemented differently for BIOS and EFI. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | disk: Add .disk_init() to firmware structMatt Fleming2011-12-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | 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>
* | com32: Provide a language standard versionMatt Fleming2011-12-161-0/+6
| | | | | | | | | | | | Provide a C language standard version to show that we support C99. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | core: Add firmware backend supportMatt Fleming2011-12-162-0/+16
|/ | | | | | | | 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>