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

UEFI S3 flow chart

[复制链接]
发表于 2008-5-10 13:05:43 | 显示全部楼层 |阅读模式
一:平台初始化的多个阶段:
, l+ T5 v" I! t
(1) Pre-EFI Initialization (PEI)+ Q; E# x: f0 q+ H
PEI 负责尽可能的初始化平台为执行DXE 做准备," q% u/ |0 z: Z9 Z. w
(2) Driver Execution Environment (DXE)& k. a2 U/ Y1 E8 K/ ?- R6 P
在DXE 阶段可能会改变PEI 初始化的环境,有些参数会被DXE 重写。
4 C) w) Z1 t8 {3 ~. S

3 |. f' `4 @+ x二:平台初始化的流程:
: f; j* z( Y9 a$ M4 |
(1) I/O 操作' s0 T. |7 K5 r% T0 s
(2) 内存操作5 L: l, t2 F& C, q- g2 n
(3) 配置PCI 配置空间6 \# ?4 l3 Z6 F- G! _; I
(4) 通过PPIs 收集平台的动作。

) q' j* p& t; P1 o
# d/ S: h# u. R' ~' w- U3 K# L三:恢复平台状态:) D( _' m, M: x6 q
S3 返回是加载平台的Preboot 配置,加载的过程需要通过所有的Framework 初始化,因为
# J/ m! B  ?( l5 z  C" D& t: Y0 mFramework 不知道以下信息
" X) u0 Q) i- P# [* PEIMs 提供的Preboot 配置
6 U8 R1 K5 }4 ^0 o  D7 P2 a! [0 b 不同厂商提供的驱动最后Framework 还是需要像正常启动一下执行一次,执行流程/ h5 G! Q8 W% u  t9 j+ D
如下:8 ]* ?) s+ U+ f6 r! e  H
1.GIF & |1 f, t) S/ b3 L

7 v4 Q9 M1 P  o$ H' H( Q. i, T
: L0 i) ]" B# r" @四:S3 恢复阶段的执行流程:
% ]/ M" g" h& o( D3 T# [
SEC 是第一个被Framework 执行的,因此SEC 保存了S3 返回时的启动路径! f' K* @2 a# T8 y' y
1:PEI 和S3 返回的路径:
9 G" k/ D2 [* W8 JS3 返回时Framework 将加载PEI 的端口配置。PEIM 可能调用相应的PEI 服务找出正
; I& n6 W3 p( L! F) P: {' E确的启动路径。PEIM 会保存配置正常的启动过程,并且利用来配置S3 的返回路4 K: J# _  l$ Y7 y
径。: a5 d* D; s% Y1 f+ Q' g; a% \
2.GIF
/ i; R4 t  D0 q3 k' R7 r- V2:在PEI 过程中保存配置数据2 R' Z5 N7 ?( \- H& f6 `  h9 W
有很多种方法来保存配置数据,如firmware volume 变量,nonvolatile storage (NVS)
+ I8 E" ?) R' ?) u1 L$ r) c3: DXE 和S3 返回启动路径
2 W1 ~" F* x8 U* P在DXE 阶段,有多种DXE 可以使平台到Preboot 阶段。让DXE 进入S3 返回启动路径
) \) |+ A$ i, W* Y1 N$ v% g  q- o使DXE 驱动存在一定风险,原因如下:
* DXE 启动有很多服务,这使它变的很庞大% K( t% q) [( u! k( C4 O
* 加载DXE 从flash 空间需要一定的时间。
如果DXE 在启动过程中能在NVS 中保存,那么DXE 需要的大量内存和复杂的* j; x8 R) @. M3 @  @# ~$ R( W4 P3 l
DXE 启动过程就不需要执行。; f1 m4 k/ V: J3 Z9 h1 v, w: q7 x
Framework 提供一个boot script 让S3 返回时获得DXE 的所有信息。这些信息是在( U( |) ~5 a9 T0 D
DXE 驱动正常启动过程中保存在平台的NVS 中形成的。在S3 启动过程中到NVS 中查
2 v; |4 f/ Y4 c. Z5 V, j. \找boot script,( m5 c4 D: I' [9 E2 Q& C& t
找到后加载这些配置。
* ACPI 要求BIOS 加载chipset 和CPU 的配置信息
  \) W9 e' m, l6 J: z* Chipset 的配置包括:memory,I/O 和PCI 的配置。这些信息是在DXE 启动过程
) V: _) t$ Z/ ?8 H* I/ Z$ `! |中保存下来的。: A; ~% O# f  x0 x) {( D
* CPU 的配置包括:SMM,Microcode updates, Processor-specific initialization,
4 x% }6 m  a" s5 uProcessor chache setting.
4: Framework Boot Script:
& Z6 o- Q( J8 B% R5 vFramework boot script 是一个script 用来描述一些常用的初始化平台操作。如I/O,$ Z, E# X9 A2 B: b# |' c
memory, PCI 和SMBus。% R/ }* c" [8 l) ], e" M
可能有多个boot script tables 在某些平台,这些table 描述了如何成功让平台进入
1 ~: R* v3 E, \9 ePreboot 状态。" {9 J" |5 ?6 v4 O- c! X
5:S3 返回PPI 和DXE IPL PPI
1 J4 `: A6 c) L+ v3 u9 E! E1 dDXE IPL PPI 是最后一个被执行的PPI 在PEI 阶段,将提供正确的启动路径给8 A" n2 ?! `% z$ s) S5 o0 N% N  C
Framework。因此,DXE IPL PPI 将初始化CPU 和Preboot 平台,最后跳到OS 的
9 Q+ d8 |* _7 f/ K' n5 e呼醒向量处。在正常启动时DXE 是不会执行他的。, Z+ o) C. V/ f& i# L' P- k/ R
在S3 返回时,DXE IPL PPI 将会定位S3 Resume PPI.如果被找到,DXE IPL PPI 将会把
* w% J( o) n* h' A1 S4 ^" {' y控制权交给S3 Resume PPI. S3 Resume PPI 将会执行一此配置让平台进入Preboot1 b, E) p2 k) s0 h
state.
' Z* j& u2 \3 Z7 B, XS3 Resume PPI 必须执行Framework boot Script table 来加载平台配置。它负责找到OS
  u! s' s% x1 Wwaking vector 并且将控制权交给OS 来完成S3 返回。
% R8 l; t+ b6 I! Q0 Q在整个过程中,只有内存是S3 启动可以使用的。任何内存使用会扰乱系统的context(国
( k8 v9 D; i, s, G0 C% r入喜欢叫他为 上下文 ),使S3 失败。
4 L! K/ d+ f! S4 l* q% w" W" i' a: \S3 Resume PPI 需要知道如下情况:
8 r7 \) e6 n2 Y0 h* l& T
* 内存S3 boot Script Table 的地址或者firmware volume file 中S3 boot script table
1 u8 U( z1 e/ j/ I* N6 B$ J的地址。
+ a; F: n, l5 R, k5 G3 U+ [* RSDT 指针中ACPI 开始的地址和OS 的waking vector
6 M! b# U+ F" f! u) C4 v* 保留一段内存给S3 返回时使用。
3 P! o4 I, l, }: m# E6 e$ t8 o6 A
3.GIF
发表于 2008-5-10 14:48:27 | 显示全部楼层
图好象看不见,是我的级别不够吗??
回复

使用道具 举报

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

S3 Resume in UEFI.rar

127.25 KB, 下载次数: 1643

回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-20 09:21 , Processed in 0.719973 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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