Bootblock Recovery Code Checkpoints
The Bootblock recovery code gets control when the BIOS determines that a “BIOS Recovery” needs to occur because the user has forced the update or the BIOS checksum is corrupt. Refer to “BIOS Recovery” on page 72 for more information about performing a “BIOS Recovery” .
The following table describes the type of checkpoints that may occur during the Bootblock recovery portion of the BIOS.
NOTE: Checkpoints may differ between different platforms based on system configuration. Checkpoints may change due to vendor requirements, system chipset or option ROMs from
Checkpoint | Description |
|
|
E0 | Initialize the floppy controller in the super I/O. Some interrupt vectors are |
| initialized. DMA controller is initialized. 8259 interrupt controller is initialized. |
| L1 cache is enabled. |
|
|
E9 | Set up floppy controller and data. Attempt to read from floppy. |
|
|
EA | Enable ATAPI hardware. Attempt to read from ARMD and ATAPI CDROM. |
|
|
EB | Disable ATAPI hardware. Jump back to checkpoint E9. |
|
|
EF | Read error occurred on media. Jump back to checkpoint EB. |
|
|
F0 | Search for |
|
|
F1 | Recovery file not found. |
|
|
F2 | Start reading FAT table and analyze FAT to find the clusters occupied by the recovery |
| file. |
|
|
F3 | Start reading the recovery file cluster by cluster. |
|
|
F5 | Disable L1 cache. |
|
|
FA | Check the validity of the recovery file configuration to the current configuration of the |
| flash part. |
|
|
FB | Make flash write enabled through chipset and OEM specific method. Detect proper |
| flash part. Verify that the found flash part size equals the recovery file size. |
|
|
F4 | The recovery file size does not equal the found flash part size. |
|
|
FC | Erase the flash part. |
|
|
FD | Program the flash part. |
|
|
FF | The flash has been updated successfully. Make flash write disabled. Disable ATAPI |
| hardware. Restore CPUID value back into register. Give control to F000 ROM at |
| F000:FFF0h. |
|
|
56 | Chapter 4 |