概述
内存初始化
Intel 平台的内存初始化主要是对内存控制器的初始化,主要是由MRC CODE 完成,MRC CODE 首先detect 插在内存插槽上的内存的各种参数,这个动作时通过读取内存SPD来完成的,内存SPD参数包含了内存的各种参数值包括大小型号,类型,还有timing值等等,MRC code 读出这些之后填入内存控制器,从而实现内存控制器和内存之间的最佳timing值。
内存的初始化分3种情况
1 cold boot, warm boot, and S3 resume
未完...........
SB PEI 的初始化
IchHpet.Base = ICH_HPET_BASE_ADDRESS;
IchHpet.Enable = 1;
LpcIfEnable
南桥的初始化中一下几个地址是需要填的
RcbaBaseAddr;
GpioBaseAddr;
PmBaseAddr;
Port80Route
Clear all GPIO Status
Enable the upper 128-byte bank of RTC RAM
Set Coprocessor Error Enable(CEN)
Disable the Watchdog timer expiration from causing a system reset
Halt the TCO timer
Force to set the boot dest from SPI BIOS
Set ICH Interrupt Routing
Program the GPIO routing
Disable all Pm Function
PeiConfigureAzalia
AtaInit
Check SATA Class code
Enable SIDE Controller
IchMemoryCallbakInit
Build Memory Mapped IO Resource which is used to build E820 Table in LegacyBios
AhciInit
BuildResourceDescriptorHob
0. Switch Sata controller to AHCI mode
1. Disable PCI Command access
3. Enable PCS
4. Enable PCI Command memory access
5 Port x Hot Plug
6 AHCI_BAR Set 0
Below is DXE SB Init~~~~~~~~~~~~~
.....................
最后
以上就是安静板栗为你收集整理的BIOS 初始化零星记录的全部内容,希望文章能够帮你解决BIOS 初始化零星记录所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复