Chinaunix首页 | 论坛 | 博客
  • 博客访问: 38893
  • 博文数量: 5
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 55
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-12 11:29
个人简介

专注

文章分类

全部博文(5)

文章存档

2018年(1)

2017年(1)

2015年(3)

我的朋友

分类: LINUX

2015-08-10 17:18:30

模式一
DXE的boot service阶段,DXE driver和SMM之间有消息机制可通信,目地是为了让SMM能代理runtime services和boot services。
比如:在SMM中实现一个UEFI 变量services。这样做的原因是,要是在MMI中产生一个错误日志,需要写数据到FLASH的UEFI 变量区,这个错误可能会跟OS同步,问题是,如果OS此时正在写一个来自内存错误状态的UEFI变量。为了避免SMM和UEFI runtime两个代理同时写flash,SetVariable()这个UEFI接口调用可以帮助处理EFI_SMM_COMMUNICATION_PROTOCOL.Communicate() 接口。然后,SMM可以串行处理错误日志写入flash的请求及OS的SetVariable()请求。

模式二
交互式机制。这种机制可以在OS现存的环境中使用,不需要代理。
阅读(5142) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~