]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - share/man/man4/man4.i386/smapi.4
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / share / man / man4 / man4.i386 / smapi.4
1 .\"
2 .\" Copyright (c) 2003 Tom Rhodes
3 .\" All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\"    notice, this list of conditions and the following disclaimer in the
12 .\"    documentation and/or other materials provided with the distribution.
13 .\"
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 .\" SUCH DAMAGE.
25 .\"
26 .\" $FreeBSD$
27 .\"
28 .Dd April 1, 2003
29 .Dt SMAPI 4 i386
30 .Os
31 .Sh NAME
32 .Nm smapi
33 .Nd "System Management Application Program Interface driver"
34 .Sh DESCRIPTION
35 Many
36 .Tn IBM Thinkpad
37 laptops utilize a special software interface known as
38 .Tn SMAPI
39 (System Management Application Program Interface).
40 This interface controls various aspects of the system including:
41 .Bl -bullet
42 .It
43 System Interface
44 (the
45 .Tn BIOS
46 can store system information such as the system identifier),
47 .It
48 System Configuration (where devices such as the display can be configured),
49 .It
50 Power Management (software can interact with the
51 .Tn SMAPI BIOS
52 for Power Management control).
53 .El
54 .Pp
55 Client software must locate a
56 .Dq "header image"
57 stored in the
58 .Li F000
59 segment in the
60 .Tn Thinkpad ROM
61 (read-only memory), which resides at the 16-byte boundary.
62 This is considered the
63 .Dq "Entry Point"
64 for the service.
65 .Pp
66 The
67 .Dq "header image"
68 stores information like:
69 .Bl -bullet
70 .It
71 signature,
72 .It
73 .Tn SMAPI
74 version (major and minor),
75 .It
76 header image length,
77 .It
78 checksum information (which verifies the image),
79 .It
80 an Information Word (used to identify the
81 .Tn BIOS
82 service level),
83 .It
84 Real Mode Entry Point (where clients using the
85 Real/V86 mode for the far-call value),
86 .It
87 and finally a 16-bit/32-bit Protected Mode Entry
88 Point: base code address which specifies the
89 .Tn BIOS
90 physical address.
91 The client must prepare a 64 kilobyte selector for this
92 .Tn BIOS ) .
93 .El
94 .Pp
95 To invoke the
96 .Tn SMAPI BIOS ,
97 a far-call must be used on the entry point specified in the header file.
98 All other information should be stored in the client data area.
99 The client is required to prepare both an input and output parameter in a
100 data area of its own.
101 This area can be
102 .Dq informed
103 by pushing those pointers into its stack before the far-calls.
104 .Pp
105 The
106 .Tn SMAPI BIOS
107 uses the stack and data areas with the selector during a
108 .Tn BIOS
109 invocation, thus the caller must define the same privilege area as the
110 .Tn BIOS .
111 .Pp
112 The parameter structure will be made up by using the input and output
113 fields prepared by the caller.
114 The input field will specify the function request to the
115 .Tn BIOS .
116 The
117 .Tn BIOS
118 will then drop a return value into the output field.
119 These fields are made up of three parts.
120 The first holds parameters, function numbers, and return codes.
121 The next will contain an offset in hexadecimal.
122 Finally a length field which is comprised of Byte, Word, or Double Word.
123 .Sh SEE ALSO
124 .Rs
125 .%B "IBM Thinkpad 560/560E Technical Reference"
126 .%O "06J0536 S76H-7587-01"
127 .Re
128 .Rs
129 .%B "IBM Thinkpad 560Z Technical Reference"
130 .%O "xxxxxxx xxxx-xxxx-xx"
131 .Re
132 .Rs
133 .%B "IBM Thinkpad 600 Technical Reference"
134 .%O "xxxxxxx xxxx-xxxx-xx"
135 .Re
136 .Rs
137 .%B "IBM Thinkpad 760XD/760XL/765D/765L Technical Reference"
138 .%O "06J0537 S30H-2433-02"
139 .Re
140 .Rs
141 .%B "IBM Thinkpad 770 Technical Reference"
142 .%O "05L1739 S05L-1739-00"
143 .Re
144 .Sh AUTHORS
145 .An -nosplit
146 The
147 .Nm
148 driver was written by
149 .An Matthew N. Dodd Aq mdodd@FreeBSD.org .
150 This manual page was written by
151 .An Tom Rhodes Aq trhodes@FreeBSD.org
152 and
153 .An Matthew N. Dodd Aq mdodd@FreeBSD.org .