blob: f173bfb29639003366a92d45c50d205ad631fc27 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
Reference: https://wiki.osdev.org/UEFI
UEFI VS LEGACY BIOS
Both motherboards come with BIOS ROMs, which contains firmware that performs the initial power-on configuration of the
system before loading some third-party code into memory and jumping to it.
Differences:
- where they find that code
- how to prepare system before jumping to it
- what convenience functions they provide for the code to call while running
PLATFORM INITIALIZATION
BIOS: performs all the usual platform initialization (memory controller configuration, PCI bus configuration and BAR mapping,
graphics card initialization, etc...) but then drops into a backwards-compatible real mode environment.
Bootloader must enable A20 gate, configure a GDT and an IDT, switch to protected mode, and for x86-64 CPUs,
configure paging and switch to long mode.
UEFI firmware: performs those same steps but also prepares a protected mode environment with flat segmentation and for x86-64 CPUs,
a long mode environment with identity-mapped paging. The A20 gate is enabled as well.
|