<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/interface/efi, branch master</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/interface/efi?h=master</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/interface/efi?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2019-02-19T19:02:11+00:00</updated>
<entry>
<title>[efi] Blacklist the Dell Ip4ConfigDxe driver</title>
<updated>2019-02-19T19:02:11+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2019-02-19T18:47:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=64b4452bca04af433f1c98ab782c0e93cd5c88c0'/>
<id>urn:sha1:64b4452bca04af433f1c98ab782c0e93cd5c88c0</id>
<content type='text'>
On a Dell OptiPlex 7010, calling DisconnectController() on the LOM
device handle will lock up the system.  Debugging shows that execution
is trapped in an infinite loop that is somehow trying to reconnect
drivers (without going via ConnectController()).

The problem can be reproduced in the UEFI shell with no iPXE code
present, by using the "disconnect" command.  Experimentation shows
that the only fix is to unload (rather than just disconnect) the
"Ip4ConfigDxe" driver.

Add the concept of a blacklist of UEFI drivers that will be
automatically unloaded when iPXE runs as an application, and add the
Dell Ip4ConfigDxe driver to this blacklist.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<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>[efi] Fix error handling path in efi_snp_probe</title>
<updated>2019-01-15T14:01:17+00:00</updated>
<author>
<name>Ignat Korchagin</name>
</author>
<published>2019-01-04T19:20:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=e226fecd1b602ece7f4f208042f3e87ca540b297'/>
<id>urn:sha1:e226fecd1b602ece7f4f208042f3e87ca540b297</id>
<content type='text'>
Current (simplified):

1. InstallMultipleProtocolInterfaces
       if err goto err_install_protocol_interface;
2. OpenProtocol(efi_nii_protocol_guid)
       if err goto err_open_nii;
3. OpenProtocol(efi_nii31_protocol_guid)
       if err goto err_open_nii31;
4. efi_child_add
       if err goto err_efi_child_add;
...
err_efi_child_add:
   CloseProtocol(efi_nii_protocol_guid) &lt;= should be efi_nii31_protocol_guid
err_open_nii: &lt;= should be err_open_nii31
   CloseProtocol(efi_nii31_protocol_guid) &lt;= should be efi_nii_protocol_guid
err_open_nii31: &lt;= should be err_open_nii
   UninstallMultipleProtocolInterfaces

Signed-off-by: Ignat Korchagin &lt;ignat@cloudflare.com&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[efi] Exclude link-layer header length from MaxPacketSize</title>
<updated>2018-07-07T19:12:10+00:00</updated>
<author>
<name>Rob Taglang</name>
</author>
<published>2018-04-27T18:19:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=88ac1d3fe4ad8e905f679355efac236d1e55ba82'/>
<id>urn:sha1:88ac1d3fe4ad8e905f679355efac236d1e55ba82</id>
<content type='text'>
Modified-by: Michael Brown &lt;mcb30@ipxe.org&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[efi] Do not raise TPL within EFI_DRIVER_BINDING_PROTOCOL.Supported()</title>
<updated>2018-03-26T11:10:09+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-03-26T11:10:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=4f362a032b21ae201a58f59b5885e7613e326db3'/>
<id>urn:sha1:4f362a032b21ae201a58f59b5885e7613e326db3</id>
<content type='text'>
When booting some versions of the UEFI shell, our driver binding
protocol's Supported() entry point is called at TPL_NOTIFY for no
discernible reason.  Attempting to raise to TPL_CALLBACK triggers an
immediate assertion failure in the firmware.

Since our Supported() method can run at any TPL, fix by simply not
attempting to raise the TPL within this method.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[efi] Release SNP devices before starting SAN boot image</title>
<updated>2018-03-26T10:31:41+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-03-26T10:31:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=331ac451e7bcbe49f8fad16f5b6ea5330c9c169b'/>
<id>urn:sha1:331ac451e7bcbe49f8fad16f5b6ea5330c9c169b</id>
<content type='text'>
Release SNP devices to allow the SAN booted image to use our
EFI_SIMPLE_NETWORK_PROTOCOL instance, and to ensure that the image is
started at TPL_APPLICATION.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[efi] Raise TPL within EFI_DRIVER_BINDING_PROTOCOL entry points</title>
<updated>2018-03-14T23:55:28+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-03-14T23:55:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=10d083ffa93e2cc5c69c8f963720ce4d48c5cf6f'/>
<id>urn:sha1:10d083ffa93e2cc5c69c8f963720ce4d48c5cf6f</id>
<content type='text'>
Debugged-by: Rob Taglang &lt;rob@privatemachines.com&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[efi] Drop to TPL_APPLICATION when gathering entropy</title>
<updated>2018-03-12T11:02:19+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-03-12T10:55:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=d8c500b7945e57023dde5bd0be2b0e40963315d9'/>
<id>urn:sha1:d8c500b7945e57023dde5bd0be2b0e40963315d9</id>
<content type='text'>
Commit c89a446 ("[efi] Run at TPL_CALLBACK to protect against UEFI
timers") introduced a regression in the EFI entropy gathering code.
When the EFI_RNG_PROTOCOL is not present, we fall back to using timer
interrupts (as for the BIOS build).  Since timer interrupts are
disabled at TPL_CALLBACK, WaitForEvent() fails and no entropy can be
gathered.

Fix by dropping to TPL_APPLICATION while entropy gathering is enabled.

Reported-by: Andreas Hammarskjöld &lt;junior@2PintSoftware.com&gt;
Tested-by: Andreas Hammarskjöld &lt;junior@2PintSoftware.com&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[efi] Raise TPL within EFI_USB_IO_PROTOCOL entry points</title>
<updated>2018-02-20T11:19:39+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-02-20T11:19:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=f672a27b34220865b403df519593f382859559e0'/>
<id>urn:sha1:f672a27b34220865b403df519593f382859559e0</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[efi] Raise TPL within EFI_SIMPLE_NETWORK_PROTOCOL entry points</title>
<updated>2018-02-20T11:19:21+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-02-20T11:08:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=a272b7ce5789ac9a467f37288c03f317d1a46517'/>
<id>urn:sha1:a272b7ce5789ac9a467f37288c03f317d1a46517</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
</feed>
