| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
FTBFS: com32/hdt/hdt-dump.c:227:39: error: ‘TFTP_OK’ undeclared
(first use in this function)
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
| |
|
|
|
|
|
|
| |
We already have a core function for setting the IP address of an URL
object based on network lookup or the server default. Export and use
it instead of open-coding the equivalent logic in upload_tftp.c.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
|
|
|
|
|
|
|
| |
We used to need a wrapper around the core function dns_resolv() to
implement pxe_dns(), because the former function required its argument
to live in low memory. This is no longer the case and hasn't been for
a while, so remove this unnecessary level of indirection.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
|
|
|
|
|
|
| |
Provide weak stubs for the case where the tftp functions aren't
available. This prevents link failures for the case of running on top
of non-network cores.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The libupload was using the pxe_call() directly for doing the tftp
uploading stuff. This was only working with pxelinux.
Since we do have lpxelinux, the libupload should use the core functions
to get rid of thoses direct PXE calls.
This patch does
- add a tftp_put() function which supports core functions.
- implement the call from libupload making the code much more simplier
As a result {l}pxelinux can upload data to a tftp server is a similar
way. HDT is getting the benefit of such code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It has been observed that binaries contents
are depending on the order of linked objects.
This order is caused by GNU make's wildcard function
and the position of sources on filesystem.
This change tries to prevent this kind of randomness.
Also consider building using -j1 flag
to make it even more reproductible.
Change-Id: Ie8eee7f336e6f1fa2863c4150d967afd15519f1d
Bug: http://bugzilla.syslinux.org/show_bug.cgi?id=57#related
Signed-off-by: Philippe Coval <philippe.coval at open.eurogiciel.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
As per commit f775e740a3a817a4ff5ba26bea99dbfd735456b3, inreg parameters
of intcall() shall be zeroified.
Having unclean inreg could trigger bad behaviors on some hosts.
This patch is about adding memset() calls prior any intcall() :
- some intcall didn't had any memset at all
- some successive intcall() calls didn't memset inreg in between calls
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we have multiple firmware backends it no longer makes sense
to write object files to the same directory as their source. A better
solution is to write the object files to a per-firmware directory
under a top-level object directory.
The top-level object directory can be specified on the command-line
with the O= variable, e.g. make O=/tmp/obj. If no top-level object
directory is specified an 'obj' directory is created in the top-level
of the Syslinux source repository.
All the existing make targets continue to work as before, however now
they apply to all firmware backends, e.g. 'make installer' will build
the BIOS, 32-bit EFI and 64-bit EFI installers and place them under
$(OBJ)/bios, $(OBJ)/efi32 and $(OBJ)/efi64 respectively.
Note unlike every other bit of Syslinux, the gpxe objects are still
kept in the src directory, e.g. gpxe/src, since gpxe is only required
by the BIOS backend.
It is possible to specify a make target for a specific firmware or
list of firmware with the following syntax,
make [firmware[,firmware]] [target[,target]]
To clean the object directory for just the BIOS firmware type,
'make bios clean'
To build both the 32-bit and 64-bit EFI installers type,
'make efi32 efi64 installer'
Since the Syslinux make infrastructure is now more complex a new file
doc/building.txt has been created to explain how to build Syslinux.
The top-level Makefile now exports some make variables for use in
module Makefiles,
- topdir - the top-level source directory of the Syslinux
repository, e.g. /usr/src/syslinux
- objdir - the top-level object directory for the firmware
backend currently being built, e.g. /obj/syslinux/bios
- SRC - the source directory in the Syslinux repository for the
module currently being built,
e.g. /usr/src/syslinux/com32/libupload
- OBJ - the object directory for the module currently being
built, e.g. /obj/syslinux/bios/com32/libupload
Since we're rewriting the Makefile infrastructure anyway it seemed
like a good idea to add parallel support. By writing subdirectories as
prequisites for make targets the objects in those subdirectories can
be built in parallel.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| | |
| |
| |
| |
| |
| |
| | |
To print an argument of type size_t we should use the %z size
modifier.
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>
|
| |
|
|
|
|
|
|
| |
Resolved Conflicts:
com32/hdt/Makefile
com32/sysdump/Makefile
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
| |
Oups, this while wasn't commited :/
|
| |
|
|
|
| |
The default return value for the tftp mode.
This made the tftp to return error even if the upload was succesful.
|
| |
|
|
|
| |
When using the tftp backend, let's return the errors we got on the
server.
|
| |
|
|
| |
We have to use the size of the element, not the size of the pointer.
|
|
|
This commit creates a library to upload content via 3 backends
(srec/ymodem/tftp).
Code came from sysdump and got librarized for being used more easily
by more other com32 modules.
|