| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Missing prototype.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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>
|
| | | |_|/
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| |\ \ \ \
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | |\ \ \
| | | | |/
| | | |/|
| | | | |
| | | | | |
Conflicts:
com32/modules/chain.c
|
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add const qualifier because we can.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| | |
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Provide a C language standard version to show that we support C99.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
|/
|
|
|
|
|
|
| |
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>
|