tail head cat sleep
QR code linking to this page

Manual Pages  — SMAPI

NAME

smapi – System Management Application Program Interface driver

CONTENTS

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:

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:

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 <Mt mdodd@FreeBSD.org>. This manual page was written by Tom Rhodes <Mt trhodes@FreeBSD.org> and Matthew N. Dodd <Mt mdodd@FreeBSD.org>.

SMAPI (4) April 1, 2003

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

A typical Unix /bin or /usr/bin directory contains a hundred different kinds of programs, written by dozens of egotistical programmers, each with its own syntax, operating paradigm, rules of use ... strategies for specifying options, and different sets of constraints.
— The Unix Haters' handbook