<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/syslinux.git, branch syslinux-5.10</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>NEWS: Mention noteworthy changes in 5.10</title>
<updated>2013-06-04T12:56:30+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2013-06-04T12:56:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=02c28ea889fde01c857f004d257cb69015ce69a2'/>
<id>02c28ea889fde01c857f004d257cb69015ce69a2</id>
<content type='text'>
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NEWS: Clarify network stack files</title>
<updated>2013-06-04T11:11:26+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2013-06-04T11:11:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=c830b5913047a42b9fe3fdf4609e40b9b1b5c553'/>
<id>c830b5913047a42b9fe3fdf4609e40b9b1b5c553</id>
<content type='text'>
Point users in the right direction when looking for the new and legacy
network stacks.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Point users in the right direction when looking for the new and legacy
network stacks.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>font: write to 'fontbuf', not random memory</title>
<updated>2013-06-04T10:55:10+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2013-06-04T10:50:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=41a12f1bd7fb8f05d2b7c5568e3f919b086ed944'/>
<id>41a12f1bd7fb8f05d2b7c5568e3f919b086ed944</id>
<content type='text'>
commit be5a345d385d ("font: load data as a single block") cleaned up the
loop for reading into the font buffer but made the mistake of dropping
the assignment to 'p', which means that the _fread() call is writing
through a garbage pointer. Since 'p' was only used to keep track while
writing into the font buffer in a loop, we can now delete it and
reference 'fontbuf' directly.

Also delete the unused variable 'i'.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit be5a345d385d ("font: load data as a single block") cleaned up the
loop for reading into the font buffer but made the mistake of dropping
the assignment to 'p', which means that the _fread() call is writing
through a garbage pointer. Since 'p' was only used to keep track while
writing into the font buffer in a loop, we can now delete it and
reference 'fontbuf' directly.

Also delete the unused variable 'i'.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: Clean up and abstract handling of serial ports</title>
<updated>2013-05-31T15:08:36+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@linux.intel.com</email>
</author>
<published>2013-05-31T15:05:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=c4fa33189f1d725fcd7c7457e45f37e970f5cdac'/>
<id>c4fa33189f1d725fcd7c7457e45f37e970f5cdac</id>
<content type='text'>
The special handling of serial ports 0-3 meaning "look in a BIOS
table" is at least officially BIOS-specific, so create an inline
function and move it to bios.h.

While we are at it, make the function look slightly less like
converted assembly.

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>
The special handling of serial ports 0-3 meaning "look in a BIOS
table" is at least officially BIOS-specific, so create an inline
function and move it to bios.h.

While we are at it, make the function look slightly less like
converted assembly.

Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>font: load data as a single block</title>
<updated>2013-05-31T14:53:42+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@linux.intel.com</email>
</author>
<published>2013-05-31T14:52:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=be5a345d385d14bb740df7075c78dec5dcfbfc2a'/>
<id>be5a345d385d14bb740df7075c78dec5dcfbfc2a</id>
<content type='text'>
The only reason for a loop is to interleave data, which we don't need
anymore; instead the data is stored in packed form.

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>
The only reason for a loop is to interleave data, which we don't need
anymore; instead the data is stored in packed form.

Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: fix SERIAL directive for ports &gt; 0</title>
<updated>2013-05-29T14:27:28+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2013-05-29T14:01:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=4e682dcc05b0911365aa92c4f848daf013d3a635'/>
<id>4e682dcc05b0911365aa92c4f848daf013d3a635</id>
<content type='text'>
There is a bug in the SERIAL directive parsing code that means that
using a port other than the first (SERIAL 0) results in a non-working
serial console. We need to use the serial port number from the config
file to offset the BIOS I/O port base address, otherwise we always
lookup the I/O port address for the first serial port instead of the one
the user specified.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is a bug in the SERIAL directive parsing code that means that
using a port other than the first (SERIAL 0) results in a non-working
serial console. We need to use the serial port number from the config
file to offset the BIOS I/O port base address, otherwise we always
lookup the I/O port address for the first serial port instead of the one
the user specified.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>font: increment pointer to fontbuf by font height</title>
<updated>2013-05-29T12:56:02+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2013-05-29T12:56:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=5c04bb1ad89553c1541a527bf105a86e3a31e1a5'/>
<id>5c04bb1ad89553c1541a527bf105a86e3a31e1a5</id>
<content type='text'>
Instead of always assuming that the font height is 32 bytes, use
hdr.height to increment our fontbuf pointer. hdr.height is the size of
the chunks we read from the .psf file.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of always assuming that the font height is 32 bytes, use
hdr.height to increment our fontbuf pointer. hdr.height is the size of
the chunks we read from the .psf file.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>linux: Clear up error message</title>
<updated>2013-04-25T14:24:35+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2013-04-25T14:14:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=faff52ef2bd3dca503a6fef3129f02284e9b6ca4'/>
<id>faff52ef2bd3dca503a6fef3129f02284e9b6ca4</id>
<content type='text'>
Passing opt.device to perror() in do_open_file() results in confusing
error messages, as Jack reports,

  Last night, I was trying to install syslinux (5.01) to a SD card of
  mine, writing to a subdirectory to keep the layout neat:

  syslinux-5.01/linux# ./syslinux -i -d /boot /dev/mmcblk0p1
  /dev/mmcblk0p1: No such file or directory

  The message is coming from do_open_file() in syslinux.c: the call to
  open() fails because the containing directory isn't present, and then it
  calls perror(opt.device).

We should instead be passing 'name' to perror() so that we know _which_
file doesn't exist.

Reported-by: Jack Kelly &lt;jack@jackkelly.name&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>
Passing opt.device to perror() in do_open_file() results in confusing
error messages, as Jack reports,

  Last night, I was trying to install syslinux (5.01) to a SD card of
  mine, writing to a subdirectory to keep the layout neat:

  syslinux-5.01/linux# ./syslinux -i -d /boot /dev/mmcblk0p1
  /dev/mmcblk0p1: No such file or directory

  The message is coming from do_open_file() in syslinux.c: the call to
  open() fails because the containing directory isn't present, and then it
  calls perror(opt.device).

We should instead be passing 'name' to perror() so that we know _which_
file doesn't exist.

Reported-by: Jack Kelly &lt;jack@jackkelly.name&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>load_linux: update errno before returning</title>
<updated>2013-04-25T13:15:02+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2013-04-25T12:17:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=461a38b0a59e58567b94f9a74ce34c1baded29ba'/>
<id>461a38b0a59e58567b94f9a74ce34c1baded29ba</id>
<content type='text'>
syslinux_boot_linux() only returns control to the caller when something
has gone wrong, under normal circumstances a kernel is booted.

Update errno accordingly in the error paths, so the user no longer sees
inaccurate errno values which result in the following kinds of messages,

    "Booting kernel failed: Bad file descriptor"

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
syslinux_boot_linux() only returns control to the caller when something
has gone wrong, under normal circumstances a kernel is booted.

Update errno accordingly in the error paths, so the user no longer sees
inaccurate errno values which result in the following kinds of messages,

    "Booting kernel failed: Bad file descriptor"

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix support for Linux kernel images with no protected mode code</title>
<updated>2013-04-08T07:41:38+00:00</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2013-03-27T21:50:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=f16d2c170888fb416a7b376eb0a29dd3f7cced24'/>
<id>f16d2c170888fb416a7b376eb0a29dd3f7cced24</id>
<content type='text'>
Some kernel images use the Linux kernel boot protocol and header
structure, but do not actually have any protected-mode code.  For
instance, grub's 1024-byte lnxboot.img consists of 1024 real-mode bytes
and 0 protected-mode bytes; you can concatenate it with a full grub
core.img to produce a self-contained bootable kernel, but you can also
use it standalone as the kernel with the core.img loaded as an initrd.

syslinux 4 supports this, but it no longer works with syslinux 5: the
memmap functions do not correctly handle a request to work with a 0-byte
region.  With lnxboot.img, this would cause syslinux to bail because it
thinks it has no space at the 1M load location but cannot relocate
lnxboot.img.  (In bailing, it gives the confusing error message "Bad
file descriptor", not because that error actually occurred when
attempting to boot the kernel, but because errno has that value on entry
to syslinux_boot_linux and nothing clears or sets it.)

Fix the regression by handling the corner case of no protected-mode code
explicitly.

Signed-off-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
Signed-off-by: Burt Triplett &lt;burt@pbjtriplett.org&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>
Some kernel images use the Linux kernel boot protocol and header
structure, but do not actually have any protected-mode code.  For
instance, grub's 1024-byte lnxboot.img consists of 1024 real-mode bytes
and 0 protected-mode bytes; you can concatenate it with a full grub
core.img to produce a self-contained bootable kernel, but you can also
use it standalone as the kernel with the core.img loaded as an initrd.

syslinux 4 supports this, but it no longer works with syslinux 5: the
memmap functions do not correctly handle a request to work with a 0-byte
region.  With lnxboot.img, this would cause syslinux to bail because it
thinks it has no space at the 1M load location but cannot relocate
lnxboot.img.  (In bailing, it gives the confusing error message "Bad
file descriptor", not because that error actually occurred when
attempting to boot the kernel, but because errno has that value on entry
to syslinux_boot_linux and nothing clears or sets it.)

Fix the regression by handling the corner case of no protected-mode code
explicitly.

Signed-off-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
Signed-off-by: Burt Triplett &lt;burt@pbjtriplett.org&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
