Chapter 8 System BIOS

To support Windows NT an additional table to the BIOS32 table has been defined to contain 32- bit pointers for the DDC locations. The Windows NT extension table is as follows:

; Extension to BIOS SERVICE directory table (next paragraph)

db

“32OS”

; sig

db

2

; number of entries in table

db

“$DDC”

; DDC POST buffer sig

dd

?

; 32-bit pointer

dw

?

; byte size

db

“$ERB”

; ESCD sig

dd

?

; 32-bit pointer

dw

?

; bytes size

The service identifier for client management functions is “$CLM.” Once the service identifier is found and the checksum verified, a FAR call is invoked using the value specified at offset 04h to retrieve the CM services entry point. The following entry conditions are used for calling the Desktop Management service directory:

INPUT:

EAX

= Service Identifier [$CLM]

EBX (31..8)

= Reserved

EBX (7..0)

= Must be set to 00h

CS

= Code selector set to encompass the physical page holding

 

entry point as well as the immediately following physical page.

 

It must have the same base. CS is execute/read.

DS

= Data selector set to encompass the physical page holding

 

entry point as well as the immediately following physical page.

 

It must have the same base. DS is read only.

SS= Stack selector must provide at least 1K of stack space and be 32-bit. (I/O permissions must be provided so that the BIOS can support as necessary)

OUTPUT:

AL

= Return code:

 

00h, requested service is present

 

80h, requested service is not present

 

81h, un-implemented function specified in BL

 

86h and CF=1, function not supported

EBX

= Physical address to use as the selector BASE for the service

ECX

= Value to use as the selector LIMIT for the service

EDX

= Entry point for the service relative to the BASE returned in EBX

The following subsections provide a brief description of key Client Management functions.

8-12Compaq D315 and hp d325 Personal Computers

Featuring the AMD Athlon XP Processor

Second Edition - April 2003

Page 146
Image 146
HP D315 manual Input EAX, Output, Ebx, Ecx, Edx