<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/syslinux.git/com32/lib/syslinux/movebits.c, branch syslinux-3.80-pre8</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>shuffler: when looking for temporary memory, it has to be *free!*</title>
<updated>2009-05-03T22:23:01+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@zytor.com</email>
</author>
<published>2009-05-03T22:23:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=71e120ecacc2e124ccda5ba5ada48ad860e10dd5'/>
<id>71e120ecacc2e124ccda5ba5ada48ad860e10dd5</id>
<content type='text'>
free_area() ended up looking for any area of memory, not necessarily a
*free* area of memory.  This had predictably disastrous consequences.

Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
free_area() ended up looking for any area of memory, not necessarily a
*free* area of memory.  This had predictably disastrous consequences.

Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>movebits: make the user-space test cases slightly easier</title>
<updated>2009-05-03T22:07:52+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@zytor.com</email>
</author>
<published>2009-05-03T22:07:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=6a65f76af9673bfb8c9e833fd199f9ec367e472f'/>
<id>6a65f76af9673bfb8c9e833fd199f9ec367e472f</id>
<content type='text'>
Make it a bit easier to write user-space test cases; use fgets+sscanf
so comment lines end up getting ignored.

Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make it a bit easier to write user-space test cases; use fgets+sscanf
so comment lines end up getting ignored.

Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>shuffler: correctly handle one-to-many relationships</title>
<updated>2009-05-03T00:27:03+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@zytor.com</email>
</author>
<published>2009-05-03T00:27:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=b55f8a80e17e7b9c1b003c808ea8048c49fbf59c'/>
<id>b55f8a80e17e7b9c1b003c808ea8048c49fbf59c</id>
<content type='text'>
One-to-many relationships, in which one chunk of a file is used in
more than one place, tends to naturally show up in decoding certain
fileformats, including (but not limited to) Microsoft SDI.  Make the
shuffler library handle those cases correctly, and remove a
special-purpose hack in sdi.c.

This is based on the observation that all one-to-many relationships
can be treated as a one-to-one shuffle followed by
destination-to-destination copies; i.e. one copy is (arbitrarily)
assigned the "master copy" status, and all aliases are then copied
from the master copy when the master copy is already in its final
place.  All other copies can then be simply ignored for the duration
of the shuffle, just as zero-memory is.

Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
One-to-many relationships, in which one chunk of a file is used in
more than one place, tends to naturally show up in decoding certain
fileformats, including (but not limited to) Microsoft SDI.  Make the
shuffler library handle those cases correctly, and remove a
special-purpose hack in sdi.c.

This is based on the observation that all one-to-many relationships
can be treated as a one-to-one shuffle followed by
destination-to-destination copies; i.e. one copy is (arbitrarily)
assigned the "master copy" status, and all aliases are then copied
from the master copy when the master copy is already in its final
place.  All other copies can then be simply ignored for the duration
of the shuffle, just as zero-memory is.

Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>movebits: rewrite significant chunks of the algorithm</title>
<updated>2008-04-09T17:56:09+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@zytor.com</email>
</author>
<published>2008-04-09T17:56:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=214689c9eecb7704275cc30a09319bb9c608fe73'/>
<id>214689c9eecb7704275cc30a09319bb9c608fe73</id>
<content type='text'>
Rewrite the algorithm to prefer entries which can be directly moved
into their target slots; this should reduce the number of descriptors
in most cases (although not necessarily *all* cases.)

Try to clean up the code some while we're at it... the code is
confusing enough as it is.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rewrite the algorithm to prefer entries which can be directly moved
into their target slots; this should reduce the number of descriptors
in most cases (although not necessarily *all* cases.)

Try to clean up the code some while we're at it... the code is
confusing enough as it is.
</pre>
</div>
</content>
</entry>
<entry>
<title>movebits: use the memmap data structure for the freelist</title>
<updated>2008-04-08T23:47:12+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@zytor.com</email>
</author>
<published>2008-04-08T23:47:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=16d2e6eaaa01b147d8e85ccb31c85e0f713369a7'/>
<id>16d2e6eaaa01b147d8e85ccb31c85e0f713369a7</id>
<content type='text'>
Use the syslinux_memmap data structure for the free memory list.  This
means we get range coalescing; this sometimes generates lists that are
vastly shorter than without range coalescing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the syslinux_memmap data structure for the free memory list.  This
means we get range coalescing; this sometimes generates lists that are
vastly shorter than without range coalescing.
</pre>
</div>
</content>
</entry>
<entry>
<title>movebits: handle the case of an upward overlap move with obstacles</title>
<updated>2008-04-08T23:02:40+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@zytor.com</email>
</author>
<published>2008-04-08T23:02:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=c9cc284ca6ce22d94470cb03029bf2e9a64287df'/>
<id>c9cc284ca6ce22d94470cb03029bf2e9a64287df</id>
<content type='text'>
Handle the case of an upward move when there is something in the way.
This happens when loading an SDI image.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Handle the case of an upward move when there is something in the way.
This happens when loading an SDI image.
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle arbitrary numbers of shuffle descriptors</title>
<updated>2008-02-12T01:57:15+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@zytor.com</email>
</author>
<published>2008-02-12T01:55:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=44306d385483da3df32311d518f39a54c1d84ac4'/>
<id>44306d385483da3df32311d518f39a54c1d84ac4</id>
<content type='text'>
Allocate high memory out of the way to hold the shuffle descriptors,
and generate continuation descriptors as needed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allocate high memory out of the way to hold the shuffle descriptors,
and generate continuation descriptors as needed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year</title>
<updated>2008-01-10T19:13:57+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@zytor.com</email>
</author>
<published>2008-01-10T19:13:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=244d2fe917cec1565b4fd992ea9e8cc46749a661'/>
<id>244d2fe917cec1565b4fd992ea9e8cc46749a661</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Stealth whitespace cleanup (automated)</title>
<updated>2007-03-15T05:07:09+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@zytor.com</email>
</author>
<published>2007-03-15T05:07:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=64d7ea7b604c2ca9ab8f7236374b3a1c05005e55'/>
<id>64d7ea7b604c2ca9ab8f7236374b3a1c05005e55</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Finish the shuffle and boot interface, and add an ELF loading module.</title>
<updated>2007-03-15T02:06:36+00:00</updated>
<author>
<name>H. Peter Anvin</name>
<email>hpa@zytor.com</email>
</author>
<published>2007-03-15T02:06:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=37b99c20bf10933524f3b8c1ec04215d5c94c18d'/>
<id>37b99c20bf10933524f3b8c1ec04215d5c94c18d</id>
<content type='text'>
The shuffle and boot interface, including the library support, should now
work as advertised.  Add an ELF-loading module as a demo, and it's probably
useful for someone, too.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The shuffle and boot interface, including the library support, should now
work as advertised.  Add an ELF-loading module as a demo, and it's probably
useful for someone, too.
</pre>
</div>
</content>
</entry>
</feed>
