<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/arch/x86, branch master</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/arch/x86?h=master</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/arch/x86?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2019-01-25T14:53:43+00:00</updated>
<entry>
<title>[init] Show startup and shutdown function names in debug messages</title>
<updated>2019-01-25T14:53:43+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2019-01-25T14:53:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=36a4c85f911c85f5ab183331ff74d125f9a9ed32'/>
<id>urn:sha1:36a4c85f911c85f5ab183331ff74d125f9a9ed32</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[pci] Correct invalid base-class/sub-class/prog-if order in PCIR</title>
<updated>2019-01-15T13:08:44+00:00</updated>
<author>
<name>Petr Borsodi</name>
</author>
<published>2019-01-15T13:06:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=ba0d5aa993df4bad28b2a6a36c10b43c7e5c33f2'/>
<id>urn:sha1:ba0d5aa993df4bad28b2a6a36c10b43c7e5c33f2</id>
<content type='text'>
PCI Configuration Space contains fields prog-if at the offset 0x09,
sub-class at the offset 0x0a and base-class at the offset 0x0b (it
respects little endian).  PCIR structure uses these fields in the same
order.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[undi] Include subsystem IDs in broken interrupt device check</title>
<updated>2018-04-18T15:57:05+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-04-18T15:38:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=d6f02c72c984aaeab11741d54f9d9e81d9ce79f2'/>
<id>urn:sha1:d6f02c72c984aaeab11741d54f9d9e81d9ce79f2</id>
<content type='text'>
Allow the subsystem IDs to be used when checking for PXE stacks with
broken interrupt support.

Suggested-by: Levi Hsieh &lt;Levi.Hsieh@dell.com&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[librm] Ensure that inline code symbols are unique</title>
<updated>2018-03-21T15:00:53+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-03-21T14:47:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=bc85368cdd311fe68ffcf251e7e8e90c14f8a9dc'/>
<id>urn:sha1:bc85368cdd311fe68ffcf251e7e8e90c14f8a9dc</id>
<content type='text'>
Commit 6149e0a ("[librm] Provide symbols for inline code placed into
other sections") may cause build failures due to duplicate label names
if the compiler chooses to duplicate inline assembly code.

Fix by using the "%=" special format string to include a
guaranteed-unique number within the label name.

The "%=" will be expanded only if constraints exist for the inline
assembly.  This fix therefore requires that all REAL_CODE() fragments
use a (possibly empty) constraint list.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[librm] Provide symbols for inline code placed into other sections</title>
<updated>2018-03-21T12:44:04+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-03-21T12:39:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=6149e0af3ca21d8ea2a903dd555e6e5c4b6a630a'/>
<id>urn:sha1:6149e0af3ca21d8ea2a903dd555e6e5c4b6a630a</id>
<content type='text'>
Provide symbols constructed from the object name and line number for
code fragments placed into alternative sections, such as inline
REAL_CODE() assembly placed into .text16.  This simplifies the
debugging task of finding the source code corresponding to a given
instruction pointer.

Note that we cannot use __FUNCTION__ since it is not a preprocessor
macro and so cannot be concatenated with string literals.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[undi] Treat invalid IRQ numbers as non-fatal errors</title>
<updated>2018-03-21T08:28:05+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-03-21T08:28:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=0600ffeb3051a3ccbd56a4d6999d3eb55bc886df'/>
<id>urn:sha1:0600ffeb3051a3ccbd56a4d6999d3eb55bc886df</id>
<content type='text'>
If the underlying PXE stack reports an invalid IRQ number (above
IRQ_MAX), treat this as equivalent to an empty IRQ number and fall
back to using polling mode.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[rng] Use fixed-point calculations for min-entropy quantities</title>
<updated>2018-03-20T18:56:01+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-03-20T18:42:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=0d35411f88dd37dda755d52b4549337f8299c698'/>
<id>urn:sha1:0d35411f88dd37dda755d52b4549337f8299c698</id>
<content type='text'>
We currently perform various min-entropy calculations using build-time
floating-point arithmetic.  No floating-point code ends up in the
final binary, since the results are eventually converted to integers
and asserted to be compile-time constants.

Though this mechanism is undoubtedly cute, it inhibits us from using
"-mno-sse" to prevent the use of SSE registers by the compiler.

Fix by using fixed-point arithmetic instead.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[time] Add support for the ACPI power management timer</title>
<updated>2018-03-20T15:26:49+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-03-20T15:26:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=3ec2079ce2078ff67c1f857eaf29293586bb5497'/>
<id>urn:sha1:3ec2079ce2078ff67c1f857eaf29293586bb5497</id>
<content type='text'>
Allow the ACPI power management timer to be used if enabled via
TIMER_ACPI in config/timer.h.  This provides an alternative timer on
systems where the standard 8254 PIT is unavailable or unreliable.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[librm] Add facility to provide register and stack dump for CPU exceptions</title>
<updated>2018-03-18T12:59:34+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-03-18T12:54:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=89e31f8491895e6196d4ba56aee3809261aa6b89'/>
<id>urn:sha1:89e31f8491895e6196d4ba56aee3809261aa6b89</id>
<content type='text'>
When DEBUG=librm_mgmt is enabled, intercept CPU exceptions and provide
a register and stack dump, then drop to an emergency shell.  Exiting
from the shell will almost certainly not work, but this provides an
opportunity to view the register and stack dump and carry out some
basic debugging.

Note that we can intercept only the first 8 CPU exceptions, since a
PXE ROM is not permitted to rebase the PIC.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Avoid use of "ld --oformat binary"</title>
<updated>2018-01-02T20:26:40+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-01-02T20:26:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=2bb4ec1f54af11f51f6f064c0086b6b80be2dcd2'/>
<id>urn:sha1:2bb4ec1f54af11f51f6f064c0086b6b80be2dcd2</id>
<content type='text'>
Using "ld --oformat binary" for mbr.bin and usbdisk.bin seems to cause
segmentation faults on some versions of binutils (observed on Fedora
27).  Work around this problem by using ld to create an intermediate
ELF object, followed by objcopy (via the existing %.tmp -&gt; %.bin rule)
to create the final binary.

Note that we cannot simply use a single-stage "objcopy -O binary"
since this will not process the relocation records for x86_64: see
commit 1afcccd ("[build] Do not use "objcopy -O binary" for objects
with relocation records").

Reported-by: Brent S &lt;bts@square-r00t.net&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
</feed>
