<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/arch/i386/scripts, branch master</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/arch/i386/scripts?h=master</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/arch/i386/scripts?h=master'/>
<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>[prefix] Pad .text16 and .data16 segment sizes at build time</title>
<updated>2016-02-12T14:04:51+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-02-12T13:59:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=7ecfe7159f94193a666200a17057d4cd5981b850'/>
<id>urn:sha1:7ecfe7159f94193a666200a17057d4cd5981b850</id>
<content type='text'>
Commit c64747d ("[librm] Speed up real-to-protected mode transition
under KVM") rounded down the .text16 segment address calculated in
alloc_basemem() to a multiple of 64 bytes in order to speed up mode
transitions under KVM.

This creates a potential discrepancy between alloc_basemem() and
free_basemem(), meaning that free_basemem() may free less memory than
was allocated by alloc_basemem().

Fix by padding the calculated sizes of both .text16 and .data16 to a
multiple of 64 bytes at build time.

Debugged-by: Yossef Efraim &lt;yossefe@mellanox.com&gt;
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>[prefix] Use .bss16 as temporary stack space for calls to install_block</title>
<updated>2015-02-24T16:33:14+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-02-24T16:13:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=3e04f0791e614772f3ffe3663e4c8da71e2bc981'/>
<id>urn:sha1:3e04f0791e614772f3ffe3663e4c8da71e2bc981</id>
<content type='text'>
Some decompression algorithms (e.g. LZMA) require large amounts of
temporary stack space, which may not be made available by all
prefixes.  Use .bss16 as a temporary stack for the duration of the
calls to install_block (switching back to the external stack before we
start making calls into code which might access variables in .bss16),
and allow the decompressor to define a global symbol to force a
minimum value on the size of .bss16.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Fix %.licence build target</title>
<updated>2013-07-15T22:50:54+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2013-07-15T22:08:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=ca319873bf43d5d955cc3d8770b5b2415798907d'/>
<id>urn:sha1:ca319873bf43d5d955cc3d8770b5b2415798907d</id>
<content type='text'>
Our use of --gc-sections causes the linker to discard the symbols
defined by FILE_LICENCE(), meaning that the resulting licence
determination is incomplete.

We must use the KEEP() directive in the linker script to force the
linker to not discard the licence symbols.  Using KEEP(*(COMMON))
would be undesirable, since there are some symbols in COMMON which we
may wish to discard.

Fix by placing symbols defined by PROVIDE_SYMBOL() (which is used by
FILE_LICENCE()) into a special ".provided" section, which we then mark
with KEEP().  All such symbols are zero-length, so there is no cost in
terms of the final binary size.

Since the symbols are no longer in COMMON, the linker will reject
symbols with the same name coming from multiple objects.  We therefore
append the object name to the licence symbol, to ensure that it is
unique.

Reported-by: Marin Hannache &lt;git@mareo.fr&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[romprefix] Add a dummy ROM header to cover the .mrom payload</title>
<updated>2012-06-12T14:15:03+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2012-06-10T17:25:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=9e8d431a0d58caba3c5f65d4e30fd259d2f782e1'/>
<id>urn:sha1:9e8d431a0d58caba3c5f65d4e30fd259d2f782e1</id>
<content type='text'>
The header of a .mrom image declares its length to be only a few
kilobytes; the remainder is accessed via a sideband mechanism.  This
makes it difficult to append an additional ROM image, such as an EFI
ROM.

Add a second, dummy ROM header covering the payload portion of the
.mrom image, allowing consumers to locate any appended ROM images in
the usual way.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Fix building on mildly deranged versions of binutils</title>
<updated>2011-04-29T00:27:36+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2011-04-29T00:27:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=987b825b7f046e844a332d27497b4846cb23ba43'/>
<id>urn:sha1:987b825b7f046e844a332d27497b4846cb23ba43</id>
<content type='text'>
Some versions of binutils have curious concepts of what constitutes
subtraction.  For example:

  0x00000000000000f0 _text16_late = .
  0x0000000000000898 _mtext16 = .
  0x0000000000000898 _etext16 = .
  0x0000000000000898 _text16_late_filesz = ABSOLUTE ((_mtext16 - _text16_late))
  0x00000000000007a8 _text16_late_memsz = ABSOLUTE ((_etext16 - _text16_late))

This has interesting side-effects such as producing sizes for .bss
segments that are negative, causing the majority of addressable memory
to be zeroed out.

Fix by using the form

  ABSOLUTE ( x ) - ABSOLUTE ( y )

rather than

  ABSOLUTE ( x - y )

Reported-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Suggested-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Tested-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[linux] Make malloc and linux_umalloc valgrindable</title>
<updated>2011-03-27T20:03:05+00:00</updated>
<author>
<name>Piotr Jaroszyński</name>
</author>
<published>2010-07-01T01:47:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=b604e8a388702df3cd4d3d64cf42dfc361b235c0'/>
<id>urn:sha1:b604e8a388702df3cd4d3d64cf42dfc361b235c0</id>
<content type='text'>
Make the allocators used by malloc and linux_umalloc valgrindable.
Include valgrind headers in the codebase to avoid a build dependency
on valgrind.

Signed-off-by: Piotr Jaroszyński &lt;p.jaroszynski@gmail.com&gt;
Modified-by: Michael Brown &lt;mcb30@ipxe.org&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Use unique entry symbols for each prefix</title>
<updated>2011-02-23T21:12:56+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2011-02-23T21:12:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=030e5a064e5f7252b3b77a27c78169f4a5c974c5'/>
<id>urn:sha1:030e5a064e5f7252b3b77a27c78169f4a5c974c5</id>
<content type='text'>
Some binutils versions will drag in an object to satisfy the entry
symbol; some won't.  Try to cope with this exciting variety of
behaviour by ensuring that all entry symbols are unique.

Remove the explicit inclusion of the prefix object on the linker
command line, since the entry symbol now provides all the information
needed to identify the prefix.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Ensure an entry point symbol exists in all builds</title>
<updated>2011-02-23T20:23:03+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2011-02-23T20:20:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=295c2fd671ebd8c149e5e9fc4fe745ab8ea87b9e'/>
<id>urn:sha1:295c2fd671ebd8c149e5e9fc4fe745ab8ea87b9e</id>
<content type='text'>
Commit 623469d ("[build] Eliminate unused sections at link-time")
introduced a regression in several build formats, in which the prefix
would end up being garbage-collected out of existence.  Fix by
ensuring that an entry symbol exists in each possible prefix, and is
required by the linker script.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
</feed>
