Calling Convention
The client can invoke the SMAPI BIOS with a far-call to the entry
point that is specified in the header file. All parameters for the BIOS
and other results are stored in the client data area; the client needs
to prepare an input parameter and output parameter area in its data
area, and informs this area by pushing those pointers onto its stack
before the far-calls.
The SMAPI BIOS uses the stack/data area directly with the selector
when the BIOS is invoked. Therefore, the caller needs to define the
same privilege level as the BIOS.
Parameter Structure
The memory allocation for the input/output field should be prepared
by the caller. The input field specifies the function request to the
SMAPI BIOS, and the BIOS fills in the return value to the output
field.
Input Field
Field
Offset
Length
Major function number
X
'
00
'
Byte
Minor function number
X
'
01
'
Byte
Parameter 1
X
'
02
'
Word
Parameter 2
X
'
04
'
Word
Parameter 3
X
'
06
'
Word
Parameter 4
X
'
08
'
Doubleword
Parameter 5
X
'
0C
'
Doubleword
Output Field
Field
Offset
Length
Return code
X
'
00
'
Byte
Auxiliary return code
X
'
01
'
Byte
Parameter 1
X
'
02
'
Word
Parameter 2
X
'
04
'
Word
Parameter 3
X
'
06
'
Word
Parameter 4
X
'
08
'
Doubleword
Parameter 5
X
'
0C
'
Doubleword
A-6
ThinkPad 560Z SMAPI BIOS
Содержание ThinkPad 560Z
Страница 1: ...xxxxxxx xxxx xxxx xx...
Страница 52: ...2 34 ThinkPad 560Z System Board...
Страница 62: ...3 10 ThinkPad 560Z Subsystems...
Страница 118: ...Function Declaration C Language Smapi BIOS function typedef WORD far SMB PINPARM POUTPARM A 56 ThinkPad 560Z SMAPI BIOS...
Страница 126: ...A 64 ThinkPad 560Z SMAPI BIOS...
Страница 134: ...IBM Part Number xxxxxxx Printed in the United States of America...