#include <errno.h>
#include <gpxe/smbios.h>
#include <gpxe/efi/efi.h>
#include <gpxe/efi/Guid/SmBios.h>
Go to the source code of this file.
Functions | |
| FILE_LICENCE (GPL2_OR_LATER) | |
| EFI_USE_TABLE (EFI_SMBIOS_TABLE,&smbios_entry, 0) | |
| static int | efi_find_smbios (struct smbios *smbios) |
| Find SMBIOS. | |
| PROVIDE_SMBIOS (efi, find_smbios, efi_find_smbios) | |
Variables | |
| static struct smbios_entry * | smbios_entry |
| SMBIOS configuration table. | |
Definition in file efi_smbios.c.
| FILE_LICENCE | ( | GPL2_OR_LATER | ) |
| EFI_USE_TABLE | ( | EFI_SMBIOS_TABLE | , | |
| & | smbios_entry, | |||
| 0 | ||||
| ) |
| static int efi_find_smbios | ( | struct smbios * | smbios | ) | [static] |
Find SMBIOS.
| smbios | SMBIOS entry point descriptor structure to fill in |
| rc | Return status code |
Definition at line 42 of file efi_smbios.c.
References smbios::address, smbios::count, DBG, ENODEV, smbios::len, smbios_entry::major, smbios_entry::minor, phys_to_user(), smbios_entry::signature, smbios_entry::smbios_address, smbios_entry::smbios_count, smbios_entry::smbios_len, and SMBIOS_SIGNATURE.
00042 { 00043 00044 if ( ! smbios_entry ) { 00045 DBG ( "No SMBIOS table provided\n" ); 00046 return -ENODEV; 00047 } 00048 00049 if ( smbios_entry->signature != SMBIOS_SIGNATURE ) { 00050 DBG ( "Invalid SMBIOS signature\n" ); 00051 return -ENODEV; 00052 } 00053 00054 smbios->address = phys_to_user ( smbios_entry->smbios_address ); 00055 smbios->len = smbios_entry->smbios_len; 00056 smbios->count = smbios_entry->smbios_count; 00057 DBG ( "Found SMBIOS v%d.%d entry point at %p (%x+%zx)\n", 00058 smbios_entry->major, smbios_entry->minor, smbios_entry, 00059 smbios_entry->smbios_address, smbios->len ); 00060 00061 return 0; 00062 }
| PROVIDE_SMBIOS | ( | efi | , | |
| find_smbios | , | |||
| efi_find_smbios | ||||
| ) |
struct smbios_entry* smbios_entry [static] |
1.5.7.1