The Stage 1 POST is carried out after a cold start.
The Stage 2 POST is executed after the first stage and after a warm boot (Ctrl+Alt+Del).
CP | Description |
01 | Disable clock interrupts, turn off screen, mask off parity, initialize interrupt controller, initialize error logging formats |
02 | Memory DMA refresh test |
03 | Channel reset |
04 | Test planar ports (94, 96, 100, 102) initialize default planar POS |
05 | Check CMOS/NVRAM for validity,
initialize EXPRESSWAY (on Model 90 systems only) |
06 | Initialize dot clock |
07 | Enable base memory |
08 | Base memory testing - data integrity |
09 | Base memory testing - addressability |
0F | Fatal base memory error - recovery not successful |
|
10 | Start up drive 80 |
11 | Enable extended memory, initialize base memory, disable SRAM, reset parity/channel check. Initialize row, column of cursor. |
12 | Test protected mode |
14 | Initialize the 8259 interrupt controller |
15 | Initialize the interrupt vectors |
16 | Initialize BIOS interrupt vectors |
17 | Verify DMA transfers |
18 | POS setup, set CMOS clock |
1A | Set divide-by-0 interrupt vector |
|
24 | Set CMOS equipment byte |
25 | Check for manufacturing boot request |
|
30 | Test DMA transfers |
34 | Protected mode Shutdown |
35 | Test video card type error |
|
40 | Check for video feature ROM and video presence |
41 | Reset parity and channel checks, load NMI vector with dummy interrupt handler, test timer, load NMI vector to POST NMI handler |
42 | Test interrupt mask register |
43 | Test interrupt mask register with device interrupt |
44 | Check hot interrupts |
45 | Check hot interrupts without I/O-memory parity enabled |
46 | Interrupt mask error |
47 | Timer 2 read/write, verify Timer 0 bits |
48 | Verify Timer 2 output |
49 | Verify Timer 0 on off bits |
4A | Verify Timer 2 output |
4B | Verify Timer 0 interrupt |
4C | Verify Timer 0 count/refresh |
4D | Verify Timer 3 NMI |
4E | Check keyboard controller for last command accepted |
|
5C | Set hardware interrupt vectors 0-7 |
5D | Set hardware interrupt vectors 8-15 |
5E | Set rest of interrupt vectors |
5F | Test serial port |
|
62 | Turn on drive 0 motor (1) |
64 | Test ASYNC registers, modem control lines, and data loop. If ASCII console selected - initialize ASCII console as system display device |
65 | Enable timer interrupts |
66 | Check for manufacturing boot and unmask NMI interrupts (2) |
6E | Check for system security or CE override conditions, run diskette testing and setup, go load first IML image |
|
80 | Start of IML process. SCSI POST |
81 | Diskette IML. Load and verify IML boot record from diskette |
82 | Disk IML. Load and verify IML boot record from disk |
83 | Diskette IML. Diskette recovery from SCSI IML failure. Load in and verify IML boot record from diskette |
|
90 - B6 | Protected mode exception |
|
BE | Build descriptor tables for protected mode |
BF | Completion of descriptor tables for protected mode |
|
C0 | Base memory addressing test, extended memory enable, base memory initialization |
CA | Cache testing (tag RAM, linefill, DMA snooping) |
CB | Second Group Cache Testing - L1 DMA snoop |
CC | Second Group Cache Testing - L1 linefill |
CD | Second Group Cache Testing - non cacheable range boundary |
CE | Second Group Cache Testing - L2 DMA snoop |
CF | Second Group Cache Testing - L2 linefill |
|
EB | Dual Bus Interface Controller internal register error |
|
F0 | Protected mode initialization |
F1 | Test interrupts in protected mode |
F2 | Test exception interrupt in protected mode |
F3 | Verify 286 descriptor instructions in protected mode |
F4 | Verify 286 BOUND instruction in protected mode |
F5 | Verify PUSHALL/POPALL instructions in protected mode |
F6 | Verify ACCESSRIGHTS function in protected mode |
F7 | Verify ADJUSTRPL fields in protected mode |
F8 | Verify LOAD instructions in protected mode |
F9 | Verify LOAD instructions in protected mode (continued) |
FA | Test low meg chip select in protected mode |
CP | Description |
01 | Flush cache, enable first meg of memory as cacheable, disable clock interrupts, mask off parity |
04 | End Codes - OS loaded (static afterwards) |
0B | Write output port command |
0C | Test Keyboard |
0D | Write byte command to keyboard controller |
0E | Keyboard error |
|
14 | Initialize the 8259 interrupt controller |
15 | Initialize display row count |
1B | Count memory size |
1C | Protect mode entered, determine extended memory size |
|
20 | Extended memory size determined, store in CMOS/NVRAM |
21 | Extended memory size stored, enter real mode |
22 | Return from count memory size |
23 | Set real mode stack and data area |
24 | Set CMOS equipment byte |
|
34 | Protected mode shutdown |
35 | Test video card type error |
|
40 | Initialize the video subsystem, set ASCII vectors, clear manufacturing error flags |
41 | Reset the data segment |
4F | Determine warm start |
|
50 | Call extended memory testing |
51 | Protect mode entered, retrieve extended memory size |
52 | Address test extended memory |
53 | Memory test extended memory |
54 | Extended memory testing complete |
55 | Check if password is enabled |
56 | Keyboard and mouse testing |
57 | Keyboard auxiliary device test |
58 | Verify an interrupt is generated by the keyboard |
59 | Keyboard stuck key error |
5A | Auxiliary device testing |
5B | Reset timer, initialize keyboard |
5F | Enable Keyboard interrupts |
|
60 | Enable diskette interrupt vector |
61 | Diskette and FDC test |
62 | Diskette and FDC test, diskette setup |
63 | Initialize the BIOS Data Area |
65 | Enable timer interrupts, check CMOS and battery, check for memory configuration errors |
66 | Initialize diskette setup |
67 | Enable interrupts |
68 | Initialize real mode data segment |
69 | Perform ROM scan |
6A | Initialize printer parameters |
6B | Set CMOS RS232, calculate usable memory values for CMOS |
6C | Initialize Math Coprocessor |
6D | Close window, setup keyboard, initprogs, set cache boundaries, enable cache, check full NVRAM errorlog, set time of day, clear descriptor tables, set POST stack, enable level 71-INT, return to overlay |
6E | Cleanup tasks before leaving POST, run boot routine |
6F | Boot strap loader, Interrupt 19h |
|
70 | Read primary disk/diskette boot record |
71 | Reset disk/diskette |
72 | Interrupt 18h path |
73 | RPL via Interrupt 18h |
74 | Load Operating System (not verified) |
|
84 - 85 | Image overlay |
86 | Store system partition pointer and system partition type. Return from boot record |
|
90 - B6 | Protected mode exception |
|
BE | Build descriptor tables for protected mode |
BF | Completion of descriptor tables for protected mode |
|
D0 | BASIC and VPD copies from ROM to RAM |
|
F0 | Protected mode initialization |
F1 | Test interrupts in protected mode |
F2 | Test exception interrupt in protected mode |
F3 | Verify 286 descriptor instructions in protected mode |
F4 | Verify 286 BOUND instruction in protected mode |
F5 | Verify PUSHALL/POPALL instructions in protected mode |
F6 | Verify ACCESSRIGHTS function in protected mode |
F7 | Verify ADJUSTRPL fields in protected mode |
F8 | Verify LOAD instructions in protected mode |
F9 | Verify LOAD instructions in protected mode (continued) |
FA | Test low meg chip select in protected mode |