diff options
author | Michael Brown <mcb30@ipxe.org> | 2021-03-01 00:08:23 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2021-03-01 00:08:23 +0000 |
commit | 9776f6ece1104cc32de3249844a8a7387112f32f (patch) | |
tree | b5916d250368fc66575bb000c51f5a7c7b0e203d /src/include/ipxe/efi | |
parent | d175936b78abc2b137a5a1e66ad7cf79b5849058 (diff) | |
download | ipxe-9776f6ece1104cc32de3249844a8a7387112f32f.zip ipxe-9776f6ece1104cc32de3249844a8a7387112f32f.tar.gz ipxe-9776f6ece1104cc32de3249844a8a7387112f32f.tar.bz2 |
The ACPI API currently expects platforms to provide access to a single
contiguous ACPI table. Some platforms (e.g. Linux userspace) do not
provide a convenient way to obtain the entire ACPI table, but do
provide access to individual tables.
All iPXE consumers of the ACPI API require access only to individual
tables.
Redefine the internal API to make acpi_find() an API method, with all
existing implementations delegating to the current RSDT-based
implementation.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/efi')
-rw-r--r-- | src/include/ipxe/efi/efi_acpi.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/include/ipxe/efi/efi_acpi.h b/src/include/ipxe/efi/efi_acpi.h index 01456f1..a698863 100644 --- a/src/include/ipxe/efi/efi_acpi.h +++ b/src/include/ipxe/efi/efi_acpi.h @@ -15,4 +15,17 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define ACPI_PREFIX_efi __efi_ #endif +/** + * Locate ACPI table + * + * @v signature Requested table signature + * @v index Requested index of table with this signature + * @ret table Table, or UNULL if not found + */ +static inline __attribute__ (( always_inline )) userptr_t +ACPI_INLINE ( efi, acpi_find ) ( uint32_t signature, unsigned int index ) { + + return acpi_find_via_rsdt ( signature, index ); +} + #endif /* _IPXE_EFI_ACPI_H */ |