Power-On Self Test
Power-on Self Test (POST) is the common term for a computers pre-boot sequence. Though the same basic sequence is present on all computer architectures, it may go by different names such as IPL, booting, or bootstrapping. The term POST, however, has become popular in association with and as a result of the proliferation of the PC. It can be used as a noun when referring to the code (computer programming) that controls the pre-boot phase or when referring to the phase itself. It can also be used as a verb when referring to the code or the system as it progresses through the pre-boot phase. Alternatively this may be called POSTing.
Table of contents |
General Internal Workings
On the PC, the main duties of POST are handled by the main BIOS which may hand some of these duties to other programs designed to initialize very specific peripheral devices, notably for video and SCSI initialization. These other duty-specific programs are generally known collectively as Option ROMS or individually as the Video BIOS, SCSI BIOS, etc.
The principal duties of the main BIOS during POST are as follows:
- verify the integrity of the BIOS code itself
- determine the reason POST is being executed
- find, size, and verify system main memory
- discover, initialize, and catalog all system buses and devices
- pass control to other specialized BIOSes (if and when required)
- provide a user interface for system configuration
- identify, organize, and select which devices are available for booting
- construct whatever system environment that is required by the target OS
The BIOS will begin its POST duties when the CPU is reset. The first memory location the CPU tries to execute is known as the reset vector. In the case of a cold boot, the northbridge will direct this code fetch (request) to the BIOS located on the system flash memory. For a warm boot, the BIOS will be located in the proper place in RAM and the northbridge will direct the reset vector call to the RAM.
During the POST flow of a contemporary BIOS, one of the first things a BIOS should do is determine the reason it is executing. For a cold boot, for example, it may need to execute all of its functionality. If, however, the system supports power savings or quick boot methods, the BIOS may be able to circumvent the standard POST device discovery, and simply program the devices from a preloaded system device table.
The POST flow for the PC has developed from a very simple straightforward process to one that is complex and convoluted. During POST, the BIOS must integrate a myriad of competing, evolving, and even mutually exclusive standards and initiatives for the matrix of hardware and OSes the PC is expected to support. However, the average user still only knows the POST and BIOS through its simple visible memory test and setup screen.
Fundamental Structure
In the case of the IBM PC compatible machines, the main BIOS is divided into two basic sections. The POST section, or POST code, is responsible for the tasks as mentioned above and the environment POST constructs for the OS is known as the Runtime code, The Runtime BIOS, or The Runtime footprint. Primarily these two divisions can be distinguished in that POST code should be flushed from memory before control is passed to the target OS while the Runtime code remains resident in memory. This division may be a misleading oversimplification, however, as many Runtime functions are executed while the system is POSTing.
Standard Original IBM POST Error Codes
- 1 short beep – Normal POST – system is ok
- 2 short beeps – POST Error – error code shown on screen
- No beep – Power supply or system board problem
- Continuous beep – Power supply, system board, or keyboard problem
- Repeating short beeps – Power supply or system board problem
- 1 long, 1 short beep – System board problem
- 1 long, 2 short beeps – Display adapter problem (MDA, CGA)
- 1 long, 3 short beeps – Enhanced Graphics Adapter (EGA)
- 3 long beeps – 3270 keyboard card
POST AMI BIOS Beep Codes
- 1 – Memory refresh timer error
- 2 – Parity error in base memory (first 64 KB block)
- 3 – Base memory read/write test error
- 4 – Mother board timer not operational
- 5 – Processor error
- 6 – 8042 Gate A20 test error (cannot switch to protected mode)
- 7 – General exception error (processor exception interrupt error)
- 8 – Display memory error (system video adapter)
- 9 – AMI BIOS ROM checksum error
- 10 – CMOS shutdown register read/write error
- 11 – Cache memory test failed
Reference: AMIBIOS8 Check Point and Beep Code List, version 1.7, last updated 6 December 2004
IBM POST Diagnostic Code Descriptions
- 100 to 199 – System Board
- 200 to 299 – Memory
- 300 to 399 – Keyboard
- 400 to 499 – Monochrome Display
- 500 to 599 – Color/Graphics Display
- 600 to 699 – Floppy-disk drive and/or Adapter
- 700 to 799 – Math Coprocessor
- 900 to 999 – Parallel Printer Port
- 1000 to 1099 – Alternate Printer Adapter
- 1100 to 1299 – Asynchronous Communication Device, Adapter, or Port
- 1300 to 1399 – Game Port
- 1400 to 1499 – Color/Graphics Printer
- 1500 to 1599 – Synchronous Communication Device, Adapter, or Port
- 1700 to 1799 – Hard Drive and/or Adapter
- 1800 to 1899 – Expansion Unit (XT)
- 2000 to 2199 – Bisynchronous Communication Adapter
- 2400 to 2599 – EGA system-board Video (MCA)
- 3000 to 3199 – LAN Adapter
- 4800 to 4999 – Internal Modem
- 7000 to 7099 – Phoenix BIOS Chips
- 7300 to 7399 – 3.5" Disk Drive
- 8900 to 8999 – MIDI Adapter
- 11200 to 11299 – SCSI Adapter
- 21000 to 21099 – SCSI Fixed Disk and Controller
- 21500 to 21599 – SCSI CD-ROM System
AMI BIOS POST Codes
- Bios Central – AMI/AMIT BIOS Post Codes
- AMIBIOS8 Check Point and Beep Code List, version 1.7, last updated 6 December 2004
See also
External links
- Power On Self Test Beep Codes for AMI and Phoenix BIOS – from PC Hell.
- Computer Hardware – Additional information on computer POST / Beep Codes – from Computer Hope.
- Hardware Diagnostics
Categories: Computer terminology