efi_smbios.c File Reference

gPXE SMBIOS API for EFI More...

#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_entrysmbios_entry
 SMBIOS configuration table.


Detailed Description

gPXE SMBIOS API for EFI

Definition in file efi_smbios.c.


Function Documentation

FILE_LICENCE ( GPL2_OR_LATER   ) 

EFI_USE_TABLE ( EFI_SMBIOS_TABLE  ,
smbios_entry,
 
)

static int efi_find_smbios ( struct smbios smbios  )  [static]

Find SMBIOS.

Parameters:
smbios SMBIOS entry point descriptor structure to fill in
Return values:
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   
)


Variable Documentation

struct smbios_entry* smbios_entry [static]

SMBIOS configuration table.

Definition at line 33 of file efi_smbios.c.


Generated on Tue Apr 6 20:01:53 2010 for gPXE by  doxygen 1.5.7.1