用于处理定制事件的技术的制作方法_3

文档序号:9872429阅读:来源:国知局
件使能ACPI设备258检测到事件本 身时所生成的相同的中断。但是,在该情况下,中断是基于接收到定义事件消息而不是基于 由事件使能ACPI设备258所检测到的事件而生成的。
[0045]计算系统200可以包括操作系统220,后者具有中断应对器222以接收并处理由定 义事件应对组件262所生成的中断。在各个实施例中,操作系统220和中断应对器222可以分 别与操作系统120和中断应对器122相同。定义事件应对组件262可以生成系统中断,并调用 中断应对器222所应对的操作系统220的方法或函数。系统中断可以是对将计算系统200从 较低功率状态唤醒的方法或函数的调用,或者可以是对将计算系统200置于较低功率状态 的方法或函数的调用。
[0046]中断应对器222可以接收调用并处理该调用,以使得系统事件发生。例如,中断应 对器222可以接收对将计算系统200从较低功率状态唤醒的函数的调用,并且中断应对器 222可以处理所述调用,从而计算系统200退出较低功率状态。在另一例子中,中断应对器 222可以接收对将计算系统200置于较低功率状态的函数的调用,并且中断应对器222可以 处理所述调用,从而计算系统200被置于较低功率状态。
[0047]图3示出了用于定制事件处理的过程流程图300。在决策框302处,一个或多个设备 可以基于检测到事件或通过一个或多个接口接收到的信息确定是否已经发生了定制事件。 如前所讨论,计算系统或平台处理设备(例如,系统100和200)可以包括任意数量的设备来 检测定制事件。例如,系统100和200可以包括温度传感器,其可以确定或检测计算系统的温 度何时高于或低于预定阈值,这表明计算系统是过热还是以正常温度运行。在另一例子中, 系统100和200可以包括运动传感器(例如,加速计),以检测计算系统的运动。在第三例子 中,系统100和200可以包括网络接口,其可以经由一个或多个连接从远程或耦合的设备接 收指令或定制事件。
[0048] 在框304处,如果检测到定制事件,则设备可以生成中断并且将所述中断发送到耦 合或相关联的设备驱动器,以通知"已经发生定制事件并且在计算系统上期望特定行为或 动作"。每个设备均具有特定的设备驱动器,该设备驱动器可操作以将指令发送给耦合的设 备并从设备接收中断。如前所讨论,每个设备驱动器可以包括中断应对组件,以接收并处理 来自耦合的或连接的设备的中断。
[0049] 在框306处,中断应对组件可以基于并响应于从相关联的设备接收到中断而生成 通用事件消息。在一些实施例中,当从设备接收到的中断表明期望的行为是唤醒计算系统 时,中断应对组件可以生成通用事件消息,该通用事件消息具有将计算系统从较低功率状 态唤醒的信息。当从设备接收到的中断表明期望的行为是将计算系统置于较低功率状态 时,中断应对组件可以生成通用事件消息以将计算系统置于较低功率状态。中断应对组件 可以基于从设备接收到的中断和中断所表明的期望行为而生成其它类型的通用事件消息。
[0050] 在各个实施例中,在框308处,中断处理单元可以将通用事件消息发送给被附接在 计算系统的基本输入/输出系统(BIOS)中的高级配置与电源接口(ACPI)设备。如前所讨论, 用于检测或接收定制事件的每个设备可以附接到虚拟ACPI设备或与其耦合,以与所述虚拟 ACPI设备和BIOS的其它组件以及计算系统的硬件组件传达消息。
[0051] 在各个实施例中,ACPI设备可以包括具有通用事件应对组件的ACPI设备驱动器。 通用事件应对组件可以从设备的设备驱动器接收通用事件消息。在框310处,通用事件应对 组件可以处理通用事件消息,并基于所述通用事件消息生成定义事件消息。例如,通用事件 应对组件可以基于在通用事件消息中的信息生成这样的定义事件消息:该定义事件消息具 有将计算系统从较低功率状态唤醒的信息。在另一例子中,当通用事件消息表明期望的行 为是将计算系统置于较低功率状态时,通用事件应对组件可以生成这样的定义事件消息: 该定义事件消息具有将计算系统置于较低功率状态的信息。
[0052]在框312处,通用事件应对组件可以将定义事件消息发送给另一 ACPI设备,该另一 ACPI设备能够或可操作以引起期望的行为或系统事件在计算系统上发生。ACPI设备可以是 可以使用或配置为在计算系统上引起期望的行为的事件使能ACPI设备。例如,事件使能 ACPI设备可以是电源按钮设备,其可操作以检测对按钮的按压或按下,并生成指令或中断 以将计算系统从较低功率状态唤醒或者将计算系统置于较低功率状态。
[0053]事件使能ACPI设备可以包括事件使能ACPI设备驱动器和定义事件应对组件。定义 事件应对组件可以从通用事件应对组件接收定义事件消息,并且可以处理定义事件消息。 具体地,在框314处,定义事件应对组件可以基于定义事件消息生成系统中断。例如,若定义 事件消息表明期望的行为是将计算系统从较低功率状态唤醒,定义事件应对组件可以生成 系统中断以将计算系统从较低功率状态唤醒。在第二例子中,若定义事件消息表明期望的 行为是将计算系统置于较低功率状态,则定义事件应对组件可以生成系统中断以将计算系 统置于较低功率状态。
[0054]在框316处,定义事件应对组件可以将系统中断发送给计算系统的操作系统的中 断应对器。在各个实施例中,定义事件应对组件可以经由对在操作系统中的方法或函数的 调用来将系统中断发送或传达。在框318处,中断应对器可以处理系统中断。更具体地,中断 应对器可以基于系统中断以及由所定义的事件应对组件所调用的方法来激活期望的行为。 例如,若系统中断表明期望的行为是唤醒计算系统,中断应对器可以引起或开始让计算系 统退出较低功率状态或从较低功率状态中被唤醒。在另一例子中,若系统中断表明计算系 统将要被置于睡眠,中断应对器可以将计算系统置于较低功率状态。在一些实施例中,系统 中断可以通过由系统中断所调用的方法表明计算系统将要被置于较低功率状态或者从较 低功率状态被唤醒。在各个实施例中,中断应对器可以处理系统中断,并且操作系统可以执 行期望的行为或引起期望的行为发生。计算系统接下来可以等待将待要发生的定制事件包 括在内的另一事件,以便处理。
[0055]图4示出了逻辑流程400的实施例。逻辑流程400可以表示本文所描述的一个或多 个实施例所执行的一些或全部操作。例如,逻辑流程400可以示出系统100和200所执行的操 作。
[0056] 在图4所示出的图示实施例中,逻辑流程400可以包括:在框405处,从非运行以 (not operative to)在平台处理设备上直接引起事件的设备接收在平台处理设备上引起 事件的中断。更具体地,中断应对组件可以接收来自设备的中断。设备可以基于检测到或接 收到的定制事件来生成中断,如前所述,并且发送或调用所述中断应对组件的方法。中断应 对组件可以是与生成中断的设备相关联的设备驱动器的一部分。
[0057] 在框410处,逻辑流程400可以包括,基于中断并响应于接收到所述中断而生成具 有信息的通用事件消息。基于所生成的中断以及定制事件,中断应对组件生成具有信息的 通用事件消息以引起系统事件,例如将计算系统从较低功率状态唤醒或者将计算系统置于 较低功率状态。
[0058]中断应对组件可以将通用事件消息发送给用于与设备相关联或附接到设备的高 级配置与电源接口(ACPI)设备的ACPI设备驱动器的通用事件应对组件。在一些实施例中, 中断应对组件可以发送通用事件消息,作为对通用事件应对组件的方法或函数的调用。 [0059]逻辑流程400可以包括:在框415处,基于在通用事件消息中的信息,生成具有信息 的定义事件消息。具体地,通用事件应对组件可以生成定义事件消息,以基于接收到的通用 事件消息或中断应对组件所调用的方法而在计算设备上引起系统事件。定义事件消息可以 包括信息以引起系统事件,例如从较低功率状态唤醒计算系统或者将计算系统置于较低功 率状态。定义事件消息可以被发送到事件使能ACPI设备驱动器的定义事件应对组件。如前 所讨论,事件使能ACPI设备和事件使能ACPI设备驱动器运行以在计算系统上引起系统事 件。
[0060] 在框420处,逻辑流程400可以包括,基于在定义事件消息中的信息,将平台处理设 备的操作系统中断,以在平台处理设备上引起事件。例如,定义事件消息可以包括表明基于 定制事件期望唤醒事件的信息,并且定义事件应对组件可以生成中断以将计算系统从较低 功率状态唤醒。在另一例子中,定义事件消息可以基于定制事件包括表明期望睡眠事件的 信息,并且定义事件应对组件可以生成中断以将计算系统置于较低功率状态。
[0061] 图5示出了用于通过计算系统(例如图1的计算系统100和图2的计算系统200)处理 定制事件的第一信号图500。第一信号图500示出了设备505、设备驱动器510、ACPI设备驱动 器554、事件使能ACPI设备驱动器560以及中断应对器522。这些组件可以类似于或等同于在 图1和图2中发现的类似命名的组件。
[0062] 在各个实施例中,在线570处,设备505可以接收或检测定制事件。定制事件可以是 由传感器、设备或接口(例如,运动检测传感器、加速计、温度传感器、网络接口设备、触敏传 感器、麦克风、电池或电源检测传感器、光检测传感器等)检测或接收到的任意事件。在各个 实施例中,定制事件可以是在与设备505相耦合的计算系统已启动之前或之后定义的任意 事件。
[0063] 在线572处,设备505可以向与设备505相关联的设备驱动器510传达已经检测或接 收到定制事件的信息。在一些实施例中,设备505可以经由一个或多个信号通过与设备505 耦合的计算系统的一个或多个互连将信息传达给设备驱动器510。在一些实例中,设备505 可以通过一个或多个互连经由中断传达信息。然而,各个实施例并不局限于该种方式,并且 可以以任意方式通过任意信号技术将信息传达给设备驱动器510。
[0064]在线574处,设备驱动器510可以基于定制事件确定定制事件将要在计算系统上激 活或引起系统事件,并生成通用事件消息。在各个实施例中,设备驱动器510可以确定在计 算设备上是否将要激活系统事件(例如睡眠事件或唤醒事件)。然而,在计算系统上还可以 激活其它系统事件,并且各个实施例并不局限于此。
[0065]通用事件消息可以被生成,并且包括用于确定通过计算设备的其它组件将要在计 算系统上激活的系统事件的信息。在线576处,设备驱动器510可以将通用事件消息传达给 所耦合或附接的ACPI设备和ACPI设备驱动器554。在一些实施例中,设备驱动器510可以经 由对ACPI设备驱动器554的方法或函数进行中断调用,来传达通用事件消息。例如,当系统 事件是唤醒事件时,设
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1