Intel STL2 Revision, 4-45, # of bit available –1, Bit offset from start of CMOS of first bit

Models: STL2

1 103
Download 103 pages 29 Kb
Page 53
Image 53
# of bit available –1

STL2 Server Board TPS

Basic Input Output System (BIOS)

The system state must be preserved by the user binary (all registers, including extended and MMX, stack contents, and nonuser binary data space, etc.).

The user binary code must be relocatable. The user binary is located within the first 1 MB of memory. The user binary code must not make any assumptions about the value of the code segment.

The user binary code is always executed from RAM and never from flash.

The user binary must not hook critical interrupts, must not reprogram the chip set, and must not take any action that affects the correct functioning of the system BIOS.

The user binary ROM must be checksummed. The checksum byte must be placed in the last byte position of the 16K ROM.

The BIOS copies the user binary into system memory before the first scan point. If the user binary reports that it does not contain run time code, it is located in conventional memory (0- 640 KB). Reporting that the user binary has no run time code has the advantage of not using limited option ROM space (therefore, more option ROMs may be executed in a large system configuration). If user binary code is required at run time, it is copied into and executed from option ROM space (0C8000H – 0E7fffH).

At each scan-point during POST, the system BIOS determines if the scan-point has a corresponding user binary entry point to transfer control to the user binary. Presence of a valid entry point in the user binary is determined by examining the bitmap at byte 4 of the user binary header; each entry point has a corresponding “presence” bit in this bitmap. If the bitmap has the appropriate bit set, an entry point ID is placed in the “AL” register and execution is passed to the address computed by (ADR(Byte 5)+5*scan sequence #).

During execution, the user binary may access 11 bytes of extended BIOS data area RAM (EBDA). The segment of EBDA can be found at address 40:0e. Offset 18h through offset 22h is available for the user binary. The BIOS also reserves 8 CMOS bits for the user binary. These bits are in an unchecksummed region of CMOS with default values of zero, and will always be located in the first bank of CMOS. These bits are contiguous, but are not in a fixed location. Upon entry into the user binary, DX contains a ‘token’ that points to the reserved bits. This token is of the following format:

MSB

15

 

 

 

12

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# of bit available –1

 

Bit offset from start of CMOS of first bit

 

 

 

 

 

 

 

 

 

 

 

LSB

0

The most significant four bits are equal to the number of CMOS bits available minus one. This field is equal to seven, since eight CMOS bits are available. The 12 least significant bits define the position of the CMOS bit in the real-time clock (RTC). This is a bit address rather than a byte address. The CMOS byte location is 1/8th of the 12-bit number, and the remainder is the starting bit position within that byte. For example, if the 12-bit number is 0109h, user binary can use bit 1 of CMOS byte 0108h/8 or 021h. It should be noted that the bits available to the user binary may span more than one byte of CMOS (i.e., a value of 07084h indicates that the upper nibble of byte 10h and the lower nibble of byte 11h are reserved for the user binary).

Revision 1.0

4-45

Page 53
Image 53
Intel STL2 manual Revision, 4-45, # of bit available –1, Bit offset from start of CMOS of first bit, LSB 0