找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 29858|回复: 5

UEFI S3 flow chart

[复制链接]
发表于 2008-5-10 13:05:43 | 显示全部楼层 |阅读模式
一:平台初始化的多个阶段:
( J9 N) m. B0 w1 `4 S3 c# r
(1) Pre-EFI Initialization (PEI)
* u  Y. N1 j! k" S# w5 `: b0 `* a5 dPEI 负责尽可能的初始化平台为执行DXE 做准备,) X* o( ~. b9 b4 F- S
(2) Driver Execution Environment (DXE)
% \: ?: {' V0 |在DXE 阶段可能会改变PEI 初始化的环境,有些参数会被DXE 重写。

. r# L. s4 l+ a: G0 Q  F+ l
: ^% P) U, ?, Q8 Z2 n1 N二:平台初始化的流程:! B9 J0 u# j( c! Q6 Q
(1) I/O 操作
9 T9 R! s+ J7 `( {7 Z/ o$ @9 h(2) 内存操作1 m7 ^. |# L0 C% ~! g9 _) r
(3) 配置PCI 配置空间: {7 X5 g0 b4 x( |3 _
(4) 通过PPIs 收集平台的动作。
$ N# M7 `( y# E# @$ j  g* y& j! Q
5 C. X# U$ R7 Y0 {- B
三:恢复平台状态:1 s; k  i8 \  g1 l0 c( e! c: T0 {
S3 返回是加载平台的Preboot 配置,加载的过程需要通过所有的Framework 初始化,因为( |  m* N; I5 V' \" e
Framework 不知道以下信息
% ^- y( m4 o+ C5 b" B* PEIMs 提供的Preboot 配置7 B1 X. `" T2 ~# U* g; N
 不同厂商提供的驱动最后Framework 还是需要像正常启动一下执行一次,执行流程& I5 R3 q% r0 s3 D5 u& ]& b0 e7 Q
如下:- s9 P8 K; ?, D: o8 V
1.GIF & ]; ]8 R7 ]2 J- f

0 R$ {4 K0 i) E" a4 w6 c0 {
( o! a4 c4 h" X! K四:S3 恢复阶段的执行流程:% {+ X! G3 Y1 ~" f/ P7 \/ E
SEC 是第一个被Framework 执行的,因此SEC 保存了S3 返回时的启动路径
7 k( a; E( ^' \' w8 k1:PEI 和S3 返回的路径:2 z5 z5 }: j0 k1 v3 ^& T
S3 返回时Framework 将加载PEI 的端口配置。PEIM 可能调用相应的PEI 服务找出正7 H* h% u& i5 k) @# x( r
确的启动路径。PEIM 会保存配置正常的启动过程,并且利用来配置S3 的返回路
1 C0 {7 r! ]) S6 v6 V径。
# T5 L/ c2 k, s7 D 2.GIF 2 j) w* E6 S+ I( Z3 Z
2:在PEI 过程中保存配置数据
$ E3 i$ }% s: R2 h' y有很多种方法来保存配置数据,如firmware volume 变量,nonvolatile storage (NVS)
8 b3 ]3 c: L4 [3 |/ U7 h3 j5 \# s3: DXE 和S3 返回启动路径) D$ W+ I3 O! `3 T) k/ _
在DXE 阶段,有多种DXE 可以使平台到Preboot 阶段。让DXE 进入S3 返回启动路径
9 F4 u- K' G. y: p  r使DXE 驱动存在一定风险,原因如下:
* DXE 启动有很多服务,这使它变的很庞大
* h8 y0 S" D" w* 加载DXE 从flash 空间需要一定的时间。
如果DXE 在启动过程中能在NVS 中保存,那么DXE 需要的大量内存和复杂的: o4 k0 w9 r8 H( ^" b1 ~. j
DXE 启动过程就不需要执行。: o% V2 k* N$ ?- K% M6 g
Framework 提供一个boot script 让S3 返回时获得DXE 的所有信息。这些信息是在
  V, g  g+ S' WDXE 驱动正常启动过程中保存在平台的NVS 中形成的。在S3 启动过程中到NVS 中查9 G& P0 }( A3 i4 h- R- x. ~, @
找boot script,
; c' z9 \& \3 g1 |2 [, _: B6 L找到后加载这些配置。
* ACPI 要求BIOS 加载chipset 和CPU 的配置信息
0 r6 j7 g  t( g/ g  O* Chipset 的配置包括:memory,I/O 和PCI 的配置。这些信息是在DXE 启动过程
, [  F# m: @0 I8 Q2 L' C中保存下来的。
7 D/ V1 u& e7 a8 T% r5 _; R+ I* CPU 的配置包括:SMM,Microcode updates, Processor-specific initialization,: x. r& q* [/ Y6 z- h0 F
Processor chache setting.
4: Framework Boot Script:
+ A/ m0 ~& S1 o9 N. d' wFramework boot script 是一个script 用来描述一些常用的初始化平台操作。如I/O,
  Z) _# q) l1 B9 `- b: K$ k5 K/ smemory, PCI 和SMBus。3 l5 Q3 Y$ ^9 c) ?; t
可能有多个boot script tables 在某些平台,这些table 描述了如何成功让平台进入1 L) L- E) P  q3 \
Preboot 状态。3 S# T4 `" u3 c$ s  ]# S7 I7 O
5:S3 返回PPI 和DXE IPL PPI
4 E  j, d8 m7 ADXE IPL PPI 是最后一个被执行的PPI 在PEI 阶段,将提供正确的启动路径给
+ X1 Z3 a/ r/ }7 |' ~  A% K1 ^Framework。因此,DXE IPL PPI 将初始化CPU 和Preboot 平台,最后跳到OS 的, ^" @- [$ ]& e6 D4 j! L
呼醒向量处。在正常启动时DXE 是不会执行他的。: f3 P' _2 {. ^8 m+ A1 [
在S3 返回时,DXE IPL PPI 将会定位S3 Resume PPI.如果被找到,DXE IPL PPI 将会把
3 N4 V- D* T" w% p; v# F9 n2 R* [控制权交给S3 Resume PPI. S3 Resume PPI 将会执行一此配置让平台进入Preboot# s; l; p7 J9 n" K) q; u. X: T5 h
state.7 i, W! t; d) I7 _) x
S3 Resume PPI 必须执行Framework boot Script table 来加载平台配置。它负责找到OS' L" ~& W' U' D: \, K
waking vector 并且将控制权交给OS 来完成S3 返回。
! e: U: T: ~' v8 w在整个过程中,只有内存是S3 启动可以使用的。任何内存使用会扰乱系统的context(国
& ^# l# P  w; n! n9 \' _) ]入喜欢叫他为 上下文 ),使S3 失败。
2 g6 L2 ?) n6 c5 US3 Resume PPI 需要知道如下情况:
, O7 f$ J& i2 i, M  F
* 内存S3 boot Script Table 的地址或者firmware volume file 中S3 boot script table( `. s! B  P+ e& R
的地址。
& g" |$ a$ h$ S4 a! T2 C$ u  p* RSDT 指针中ACPI 开始的地址和OS 的waking vector: b& `: {6 H6 z' k0 n3 R2 h2 y
* 保留一段内存给S3 返回时使用。
3 _: I- D% P) |9 Z3 U9 ^3 Y- e
3.GIF
发表于 2008-5-10 14:48:27 | 显示全部楼层
图好象看不见,是我的级别不够吗??
回复

使用道具 举报

 楼主| 发表于 2008-5-10 23:13:21 | 显示全部楼层
看这个文档吧!好象图片在上面不能显示还是怎么了。

S3 Resume in UEFI.rar

127.25 KB, 下载次数: 1035

回复

使用道具 举报

发表于 2010-10-9 09:10:15 | 显示全部楼层
讲解的还算详细  初学者 学习了 哈
回复

使用道具 举报

发表于 2010-10-15 16:07:46 | 显示全部楼层
Good,期待下一期。
回复

使用道具 举报

发表于 2010-11-8 10:06:35 | 显示全部楼层
支持,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-12-13 12:24 , Processed in 0.060992 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表