<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/arch/i386/prefix/romprefix.S, 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/prefix/romprefix.S?h=openslx</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/arch/i386/prefix/romprefix.S?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>[romprefix] Report an optimistic runtime size estimate</title>
<updated>2016-01-06T00:30:23+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-01-05T23:40:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=173c48a57e43b747ab8ace1e5a59bfdb2132ddee'/>
<id>urn:sha1:173c48a57e43b747ab8ace1e5a59bfdb2132ddee</id>
<content type='text'>
Commit 5de45cd ("[romprefix] Report a pessimistic runtime size
estimate") set the PCI3.0 "runtime size" field equal to the worst-case
runtime size, on the basis that there is no guarantee that PMM
allocation will succeed and hence no guarantee that we will be able to
shrink the ROM image.

On a PCI3.0 system where PMM allocation would succeed, this can cause
the BIOS to unnecessarily refuse to initialise the iPXE ROM due to a
perceived shortage of option ROM space.

Fix by reporting the best-case runtime size via the PCI header, and
checking that we have sufficient runtime space (if applicable).  This
allows iPXE ROMs to initialise on PCI3.0 systems that might otherwise
fail due to a shortage of option ROM space.

This may cause iPXE ROMs to fail to initialise on PCI3.0 systems where
PMM is broken.  (Pre-PCI3.0 systems are unaffected since there must
already have been sufficient option ROM space available for the
initialisation entry point to be called.)

On balance, it seems preferable to avoid breaking "good" systems
(PCI3.0 with working PMM) at the cost of potentially breaking "bad"
systems (PCI3.0 with broken PMM).

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Allow building PCI ROMs with device ID lists</title>
<updated>2015-04-15T11:20:06+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-04-14T08:59:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=40de41276218ef1bca9f47fd166e83deb1c1f536'/>
<id>urn:sha1:40de41276218ef1bca9f47fd166e83deb1c1f536</id>
<content type='text'>
PCI v3.0 supports a "device list" which allows the ROM to claim
support for multiple PCI device IDs (but only a single vendor ID).
Add support for building such ROMs by scanning the build target
element list and incorporating any device IDs into the ROM's device
list header.  For example:

  make bin/8086153a--8086153b.mrom

would build a ROM claiming support for both 8086:153a and 8086:153b.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[romprefix] Allow autoboot device filter to be disabled</title>
<updated>2015-04-13T13:49:02+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-04-13T13:49:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=ae01462b7907ae38898dbacded9bd38414580109'/>
<id>urn:sha1:ae01462b7907ae38898dbacded9bd38414580109</id>
<content type='text'>
Our current behaviour when booting as a ROM is to autoboot only from
devices which are attached via the PCI bus:dev.fn address passed to
the ROM's initialisation vector.

Add a build configuration option AUTOBOOT_ROM_FILTER (enabled by
default) to control this behaviour.  This allows for ROMs to be built
which will attempt to boot from any detected device, even if not
attached via the original PCI bus:dev.fn address.  (This is
particularly useful when building combined EHCI/xHCI ROMs for USB
network boot, since the BIOS may request a boot via the EHCI
controller but the xHCI driver will reroute the root hub ports to the
xHCI controller.)

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>[build] Use REQUIRE_OBJECT() to drag in per-object configuration</title>
<updated>2015-03-05T00:57:44+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-03-04T17:22:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=86ae6e6c1836e43993a14db278398fc54e5419bd'/>
<id>urn:sha1:86ae6e6c1836e43993a14db278398fc54e5419bd</id>
<content type='text'>
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>[build] Allow product URI to be customised via config/branding.h</title>
<updated>2015-02-11T14:11:28+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-02-11T13:08:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=e1ce15ec3cf1d66d0e9559aa0904b4147b5cd0fd'/>
<id>urn:sha1:e1ce15ec3cf1d66d0e9559aa0904b4147b5cd0fd</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Use PRODUCT_SHORT_NAME for end-user visible strings</title>
<updated>2015-02-11T14:11:22+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-02-11T13:02:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=544a6a9769112661b7831e114db4bf06c13baa67'/>
<id>urn:sha1:544a6a9769112661b7831e114db4bf06c13baa67</id>
<content type='text'>
Use PRODUCT_SHORT_NAME instead of a hardcoded "iPXE" for strings which
are typically shown in the user interface.

Note that this only allows for customisation of the user interface.
Where the "iPXE" string serves a technical purpose (such as in the
HTTP User-Agent), the string cannot be customised.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Move branding information to config/branding.h</title>
<updated>2015-02-11T12:51:58+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-02-11T12:51:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=1c3fb3c61ae4af8b8ccf92afc90b48dfc0b597c7'/>
<id>urn:sha1:1c3fb3c61ae4af8b8ccf92afc90b48dfc0b597c7</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
</feed>
