<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/stand/efi/include, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>loader.efi: try all ZFS pools found by efi_zfs_probe()</title>
<updated>2026-02-27T01:01:36+00:00</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2026-02-27T00:57:26+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d69fc3a9dc71768e125e83d35274f0820063e42d'/>
<id>d69fc3a9dc71768e125e83d35274f0820063e42d</id>
<content type='text'>
Remove global uint64_t pool_guid and instead iterate over all pools that
efizfs_get_zfsinfo_list() provides.

The global pool_guid used to mark that we have constructed a ZFS pool and
the pool label that was used for that was stored on a partition that is
the EFI image device handle.

First problem here is that it is too restrictive.  If the very first
device to probe is a spare member of a pool, it will be used to
instantiate a pool but (pd-&gt;pd_handle == boot_img-&gt;DeviceHandle) won't be
true, thus global pool_guid won't be populated and ZFS boot won't be
tried.

Second problem is that potentially we may find several pools, and all
should be tried to boot.  Note that the code for that is already here -
efizfs_get_zfsinfo_list() is imported by efizfs.h but was not used until
now.

Reviewed by: imp
Differential Revision:	https://reviews.freebsd.org/D55094
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove global uint64_t pool_guid and instead iterate over all pools that
efizfs_get_zfsinfo_list() provides.

The global pool_guid used to mark that we have constructed a ZFS pool and
the pool label that was used for that was stored on a partition that is
the EFI image device handle.

First problem here is that it is too restrictive.  If the very first
device to probe is a spare member of a pool, it will be used to
instantiate a pool but (pd-&gt;pd_handle == boot_img-&gt;DeviceHandle) won't be
true, thus global pool_guid won't be populated and ZFS boot won't be
tried.

Second problem is that potentially we may find several pools, and all
should be tried to boot.  Note that the code for that is already here -
efizfs_get_zfsinfo_list() is imported by efizfs.h but was not used until
now.

Reviewed by: imp
Differential Revision:	https://reviews.freebsd.org/D55094
</pre>
</div>
</content>
</entry>
<entry>
<title>stand: Cut over to using the EDK2 files</title>
<updated>2025-11-16T18:29:03+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2025-11-16T17:36:36+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=43b8edb320519c9887a5d953c4cf8a91f0ca8d14'/>
<id>43b8edb320519c9887a5d953c4cf8a91f0ca8d14</id>
<content type='text'>
Remove the old EFI SDK files that we've been nursing along for too many
years. Replace them with files from EDK2 edk2-stable202502 and tweak the
interfaces we need to tweak. Mostly include different things or change
the names of the protocols that no longer have old-school compat names.

I gave up in the middle of env.c, too damn tedious to find all those new
GUIDs. Also, many of the guids were mystery meat, most likely from the
EDK2 sources, but just not the Include subdirectory. Need to investigate
those. And the memory info? Is it just an oboslete thing, or embedded
knowledge of EDK2.

Delete the now-redundant copies of things in Guid and Protocol. I
debated keeping ZeroGuid.h, but EDK2 has moved on from when I snagged it
years ago (or maybe I just invented it out of whole cloth: edk2 does
radically different things today and I didn't do the git deep-dive to
find out).

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D53655
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the old EFI SDK files that we've been nursing along for too many
years. Replace them with files from EDK2 edk2-stable202502 and tweak the
interfaces we need to tweak. Mostly include different things or change
the names of the protocols that no longer have old-school compat names.

I gave up in the middle of env.c, too damn tedious to find all those new
GUIDs. Also, many of the guids were mystery meat, most likely from the
EDK2 sources, but just not the Include subdirectory. Need to investigate
those. And the memory info? Is it just an oboslete thing, or embedded
knowledge of EDK2.

Delete the now-redundant copies of things in Guid and Protocol. I
debated keeping ZeroGuid.h, but EDK2 has moved on from when I snagged it
years ago (or maybe I just invented it out of whole cloth: edk2 does
radically different things today and I didn't do the git deep-dive to
find out).

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D53655
</pre>
</div>
</content>
</entry>
<entry>
<title>stand: switch the loader over to using efi-edk2.h</title>
<updated>2025-11-16T18:29:03+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2025-11-16T17:34:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=84dc74b8274c77ea878837cb0e2dbd4c93b93052'/>
<id>84dc74b8274c77ea878837cb0e2dbd4c93b93052</id>
<content type='text'>
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D53652
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D53652
</pre>
</div>
</content>
</entry>
<entry>
<title>stand: Rename EFI_ERROR_CODE to DECODE_ERROR to avoid Edk2 Clash</title>
<updated>2025-11-16T18:29:02+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2025-11-16T17:32:18+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=87795c6e95b01cd20df103109cdb7077eb46bc46'/>
<id>87795c6e95b01cd20df103109cdb7077eb46bc46</id>
<content type='text'>
This follows what Illumos has done.

Sponsored by:		Netflix
Reviewed by:		tsoome
Differential Revision:	https://reviews.freebsd.org/D53656
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This follows what Illumos has done.

Sponsored by:		Netflix
Reviewed by:		tsoome
Differential Revision:	https://reviews.freebsd.org/D53656
</pre>
</div>
</content>
</entry>
<entry>
<title>stand/efi: Fix a typo in a source code comment</title>
<updated>2025-08-17T09:23:45+00:00</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2025-08-17T09:23:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a7818e34209579b5e1bba0df73c4d0d5ed2b1397'/>
<id>a7818e34209579b5e1bba0df73c4d0d5ed2b1397</id>
<content type='text'>
- s/externel/external/

MFC after:	3 days
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- s/externel/external/

MFC after:	3 days
</pre>
</div>
</content>
</entry>
<entry>
<title>loader/efi: strip trailing whitespace</title>
<updated>2025-04-11T22:02:58+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2025-04-11T22:02:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3a05fa14f9a62370edc26260a4cfabb8a0c5041c'/>
<id>3a05fa14f9a62370edc26260a4cfabb8a0c5041c</id>
<content type='text'>
Many of these no-doubt are in upstream, but they are interfering with
the filters I use to judge commits (no traling whitespace). We don't
directly get stuff from upstream. If/when we pull this from contrib
we'll revisit.

Sponsored by:		Netflix
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Many of these no-doubt are in upstream, but they are interfering with
the filters I use to judge commits (no traling whitespace). We don't
directly get stuff from upstream. If/when we pull this from contrib
we'll revisit.

Sponsored by:		Netflix
</pre>
</div>
</content>
</entry>
<entry>
<title>efiprot.h: add definitions for RISCV_EFI_BOOT_PROTOCOL</title>
<updated>2025-03-03T16:12:15+00:00</updated>
<author>
<name>Mitchell Horne</name>
<email>mhorne@FreeBSD.org</email>
</author>
<published>2025-03-03T15:46:56+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=62c0997d4317390685afdd35a28396f2a6f0b2a3'/>
<id>62c0997d4317390685afdd35a28396f2a6f0b2a3</id>
<content type='text'>
It seems like this file was vendored (sorta) originally, but we have not
kept it in sync with the original source, if it still exists. Follow the
precedent in commit acf82d2659879, and just add the definition to the
bottom of the file, keeping its style conventions.

Defined here: https://github.com/riscv-non-isa/riscv-uefi

Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D48885
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It seems like this file was vendored (sorta) originally, but we have not
kept it in sync with the original source, if it still exists. Follow the
precedent in commit acf82d2659879, and just add the definition to the
bottom of the file, keeping its style conventions.

Defined here: https://github.com/riscv-non-isa/riscv-uefi

Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D48885
</pre>
</div>
</content>
</entry>
<entry>
<title>stand/efi: Changes to efichar to allow it to be used in the kernel</title>
<updated>2024-03-28T18:09:37+00:00</updated>
<author>
<name>Stephen J. Kiernan</name>
<email>stevek@FreeBSD.org</email>
</author>
<published>2024-03-27T22:37:48+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=fe429e6794d322636e7c1e520d50ec0cb711dd14'/>
<id>fe429e6794d322636e7c1e520d50ec0cb711dd14</id>
<content type='text'>
Replace malloc/free with EFICHAR_MALLOC and EFICHAR_FREEE macros.

Obtained from:	Juniper Networks, Inc.
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D44541
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace malloc/free with EFICHAR_MALLOC and EFICHAR_FREEE macros.

Obtained from:	Juniper Networks, Inc.
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D44541
</pre>
</div>
</content>
</entry>
<entry>
<title>stand: Fix typo (triple S)</title>
<updated>2023-12-28T03:24:31+00:00</updated>
<author>
<name>Jose Luis Duran</name>
<email>jlduran@gmail.com</email>
</author>
<published>2023-12-28T03:17:16+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ed76a9506aaa81426ded64bb0e1f96c6509c32ea'/>
<id>ed76a9506aaa81426ded64bb0e1f96c6509c32ea</id>
<content type='text'>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/955
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/955
</pre>
</div>
</content>
</entry>
<entry>
<title>stand/efi: Consolidate integer types</title>
<updated>2023-11-22T02:58:20+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-11-22T02:58:20+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7a1bc422d109a7cee56dcfbac616eda613c1c43e'/>
<id>7a1bc422d109a7cee56dcfbac616eda613c1c43e</id>
<content type='text'>
We have no need for 5 different copies of these.

Sponsored by:		Netflix
Reviewed by:		rcm, kevans, andrew
Differential Revision:	https://reviews.freebsd.org/D42699
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have no need for 5 different copies of these.

Sponsored by:		Netflix
Reviewed by:		rcm, kevans, andrew
Differential Revision:	https://reviews.freebsd.org/D42699
</pre>
</div>
</content>
</entry>
</feed>
