OpenGrok
Cross Reference: efi.c
xref
: /
src
/
sys
/
dev
/
efi.c
Home
|
History
|
Annotate
|
Download
|
only in
dev
History log of
/src/sys/dev/efi.c
Revision
Date
Author
Comments
1.10
30-Mar-2025
riastradh
efi(8)/efi(9): Rename EFI_VARNAME_MAXLENGTH -> EFI_VARNAME_MAXBYTES.
This should help avoid potential confusion over the units.
No functional change intended.
Prompted by (but will not fix):
PR kern/59235: efi(8) panics
1.9
24-May-2023
riastradh
efi(4): Fix logic to handle buffer sizing.
Can't KASSERT(datasize <= databufsize) because the caller is allowed
to pass in a too-small size and get ERR_BUFFER_TOO_SMALL back, with
the actual size returned so it can resize its buffer. So just clamp
the size to the smaller of what the caller provided and what the
firwmare provided, instead of asserting anything.
PR kern/57076
XXX pullup-10
1.8
22-May-2023
riastradh
efi(4): Translate between size_t and unsigned long.
Fixes i386 build.
PR kern/57076
XXX pullup-10
1.7
22-May-2023
riastradh
efi(4): Implement MI parts of EFIIOC_GET_TABLE.
Intended to be compatible with FreeBSD.
Not yet supported on any architectures.
PR kern/57076
XXX pullup-10
1.6
22-May-2023
riastradh
efi(4): Move error macros to efi.h.
PR kern/57076
XXX pullup-10
1.5
22-May-2023
riastradh
efi(4): Parenthesize EFIERR argument out of paranoia.
PR kern/57076
XXX pullup-10
1.4
24-Sep-2022
riastradh
branches: 1.4.4;
efi(4): Fix access to efi_isopen.
- Qualify efi_isopen with volatile.
- Ensure open has acquire ordering and close has release ordering.
- Use atomic_swap, not atomic_cas -- simpler and may be cheaper.
- Use atomic_store, not atomic_swap -- simpler and usually cheaper.
(Could maybe just use __cpu_simple_lock to avoid having to write out
these details.)
1.3
01-Apr-2022
skrll
Trailing Whitespace
1.2
10-Oct-2021
jmcneill
UEFI calls can modify size inputs, so stash them for use with kmem_free
1.1
10-Oct-2021
jmcneill
efi: Add /dev/efi character device
Introduce a /dev/efi character device that provides a means for accessing
UEFI RT variable services from userland. Compatible with the FreeBSD ioctl
interface for ease of porting their libefivar and associated tools.
The ioctl interface is defined in sys/efiio.h.
To enable support for this on an arch, the kernel needs `pseudo-device efi`
and the MD EFI implementation needs to register its backend by calling
efi_ops_register(). This commit includes an implementation for Arm.
1.4.4.1
01-Aug-2023
martin
Pull up following revision(s) (requested by riastradh in ticket #292):
sys/arch/arm/arm/efi_runtime.c: revision 1.11
sys/dev/efi/efi.h: revision 1.3
sys/arch/x86/x86/efi_machdep.c: revision 1.5
sys/arch/x86/x86/efi_machdep.c: revision 1.6
sys/dev/efi.c: revision 1.5
sys/dev/efi.c: revision 1.6
sys/dev/efi.c: revision 1.7
sys/dev/efi.c: revision 1.8
sys/dev/efi.c: revision 1.9
sys/dev/efivar.h: revision 1.2
sys/sys/efiio.h: revision 1.3
efi(4): Parenthesize EFIERR argument out of paranoia.
PR kern/57076
efi(4): Move error macros to efi.h.
PR kern/57076
efi(4): Implement MI parts of EFIIOC_GET_TABLE.
Intended to be compatible with FreeBSD.
Not yet supported on any architectures.
PR kern/57076
efi(4): Implement EFIIOC_GET_TABLE on x86.
PR kern/57076
efi(4): Translate between size_t and unsigned long.
Fixes i386 build.
PR kern/57076
efi(4): Fix logic to handle buffer sizing.
Can't KASSERT(datasize <= databufsize) because the caller is allowed
to pass in a too-small size and get ERR_BUFFER_TOO_SMALL back, with
the actual size returned so it can resize its buffer. So just clamp
the size to the smaller of what the caller provided and what the
firwmare provided, instead of asserting anything.
PR kern/57076
Indexes created Thu Oct 02 01:09:59 GMT 2025