DIM Code Checkpoints

The Device Initialization Manager (DIM) gets control at various times during BIOS POST to initialize different system busses. The following table describes the main checkpoints where the DIM module is accessed.

NOTE: Checkpoints may differ between different platforms based on system configuration. Checkpoints may change due to vendor requirements, system chipset or option ROMs from add-in PCI devices.

Checkpoint

Description

 

 

2A

Initialize different buses and perform the following functions: Reset, Detect, and

 

Disable (function 0); Static Device Initialization (function 1); Boot Output Device

 

Initialization (function 2). Function 0 disables all device nodes, PCI devices, and PnP

 

ISA cards. It also assigns PCI bus numbers. Function 1 initializes all static devices

 

that include manual configured onboard peripherals, memory and I/O decode windows

 

in PCI-PCI bridges, and noncompliant PCI devices. Static resources are also

 

reserved. Function 2 searches for and initializes any PnP, PCI, or AGP video devices.

 

 

38

Initialize different buses and perform the following functions: Boot Input Device

 

Initialization (function 3); IPL Device Initialization (function 4); General Device

 

Initialization (function 5). Function 3 searches for and configures PCI input devices

 

and detects if system has standard keyboard controller. Function 4 searches for and

 

configures all PnP and PCI boot devices. Function 5 configures all onboard

 

peripherals that are set to an automatic configuration and configures all remaining

 

PnP and PCI devices.

 

 

While control is in the different functions, additional checkpoints are output to port 80h as a word value to identify the routines under execution. The low byte value indicates the main POST Code Checkpoint. The high byte is divided into two nibbles and contains two fields. The details of the high byte of these checkpoints are as follows:

HIGH BYTE XY

The upper nibble 'X' indicates the function number that is being executed. 'X' can be from 0 to 7.

0 = func#0, disable all devices on the BUS concerned.

1 = func#1, static devices initialization on the BUS concerned.

2 = func#2, output device initialization on the BUS concerned.

3 = func#3, input device initialization on the BUS concerned.

4 = func#4, IPL device initialization on the BUS concerned.

5 = func#5, general device initialization on the BUS concerned.

6 = func#6, error reporting for the BUS concerned.

7 = func#7, add-on ROM initialization for all BUSes.

8 = func#8, BBS ROM initialization for all BUSes.

The lower nibble 'Y' indicates the BUS on which the different routines are being executed. 'Y' can be from 0 to 5.

0 = Generic DIM (Device Initialization Manager).

1= On-board System devices.

2= ISA devices.

3= EISA devices.

4= ISA PnP devices.

5= PCI devices.

Chapter 4

55

Page 63
Image 63
Acer X5812, X3812 manual DIM Code Checkpoints, High Byte XY