summaryrefslogtreecommitdiffstats
path: root/documentation/UEFI general/UEFI Overview
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.