iPXE SMBIOS API for EFI
Definition in file efi_smbios.c.
static int efi_find_smbios |
( |
struct smbios * |
smbios | ) |
|
|
static |
Find SMBIOS.
- Parameters
-
smbios | SMBIOS entry point descriptor structure to fill in |
- Return values
-
Definition at line 47 of file efi_smbios.c.
56 DBG (
"Found 64-bit SMBIOS v%d.%d entry point at %p (%lx+%zx)\n",
69 DBG (
"Found 32-bit SMBIOS v%d.%d entry point at %p (%lx+%zx)\n",
75 DBG (
"No SMBIOS table provided\n" );
uint32_t signature
Signature.
#define SMBIOS_SIGNATURE
Signature for 32-bit SMBIOS entry point.
unsigned int count
Number of SMBIOS structures.
unsigned long user_to_phys(userptr_t userptr, off_t offset)
Convert user pointer to physical address.
size_t len
Length of SMBIOS structures.
userptr_t phys_to_user(unsigned long phys_addr)
Convert physical address to user pointer.
SMBIOS entry point descriptor.
#define SMBIOS3_SIGNATURE
Signature for 64-bit SMBIOS entry point.
uint16_t version
SMBIOS version.
uint16_t smbios_len
Structure table length.
uint32_t signature
Signature.
SMBIOS 32-bit entry point.
uint32_t smbios_address
Structure table address.
#define SMBIOS_VERSION(major, minor)
Calculate SMBIOS version.
#define ENODEV
No such device.
uint16_t smbios_count
Number of SMBIOS structures.
uint8_t minor
Minor version.
uint8_t minor
Minor version.
userptr_t address
Start of SMBIOS structures.
uint32_t smbios_len
Structure table length.
uint64_t smbios_address
Structure table address.
#define DBG(...)
Print a debugging message.
uint8_t major
Major version.
uint8_t major
Major version.
SMBIOS 64-bit entry point.
References smbios::address, smbios::count, DBG, ENODEV, smbios::len, smbios_entry::major, smbios3_entry::major, smbios_entry::minor, smbios3_entry::minor, phys_to_user(), smbios_entry::signature, smbios3_entry::signature, SMBIOS3_SIGNATURE, smbios_entry::smbios_address, smbios3_entry::smbios_address, smbios_entry::smbios_count, smbios_entry::smbios_len, smbios3_entry::smbios_len, SMBIOS_SIGNATURE, SMBIOS_VERSION, user_to_phys(), and smbios::version.