<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/arch/x86_64/include, 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_64/include?h=master</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/arch/x86_64/include?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2018-03-20T20:01:08+00:00</updated>
<entry>
<title>[build] Prevent use of MMX and SSE registers</title>
<updated>2018-03-20T20:01:08+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-03-20T19:34:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=1df3b53051e2baa99abd00b2fe71ccfa6672331e'/>
<id>urn:sha1:1df3b53051e2baa99abd00b2fe71ccfa6672331e</id>
<content type='text'>
The existence of MMX and SSE is required by the System V x86_64 ABI
and so is assumed by gcc, but these registers are not preserved by our
own interrupt handlers and are unlikely to be preserved by other
context switch handlers in a boot firmware environment.

Explicitly prevent gcc from using MMX or SSE registers to avoid
potential problems due to silent register corruption.

We must remove the %xmm0-%xmm5 clobbers from the x86_64 version of
hv_call() since otherwise gcc will complain about unknown register
names.  Theoretically, we should probably add code to explicitly
preserve the %xmm0-%xmm5 registers across a hypercall, in order to
guarantee to external code that these registers remain unchanged.  In
practice this is difficult since SSE registers are disabled by
default: for background information see commits 71560d1 ("[librm]
Preserve FPU, MMX and SSE state across calls to virt_call()") and
dd9a14d ("[librm] Conditionalize the workaround for the Tivoli VMM's
SSE garbling").

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[legal] Add missing FILE_LICENCE declarations</title>
<updated>2017-12-29T11:57:00+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2017-12-29T11:57:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=00c5b958c59ec45736469fce674c5307cabbfd91'/>
<id>urn:sha1:00c5b958c59ec45736469fce674c5307cabbfd91</id>
<content type='text'>
Add missing FILE_LICENCE declarations to x86_64 headers based on the
corresponding i386 headers (from which the x86_64 headers were
originally derived).

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[dhcp] Automatically generate vendor class identifier string</title>
<updated>2016-07-04T14:07:05+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-07-04T14:07:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=aeb62038119f1988b06fa6a55a74d3db65c64d79'/>
<id>urn:sha1:aeb62038119f1988b06fa6a55a74d3db65c64d79</id>
<content type='text'>
The vendor class identifier strings in DHCP_ARCH_VENDOR_CLASS_ID are
out of sync with the (correct) client architecture values in
DHCP_ARCH_CLIENT_ARCHITECTURE.

Fix by removing all definitions of DHCP_ARCH_VENDOR_CLASS_ID, and
instead generating the vendor class identifier string automatically
based on DHCP_ARCH_CLIENT_ARCHITECTURE and DHCP_ARCH_CLIENT_NDI.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[dhcp] Allow for variable encapsulation of architecture-specific options</title>
<updated>2016-07-04T12:15:05+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-07-04T12:15:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=3d9f094022854ca06d02f34c688896abde9e1b20'/>
<id>urn:sha1:3d9f094022854ca06d02f34c688896abde9e1b20</id>
<content type='text'>
DHCPv4 and DHCPv6 share some values in common for the architecture-
specific options (such as the client system architecture type), but
use different encapsulations: DHCPv4 has a single byte for the option
length while DHCPv6 has a 16-bit field for the option length.

Move the containing DHCP_OPTION() and related wrappers from the
individual dhcp_arch.h files to dhcp.c, thus allowing for the
architecture-specific values to be reused in dhcpv6.c.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[gdb] Add support for x86_64</title>
<updated>2016-03-22T08:44:32+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-03-20T12:00:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=311a5732c8baa7ceb4f23db51dcbb5015e2ef965'/>
<id>urn:sha1:311a5732c8baa7ceb4f23db51dcbb5015e2ef965</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[hyperv] Use generic set_bit() function</title>
<updated>2016-03-16T22:33:41+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-03-16T21:24:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=9bab13a7727a36c36b320409e0e785e016a3ff5c'/>
<id>urn:sha1:9bab13a7727a36c36b320409e0e785e016a3ff5c</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[librm] Provide an abstraction wrapper for prot_call</title>
<updated>2016-02-18T23:23:38+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-02-18T23:23:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=31b5c2e753dbcb3d5023bccc8e644d0bcb56b2ad'/>
<id>urn:sha1:31b5c2e753dbcb3d5023bccc8e644d0bcb56b2ad</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<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>[libc] Add x86_64 versions of setjmp() and longjmp()</title>
<updated>2015-04-07T05:40:42+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-04-07T05:40:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=fb2bedcff3ab30ca2a4bed1aa821d1b1c8f9cfae'/>
<id>urn:sha1:fb2bedcff3ab30ca2a4bed1aa821d1b1c8f9cfae</id>
<content type='text'>
None of the x86_64 builds currently have any way of invoking these
functions.  They are included only to avoid introducing unnecessary
architecture-specific dependencies into the self-test suite.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[libc] Add ffs(), ffsl(), and ffsll()</title>
<updated>2015-03-16T15:40:53+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-03-15T19:28:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=79697c75eeba01f5068412e03bc5484152f98341'/>
<id>urn:sha1:79697c75eeba01f5068412e03bc5484152f98341</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
</feed>
