PDA

View Full Version : boot sequence


amar
08-09-2005, 02:09 AM
Recently I am going through Intel docs and found "Built In Self Test"(BIST) is performed by the CPU. Here I am having confusion that POST/BIOS is performed before BIST or after BIST. Actually I want to know the exact booting sequence of the PC. Can anybody help me in understanding it?

Sylvander
08-09-2005, 08:14 AM
A typical and successful startup sequence
1. Start of Boot Troubleshooting Walkthrough
http://www.pcguide.com/ts/x/boot/walk/index.htm
2. Yes: The system power supply is functioning
http://www.pcguide.com/ts/x/boot/walk/power1.htm
3. Yes: Something is being written to the screen during boot up [This may be only a flashing cursor]
http://www.pcguide.com/ts/x/boot/walk/video1.htm
4. The video BIOS message is displayed on the screen for a few seconds and then clears from the screen, or more messages display under it
http://www.pcguide.com/ts/x/boot/walk/vbios1.htm
5. Yes: The system BIOS startup screen is appearing
http://www.pcguide.com/ts/x/boot/walk/bios1.htm
6. The memory test completes successfully
http://www.pcguide.com/ts/x/boot/walk/ram1.htm
7. The BIOS accesses the floppy drives and the boot continues
http://www.pcguide.com/ts/x/boot/walk/seek1.htm
8. The system is able to autodetect IDE devices successfully
http://www.pcguide.com/ts/x/boot/walk/auto1.htm
9. The system is not Plug and Play compatible, has no Plug and Play devices, or has PnP devices but identifies them properly
http://www.pcguide.com/ts/x/boot/walk/pnp1.htm
10. Boot sequence is A: before C: (floppy disk first)
http://www.pcguide.com/ts/x/boot/walk/seqAC.htm
11. The floppy disk makes a noise and the light comes on
http://www.pcguide.com/ts/x/boot/walk/fd1.htm
12. The floppy disk light goes off and the hard disk light comes on as it starts booting
http://www.pcguide.com/ts/x/boot/walk/fd1hdd.htm
13. The hard disk boot process will continue here, if you want to follow it.
http://www.pcguide.com/ts/x/boot/walk/hd1.htm
14. The system continues booting from the hard disk and the message "Starting MS-DOS" or "Starting Windows 95" is displayed
http://www.pcguide.com/ts/x/boot/walk/hd1os.htm
15. Operating System Loaded From Hard Disk. The system has found a boot sector on the hard disk and is now starting the load of the operating system. The hard disk is working. You have successfully completed the hardware part of the boot process. Any problems encountered after this point should be diagnosed by looking for a more specific problem with a component, or under the section that contains run-time error messages.

This thread should not have been posted in the "After Hours" forum.
A moderator will probably move it to a more suitable forum.

Here is a typical POST for a generic PhoenixBIOS [4.0 Release 6.x in this case]

Code_Beeps_POST Routine Description
02h Verify Real Mode
03h Disable Non-Maskable Interrupt (NMI)
04h Get CPU type
06h Initialize system hardware
07h Disable shadow and execute code from the ROM.
08h Initialize chipset with initial POST values
09h Set IN POST flag
0Ah Initialize CPU registers
0Bh Enable CPU cache
0Ch Initialize caches to initial POST values
0Eh Initialize I/O component
0Fh Initialize the local bus IDE
10h Initialize Power Management
11h Load alternate registers with initial POST values
12h Restore CPU control word during warm boot
13h Initialize PCI Bus Mastering devices
14h Initialize keyboard controller
16h 1-2-2-3 BIOS ROM checksum
17h Initialize cache before memory Auto size
18h 8254 timer initialization
1Ah 8237 DMA controller initialization
1Ch Reset Programmable Interrupt Controller
20h 1-3-1-1 Test DRAM refresh
22h 1-3-1-3 Test 8742 Keyboard Controller
24h Set ES segment register to 4 GB
28h Auto size DRAM
29h Initialize POST Memory Manager
2Ah Clear 512 kB base RAM
2Ch 1-3-4-1 RAM failure on address line xxxx*
2Eh 1-3-4-3 RAM failure on data bits xxxx* of low byte of
memory bus
2Fh Enable cache before system BIOS shadow
32h Test CPU bus-clock frequency
33h Initialize Phoenix Dispatch Manager
36h Warm start shut down
38h Shadow system BIOS ROM
3Ah Auto size cache
3Ch Advanced configuration of chipset registers
3Dh Load alternate registers with CMOS values
41h Initialize extended memory for RomPilot
42h Initialize interrupt vectors
45h POST device initialization
46h 2-1-2-3 Check ROM copyright notice
47h Initialize I20 support
48h Check video configuration against CMOS
49h Initialize PCI bus and devices
4Ah Initialize all video adapters in system
4Bh QuietBoot start (optional)
4Ch Shadow video BIOS ROM
4Eh Display BIOS copyright notice
4Fh Initialize MultiBoot
50h Display CPU type and speed
51h Initialize EISA board
52h Test keyboard
54h Set key click if enabled
55h Enable USB devices
58h 2-2-3-1 Test for unexpected interrupts
59h Initialize POST display service
5Ah Display prompt "Press F2 to enter SETUP"
5Bh Disable CPU cache
5Ch Test RAM between 512 and 640 kB
60h Test extended memory
62h Test extended memory address lines
64h Jump to UserPatch1
66h Configure advanced cache registers
67h Initialize Multi Processor APIC
68h Enable external and CPU caches
69h Setup System Management Mode (SMM) area
6Ah Display external L2 cache size
6Bh Load custom defaults (optional)
6Ch Display shadow-area message
6Eh Display possible high address for UMB recovery
70h Display error messages
72h Check for configuration errors
76h Check for keyboard errors
7Ch Set up hardware interrupt vectors
7Dh Initialize Intelligent System Monitoring
7Eh Initialize coprocessor if present
80h Disable onboard Super I/O ports and IRQs
81h Late POST device initialization
82h Detect and install external RS232 ports
83h Configure non-MCD IDE controllers
84h Detect and install external parallel ports
85h Initialize PC-compatible PnP ISA devices
86h Re-initialize onboard I/O ports.
87h Configure Motherboard Configurable Devices
(optional)
88h Initialize BIOS Data Area
89h Enable Non-Maskable Interrupts (NMIs)
8Ah Initialize Extended BIOS Data Area
8Bh Test and initialize PS/2 mouse
8Ch Initialize floppy controller
8Fh Determine number of ATA drives (optional)
90h Initialize hard-disk controllers
91h Initialize local-bus hard-disk controllers
92h Jump to UserPatch2
93h Build MPTABLE for multi-processor boards
95h Install CD ROM for boot
96h Clear huge ES segment register
97h Fix up Multi Processor table
98h 1-2 Search for option ROMs. One long, two short
beeps on checksum failure
99h Check for SMART Drive (optional)
9Ah Shadow option ROMs
9Ch Set up Power Management
9Dh Initialize security engine (optional)
9Eh Enable hardware interrupts
9Fh Determine number of ATA and SCSI drives
A0h Set time of day
A2h Check key lock
A4h Initialize typematic rate
A8h Erase F2 prompt
AAh Scan for F2 key stroke
ACh Enter SETUP
AEh Clear Boot flag
B0h Check for errors
B1h Inform RomPilot about the end of POST.
B2h POST done - prepare to boot operating system
B4h 1 One short beep before boot
B5h Terminate QuietBoot (optional)
B6h Check password (optional)
B7h Initialize ACPI BIOS
B9h Prepare Boot
BAh Initialize SMBIOS
BBh Initialize PnP Option ROMs
BCh Clear parity checkers
BDh Display MultiBoot menu
BEh Clear screen (optional)
BFh Check virus and backup reminders
C0h Try to boot with INT 19
C1h Initialize POST Error Manager (PEM)
C2h Initialize error logging
C3h Initialize error display function
C4h Initialize system error handler
C5h PnPnd dual CMOS (optional)
C6h Initialize note dock (optional)
C7h Initialize note dock late
C8h Force check (optional)
C9h Extended checksum (optional)
CAh Redirect Int 15h to enable remote keyboard
CBh Redirect Int 13h to Memory Technologies
Devices such as ROM, RAM, PCMCIA, and
serial disk
CCh Redirect Int 10h to enable remote serial video
CDh Re-map I/O and memory for PCMCIA
CEh Initialize digitizer and display message
D2h Unknown interrupt
The following are for boot block in Flash
ROM
E0h Initialize the chipset
E1h Initialize the bridge
E2h Initialize the CPU
E3h Initialize system timer
E4h Initialize system I/O
E5h Check force recovery boot
E6h Checksum BIOS ROM
E7h Go to BIOS
E8h Set Huge Segment
E9h Initialize Multi Processor
EAh Initialize OEM special code
EBh Initialize PIC and DMA
ECh Initialize Memory type
EDh Initialize Memory size
EEh Shadow Boot Block
EFh System memory test
F0h Initialize interrupt vectors
F1h Initialize Run Time Clock
F2h Initialize video
F3h Initialize System Management Manager
F4h Output one beep
F5h Clear Huge Segment
F6h Boot to Mini DOS
F7h Boot to Full DOS

Paleo Pete
08-09-2005, 08:56 AM
I think what BIST is referring to in this case is the CPU testing itself prior to or as a segment of POST. I did a bit of Googling to find out a little about BIST, and it seems it's becoming very common with electronics and IC manufacturing to build testing routines into the chip or device so that it can use its own circuits to test various functions and parameters instead of using expensive equipment designed for testing.

If your question is related to Intel, that would imply the CPU is involved, so I would think the CPU would test itself immediately and before POST, since it should know its own functionality before POST can happen, being one of the rimary required components. Without the CPU you have no reason for POST, no possibility it can happen, so I would be inclined to say BIST would be before POST.

For other devices, it seems the BIST might be performed at other times and possibly user-initiated. I found a reference in Intel's Support section referring to a Net Structure 6000 (http://support.intel.com/support/express/switches/6000/sb/CS-012238.htm) switch, with both a Power up Self Test and BIST listed. Again it doesn't say whether both run when the device is initialized, or if the LED indicating BIST is for an automatic power up test or a user initiated one.

In general what I'm seeing is devices and chips with BIST built in are becoming very common. That may be what the red and green LEDs are we see on motherboards. I know quite a few have a green LED that lights and stays on when plugged in, that may be the indicator telling you BIST has passed and the board is ready. In that case BIST would definitely be before POST, I don't think you can plug a machine in and turn it on fast enough to get both running simultaneously, or BIST after POST...The green LED is usually on long before you punch the power button.

Network cards have had something similar for a long time, one green LED that indicates it's up and running and another that indictes network traffic. If the card is not working, the LED does not come on. Different scenario, but possibly BIST is the same thing we've been seeing for quite some time applied to other devices.

Another point, since BIST is used by a variety of devices, it may also be entirely independent of POST, such as with the switch noted above. Intel makes motherboards and CPUs a well as several other components, so I suppose the question "When does BIST run" would depend on the device in use...With the switch, probably at the time power is turned on, and possibly when required by the user. I can't think of anything at the moment, but I've seen electronic devices with diagnostics functions that could be the same thing referred to here, run at power up and available any time if the user sees a possible problem.