![](/images/new-backgrounds/1184656/184656119x1.webp)
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 25 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. |
|
|
E9 or EA | Determine information about root directory of recovery media. |
|
|
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. |
|
|
52 | Chapter 4 |