Hi Mark, > I have done some work on adding support for EFI runtime services on > OpenBSD/amd64, based on the code for OpenBSD/arm64. My plan was to > implement an ioctl(2) interface that is compatible with FreeBSD's > <sys/efiio.h> interface. Theo objected to putting EFI-related headers > in /usr/include/sys, so the EFI-related headers will probably end up > in /usr/include/dev/efi (so you'd be include <dev/efi/efiio.h> > instead).
Great to hear that you went with FreeBSD's API. It's a natural choice for DragonBSD, and NetBSD chose compatible API on AArch64, so it sounds like all BSDs will have an almost identical API. Having header in a different location is a minor thing. I too was trying to make EFI RT work in [1], it doesn't crash the kernel by now, but GetTime() doesn't return proper data either. [1]: https://github.com/3mdeb/openbsd-src/compare/esrt...3mdeb:openbsd-src:efi-vars > I hope to have some time to make progress on this next week, so let me > come back to you then. Is the code available anywhere? By the way, do you plan to have something like `libefivar` provided as part of OpenBSD? Cheers, Sergii