Provided by: freebsd-manpages_12.2-1_all bug

NAME

       smapi — System Management Application Program Interface driver

DESCRIPTION

       Many  IBM  Thinkpad  laptops  utilize  a  special  software  interface  known as SMAPI (System Management
       Application Program Interface).  This interface controls various aspects of the system including:

          System Interface (the BIOS can store system information such as the system identifier),

          System Configuration (where devices such as the display can be configured),

          Power Management (software can interact with the SMAPI BIOS for Power Management control).

       Client software must locate a “header image” stored in the F000 segment in the  Thinkpad  ROM  (read-only
       memory), which resides at the 16-byte boundary.  This is considered the “Entry Point” for the service.

       The “header image” stores information like:

          signature,

          SMAPI version (major and minor),

          header image length,

          checksum information (which verifies the image),

          an Information Word (used to identify the BIOS service level),

          Real Mode Entry Point (where clients using the Real/V86 mode for the far-call value),

          and  finally  a  16-bit/32-bit Protected Mode Entry Point: base code address which specifies the BIOS
           physical address.  The client must prepare a 64 kilobyte selector for this BIOS).

       To invoke the SMAPI BIOS, a far-call must be used on the entry point specified in the header  file.   All
       other  information  should  be stored in the client data area.  The client is required to prepare both an
       input and output parameter in a data area of its own.  This area  can  be  “informed”  by  pushing  those
       pointers into its stack before the far-calls.

       The  SMAPI BIOS uses the stack and data areas with the selector during a BIOS invocation, thus the caller
       must define the same privilege area as the BIOS.

       The parameter structure will be made up by using the input and output fields prepared by the caller.  The
       input field will specify the function request to the BIOS.  The BIOS will then drop a return  value  into
       the  output  field.   These  fields  are  made  up  of three parts.  The first holds parameters, function
       numbers, and return codes.  The next will contain an offset in hexadecimal.  Finally a length field which
       is comprised of Byte, Word, or Double Word.

SEE ALSO

       IBM Thinkpad 560/560E Technical Reference, 06J0536 S76H-7587-01.

       IBM Thinkpad 560Z Technical Reference, xxxxxxx xxxx-xxxx-xx.

       IBM Thinkpad 600 Technical Reference, xxxxxxx xxxx-xxxx-xx.

       IBM Thinkpad 760XD/760XL/765D/765L Technical Reference, 06J0537 S30H-2433-02.

       IBM Thinkpad 770 Technical Reference, 05L1739 S05L-1739-00.

AUTHORS

       The smapi driver was written by Matthew N. Dodd <mdodd@FreeBSD.org>.  This manual page was written by Tom
       Rhodes <trhodes@FreeBSD.org> and Matthew N. Dodd <mdodd@FreeBSD.org>.

Debian                                            April 1, 2003                                         SMAPI(4)