<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/arch/i386/transitions, branch openslx</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/arch/i386/transitions?h=openslx</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/arch/i386/transitions?h=openslx'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2016-02-16T19:32:32+00:00</updated>
<entry>
<title>[bios] Add bin-x86_64-pcbios build platform</title>
<updated>2016-02-16T19:32:32+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-02-16T15:19:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=f468f12b1eca15e703aa2a79f1c82969c04c2322'/>
<id>urn:sha1:f468f12b1eca15e703aa2a79f1c82969c04c2322</id>
<content type='text'>
Move most arch/i386 files to arch/x86, and adjust the contents of the
Makefiles and the include/bits/*.h headers to reflect the new
locations.

This patch makes no substantive code changes, as can be seen using a
rename-aware diff (e.g. "git show -M5").

This patch does not make the pcbios platform functional for x86_64; it
merely allows it to compile without errors.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[bios] Allow librm to be compiled for x86_64</title>
<updated>2016-02-16T19:32:32+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-02-16T16:45:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=1a457e933a5e6c61fe08e1a6813f4514978b4c1d'/>
<id>urn:sha1:1a457e933a5e6c61fe08e1a6813f4514978b4c1d</id>
<content type='text'>
This commit does not make librm functional for x86_64; it merely
allows it to compile without errors.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Fix compiler warning on OpenBSD 5.7</title>
<updated>2015-04-17T22:56:03+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-04-17T22:56:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=b594bfd490bce6c84289b528c1a97445b1c60884'/>
<id>urn:sha1:b594bfd490bce6c84289b528c1a97445b1c60884</id>
<content type='text'>
Reported-by: Jiri B &lt;jirib@devio.us&gt;
Tested-by: Jiri B &lt;jirib@devio.us&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Fix the REQUIRE_SYMBOL mechanism</title>
<updated>2015-03-05T00:59:38+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-03-04T18:48:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=fbc4ba4b4ed13cc86cb8fdea0bac6c3be0164ed5'/>
<id>urn:sha1:fbc4ba4b4ed13cc86cb8fdea0bac6c3be0164ed5</id>
<content type='text'>
At some point in the past few years, binutils became more aggressive
at removing unused symbols.  To function as a symbol requirement, a
relocation record must now be in a section marked with @progbits and
must not be in a section which gets discarded during the link (either
via --gc-sections or via /DISCARD/).

Update REQUIRE_SYMBOL() to generate relocation records meeting these
criteria.  To minimise the impact upon the final binary size, we use
existing symbols (specified via the REQUIRING_SYMBOL() macro) as the
relocation targets where possible.  We use R_386_NONE or R_X86_64_NONE
relocation types to prevent any actual unwanted relocation taking
place.  Where no suitable symbol exists for REQUIRING_SYMBOL() (such
as in config.c), the macro PROVIDE_REQUIRING_SYMBOL() can be used to
generate a one-byte-long symbol to act as the relocation target.

If there are versions of binutils for which this approach fails, then
the fallback will probably involve killing off REQUEST_SYMBOL(),
redefining REQUIRE_SYMBOL() to use the current definition of
REQUEST_SYMBOL(), and postprocessing the linked ELF file with
something along the lines of "nm -u | wc -l" to check that there are
no undefined symbols remaining.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[legal] Relicense files under GPL2_OR_LATER_OR_UBDL</title>
<updated>2015-03-02T16:35:29+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-03-02T13:29:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=2f020a8df3ad24d0d0bac9295c9cecb2ebba92f4'/>
<id>urn:sha1:2f020a8df3ad24d0d0bac9295c9cecb2ebba92f4</id>
<content type='text'>
These files cannot be automatically relicensed by util/relicense.pl
since they either contain unusual but trivial contributions (such as
the addition of __nonnull function attributes), or contain lines
dating back to the initial git revision (and so require manual
knowledge of the code's origin).

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[legal] Relicense files under GPL2_OR_LATER_OR_UBDL</title>
<updated>2015-03-02T14:17:31+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-03-02T11:54:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=b6ee89ffb5029d02cb1d8668757fa2b74b11e0a3'/>
<id>urn:sha1:b6ee89ffb5029d02cb1d8668757fa2b74b11e0a3</id>
<content type='text'>
Relicense files for which I am the sole author (as identified by
util/relicense.pl).

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[librm] Allow for the PIC interrupt vector offset to be changed</title>
<updated>2014-05-27T13:49:25+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2014-05-27T13:23:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=f3d423b26b2baa3e4c3919c5a2e12d793043f354'/>
<id>urn:sha1:f3d423b26b2baa3e4c3919c5a2e12d793043f354</id>
<content type='text'>
Some external code (observed with FreeBSD's bootloader) will continue
to make INT 13 calls after reconfiguring the 8259 PIC to change the
vector offsets for IRQs.  If an IRQ (e.g. the timer IRQ) subsequently
occurs while iPXE is in protected mode, this will cause a general
protection fault since the corresponding IDT entry is empty.

A general protection fault is INT 0x0d, which happens to overlap with
the original IRQ5.  We therefore do have an ISR set up to handle a
general protection fault, but this ISR simply reflects the interrupt
down to the real-mode INT 0x0d and then attempts to return.  Since our
ISR is expecting a hardware interrupt rather than a general protection
fault, it doesn't remove the error code from the stack before issuing
the iret instruction; it therefore attempts to return to a garbage
address.  Since the segment part of this address is likely to be
invalid, a second general protection fault occurs.  This cycle
continues until we run out of stack space and triple fault.

Fix by reflecting all INTs down to real mode.  This actually reduces
the code size by four bytes (but increases the bss size by almost
2kB).

Reported-by: Brian Rak &lt;dn@devicenull.org&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[profile] Allow interrupts to be excluded from profiling results</title>
<updated>2014-05-04T12:39:42+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2014-05-04T10:45:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=6f410a16d946d7015eaa11c1b255c28debb0d8b5'/>
<id>urn:sha1:6f410a16d946d7015eaa11c1b255c28debb0d8b5</id>
<content type='text'>
Interrupt processing adds noise to profiling results.  Allow
interrupts (from within protected mode) to be profiled separately,
with time spent within the interrupt handler being excluded from any
other profiling currently in progress.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[librm] Add profiling self-tests for complete real_call and prot_call cycles</title>
<updated>2014-05-03T17:52:12+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2014-05-03T11:29:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=be7f35d9c02550512e4d9cb49ff64b97a04b902a'/>
<id>urn:sha1:be7f35d9c02550512e4d9cb49ff64b97a04b902a</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[profile] Provide methods for profiling individual stages of operations</title>
<updated>2014-05-03T17:50:26+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2014-05-03T17:25:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=a0da06c306f4c106136909ad149204005fe82ab1'/>
<id>urn:sha1:a0da06c306f4c106136909ad149204005fe82ab1</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
</feed>
