<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/syslinux.git/com32/libupload, branch master</title>
<subtitle>git.kernel.org: pub/scm/boot/syslinux/syslinux.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/'/>
<entry>
<title>libupload: Use new TFTP OK status definition</title>
<updated>2016-04-24T01:10:41+00:00</updated>
<author>
<name>Gene Cumm</name>
<email>gene.cumm@gmail.com</email>
</author>
<published>2016-04-24T01:10:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=a615768ccafaffc444a808bffc0479ab7dc9efee'/>
<id>a615768ccafaffc444a808bffc0479ab7dc9efee</id>
<content type='text'>
FTBFS: com32/hdt/hdt-dump.c:227:39: error: ‘TFTP_OK’ undeclared
  (first use in this function)

Signed-off-by: Gene Cumm &lt;gene.cumm@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FTBFS: com32/hdt/hdt-dump.c:227:39: error: ‘TFTP_OK’ undeclared
  (first use in this function)

Signed-off-by: Gene Cumm &lt;gene.cumm@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libupload: use url_set_ip()</title>
<updated>2016-04-06T20:02:13+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@linux.intel.com</email>
</author>
<published>2016-04-06T20:02:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=b61bdc9acc1df765eec9b43e6f83846dfb8a70d0'/>
<id>b61bdc9acc1df765eec9b43e6f83846dfb8a70d0</id>
<content type='text'>
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 &lt;hpa@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;hpa@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pxe_dns: remove obsolete pxe_dns.c wrapper</title>
<updated>2016-04-06T19:34:01+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@linux.intel.com</email>
</author>
<published>2016-04-06T19:34:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=edb6d3e81a891331d0adea527dc4adbe45db64d4'/>
<id>edb6d3e81a891331d0adea527dc4adbe45db64d4</id>
<content type='text'>
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 &lt;hpa@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;hpa@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libupload: don't error out because the tftp functions are unavailable</title>
<updated>2016-04-06T19:16:21+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@linux.intel.com</email>
</author>
<published>2016-04-06T19:16:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=cfafd66933bfd9fd55c58d7f8fa9f468386ba385'/>
<id>cfafd66933bfd9fd55c58d7f8fa9f468386ba385</id>
<content type='text'>
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 &lt;hpa@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;hpa@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libupload: Reworking tftp support to use core functions</title>
<updated>2015-09-04T15:57:52+00:00</updated>
<author>
<name>Erwan Velu</name>
<email>erwanaliasr1@gmail.com</email>
</author>
<published>2015-09-02T18:52:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=62f63cb7706974eba2c34dbea425bf2e9ede0f9e'/>
<id>62f63cb7706974eba2c34dbea425bf2e9ede0f9e</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: sort sources to build in a more deterministic way</title>
<updated>2015-01-06T01:43:13+00:00</updated>
<author>
<name>Philippe Coval</name>
<email>philippe.coval@open.eurogiciel.org</email>
</author>
<published>2014-12-17T21:46:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=be645d7a9848847388a662f6c0f7571d52ed7a05'/>
<id>be645d7a9848847388a662f6c0f7571d52ed7a05</id>
<content type='text'>
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 &lt;philippe.coval at open.eurogiciel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;philippe.coval at open.eurogiciel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>com32sys_t inreg shall be zeroified prior intcall</title>
<updated>2014-01-22T22:57:12+00:00</updated>
<author>
<name>Erwan Velu</name>
<email>erwan@enovance.com</email>
</author>
<published>2014-01-22T22:57:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=3150c7839640859e8ec6ea0243002309e5f9c068'/>
<id>3150c7839640859e8ec6ea0243002309e5f9c068</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Add per-firmware object directory support</title>
<updated>2012-10-16T10:38:01+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2012-09-25T13:45:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=1408e6ca7b3854d94aaa39612b4bb6fdf9111dc7'/>
<id>1408e6ca7b3854d94aaa39612b4bb6fdf9111dc7</id>
<content type='text'>
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 &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use pxe_call() instead of COMBOOT API</title>
<updated>2012-07-20T09:20:19+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2012-07-12T12:34:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=f0bbf9dd40f37f8c4870a33784996efd56955a75'/>
<id>f0bbf9dd40f37f8c4870a33784996efd56955a75</id>
<content type='text'>
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 &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "pxe: resolve names via DNS from protected-mode code"</title>
<updated>2012-06-20T15:35:35+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2012-06-13T10:17:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=f6e0c5e552ccbb17489097829116da03677a9270'/>
<id>f6e0c5e552ccbb17489097829116da03677a9270</id>
<content type='text'>
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 &lt;pcacjr@zytor.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;pcacjr@zytor.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
