Simple Firmware Interface
Encyclopedia
Simple Firmware Interface (SFI) is developed by Intel Corporation
Intel Corporation
Intel Corporation is an American multinational semiconductor chip maker corporation headquartered in Santa Clara, California, United States and the world's largest semiconductor chip maker, based on revenue. It is the inventor of the x86 series of microprocessors, the processors found in most...

 as a lightweight method for firmware to export static tables to the operating system. It is supported by Intel's hand-held Moorestown platform.

SFI tables are data structure
Data structure
In computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently.Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks...

s in memory. All SFI tables share a common table header format.

SFI support was merged into Linux kernel
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....

 2.6.32-rc1. The core SFI patch is about 1,000 lines of code. Linux is the first operating system with an SFI implementation.

SFI provide access to a standard ACPI
Advanced Configuration and Power Interface
In computing, the Advanced Configuration and Power Interface specification provides an open standard for device configuration and power management by the operating system....

 XSDT (Extended System Description Table). XSDT is used by SFI to prevent namespace collision
Naming collision
A naming collision is a circumstance where two or more identifiers in a given namespace or a given scope cannot be unambiguously resolved, and such unambiguous resolution is a requirement of the underlying system.- Example: XML element names :...

 between SPI and ACPI. It can access standard ACPI tables such as PCI Memory Configuration Table (MCFG).

The operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

finds the system table by searching 16 byte boundaries between physical address 0x000E0000 and 0x000FFFFF.

SFI have CPU, APIC, Memory Map, Idle, Frequency, M-Timer, M-RTC, OEMx, Wake Vector, I2C Device, and SPI Device table.
SFI Common Table Format
Offset Length Field
0 4 Signature
4 4 Length
8 1 Revision (always 1)
9 1 Checksum
10 6 OEM ID
16 8 OEM Table ID
24 var. Table Payload

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK