UEFI Events

本文介绍了UEFI中的Events机制,作为单线程环境下支持异步操作的关键。Events包括Wait Events、Signal Events(如Exit Boot Services、Set Virtual Address Map和Timer Events)。Timer Events又分为周期性和一次性,常用于驱动周期性轮询设备。当特定条件满足时,如Boot Services退出或时间到达,Signal Events会触发Notification函数执行。
摘要由CSDN通过智能技术生成
  一、什么是Events

Legacy post is Interrupt, EFI post is Event.

Events 是UEFI Service管理的另一个类型的对像。一个Event可以被创建,也可以被销毁:它可以处在Waiting状态,也可以处在Signaled状态。

一个UEFI Image可以对Event做以下的事情:

1). 创建一个Event                                                                    //CreateEvent()

2). 销毁一个Event                                                                    //CloseEvent()

3). 查看一个Event是否处在Signaled状态                           //CheckEvent()

4). 等待一个Event进入Signaled状态                                   //WaitForEvent()

5). 请求一个Event从Waiting状态进入到Signaled状态     //SignalEvent()

UEFI不Support Interrupt(UEFI唯一一个中断int 0,timer),除了timer中断,主机不能使用硬件中断和外部设备通信。所以,只能使用polling方式来访问设备。UEFI目前不支持多线程,是单线程环境,但是它必须提供一种异步机制来支持有限多任务,这就是引入EVENT的原因。

UEFI Driver经常使用Timer Events来允许Driver周期性的轮询Device。

 

二、UEFI Events的类型及相互之间的关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值