《锁定芯片组的系统管理中断SMI使能寄存器.pdf》由会员分享,可在线阅读,更多相关《锁定芯片组的系统管理中断SMI使能寄存器.pdf(18页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104054063A43申请公布日20140917CN104054063A21申请号201280067087322申请日20120131G06F13/14200601G06F13/2420060171申请人惠普发展公司,有限责任合伙企业地址美国德克萨斯州72发明人格雷戈里P齐亚尔尼克迈克尔R德拉姆马克A皮翁卡74专利代理机构北京德琦知识产权代理有限公司11018代理人郭艳芳康泉54发明名称锁定芯片组的系统管理中断SMI使能寄存器57摘要本发明所公开的示例性实施例涉及锁定芯片组的系统管理中断SMI使能寄存器。示例性实施例包括用于配置芯片组的触头的至少一个触头配置寄存器;以及芯片。
2、组的用于存储使能值或禁止值的触头SMI使能寄存器。在示例性实施例中,存储在该触头SMI使能寄存器中的该禁止值用于阻止该芯片组响应于在该触头接收的SMI信号而将SMI请求提供给处理器。示例性实施例进一步包括锁定该触头SMI使能寄存器。85PCT国际申请进入国家阶段日2014071586PCT国际申请的申请数据PCT/US2012/0232252012013187PCT国际申请的公布数据WO2013/115781EN2013080851INTCL权利要求书3页说明书10页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书10页附图4页10申请公布号CN104054063A。
3、CN104054063A1/3页21一种计算设备,包括处理器;计算资源,用于生成系统管理中断SMI信号;以及芯片组,包括第一触头,用于从所述计算资源接收所述SMI信号;至少一个触头配置寄存器,用于将所述第一触头配置为通用输入/输出GPIO来接收输入;以及与所述第一触头相关联的第一触头SMI使能寄存器,其中存储在所述第一触头SMI使能寄存器中的使能值与其他芯片组信息结合起来,使所述芯片组能够响应于所接收的SMI信号而将SMI请求提供给所述处理器;其中所述芯片组用于锁定所述第一触头SMI使能寄存器;并且其中存储在所述第一SMI使能寄存器中的禁止值用于阻止所述芯片组响应于所接收的SMI信号而将SMI。
4、请求提供给所述处理器。2如权利要求1所述的计算设备,其中所述第一触头SMI使能寄存器是一次写入寄存器;并且所述芯片组用于将所述使能值写入所述一次写入寄存器,来锁定所述第一触头SMI使能寄存器。3如权利要求1所述的计算设备,其中所述芯片组进一步包括SMI使能锁定寄存器,其中所述芯片组用于将锁定值写入所述SMI使能锁定寄存器,来锁定所述第一触头SMI使能寄存器;并且其中所述至少一个触头配置寄存器是用于共同地将所述第一触头配置为通用输入/输出GPIO来接收输入的多个触头配置寄存器。4如权利要求1所述的计算设备,其中所述芯片组包括多个触头,包括所述第一触头和至少第二触头;全局SMI使能寄存器,其中所述。
5、其他芯片组信息包括存储在所述全局SMI使能寄存器中的值;以及分别与所述多个触头相关联的多个触头SMI使能寄存器,所述多个触头SMI使能寄存器包括所述第一触头SMI使能寄存器和至少第二触头SMI使能寄存器;其中所述芯片组用于锁定所述多个触头SMI使能寄存器中的每一个。5如权利要求4所述的计算设备,其中所述芯片组进一步包括分别与所述多个触头相关联的多个触头中断路由寄存器,其中所述其他芯片组信息包括存储在与所述第一触头相关联的所述触头中断路由寄存器中的值;其中,对于所述触头中断路由寄存器中的每一个,与存储在所述触头中断路由寄存器中的SMI值不同的值用于阻止所述芯片组响应于在所述触头接收的SMI信号而。
6、将SMI请求提供给所述处理器;并且其中所述芯片组用于锁定所述触头中断路由寄存器中的每一个。6如权利要求1所述的计算设备,其中所述计算资源是输入/输出I/O控制器,所述输入/输出I/O控制器包括多个配置寄存器;权利要求书CN104054063A2/3页3访问管理器,用于接收访问信息;以及如果所接收的访问信息等同于存储在所述I/O控制器上的安全信息,则准予访问所述配置寄存器;其中所述I/O控制器用于响应于接收所述访问信息而将所述SMI信号提供给所述芯片组。7如权利要求6所述的计算设备,其中所述访问管理器包括访问寄存器,用于接收所述访问信息,其中所述I/O控制器用于响应于在所述访问寄存器接收所述访问。
7、信息而将所述SMI信号提供给所述芯片组;只写安全寄存器,用于存储所述安全信息;以及比较器,用于比较在所述访问寄存器所接收的所述访问信息与存储在所述安全寄存器中的所述安全信息。8一种非临时性机器可读存储介质,包括指令,该指令如果被执行则使计算设备的处理器设定至少一个触头配置寄存器,以将所述计算设备的芯片组的触头配置为通用输入/输出GPIO来从所述计算设备的计算资源接收SMI信号;将所述芯片组的触头系统管理中断SMI使能寄存器设定为使能值,其中存储在所述触头SMI使能寄存器中的所述使能值用于与其他芯片组信息结合起来,使所述芯片组能够响应于经所述触头接收所述SMI信号而将SMI请求提供给所述处理器;。
8、以及锁定被设定为所述使能值的所述触头SMI使能寄存器,使得所述计算设备的BIOS模块控制被存储在所述触头SMI使能寄存器中的所述使能值的改变;其中存储在所述触头SMI使能寄存器中的禁止值用于阻止所述芯片组响应于经所述触头所接收的所述SMI信号而将SMI请求提供给所述处理器。9如权利要求8所述的存储介质,进一步包含指令,该指令如果被执行则使所述处理器将与所述触头相关联的触头中断路由寄存器设定为SMI值,其中与存储在所述触头中断路由寄存器中的所述SMI值不同的值用于阻止所述芯片组响应于在所述触头接收的SMI信号而将SMI请求提供给所述处理器,其中所述其他芯片组信息包括存储在所述触头中断路由寄存器中。
9、的值;以及锁定被设定为所述SMI值的所述触头中断路由寄存器,使得所述BIOS模块控制被存储在所述触头中断路由寄存器中的所述SMI值的改变。10如权利要求9所述的存储介质,进一步包含指令,该指令如果被执行则使所述处理器将锁定值写入与所述触头SMI使能寄存器相关联的SMI使能锁定寄存器,以锁定所述触头SMI使能寄存器;以及将锁定值写入与所述中断路由控制寄存器相关联的路由锁定寄存器,以锁定所述触头中断路由寄存器。11如权利要求9所述的存储介质,进一步包含指令,该指令如果被执行则使所述处理器权利要求书CN104054063A3/3页4执行通电自检POST,执行通电自检包括设定所述触头SMI使能寄存器,。
10、锁定所述触头SMI使能寄存器,设定所述触头中断路由寄存器以及锁定所述触头中断路由寄存器;以及设定全局SMI使能寄存器,其中所述其他芯片组信息包括存储在所述全局SMI使能寄存器中的值。12如权利要求8所述的存储介质,进一步包含指令,该指令如果被执行则使所述处理器锁定所述芯片组的位于所述触头的SMI路径中的每个寄存器。13一种方法,包括设定计算设备的芯片组的至少一个触头配置寄存器,以将所述芯片组的触头配置为通用输入/输出GPIO来接收输入;将使能值写入所述芯片组的触头系统管理中断SMI使能寄存器,其中存储在所述触头SMI使能寄存器中的禁止值用于阻止所述芯片组响应于所述SMI信号而将SMI请求提供给。
11、所述处理器;将锁定值写入SMI使能锁定寄存器,以锁定所述触头SMI使能寄存器;以及至少部分地根据存储在所述触头SMI使能寄存器中的所述使能值,响应于在所述触头从所述计算设备的计算资源接收所述SMI信号而将SMI请求从所述芯片组提供给所述处理器。14如权利要求13所述的方法,包括如果所述锁定值被存储在所述SMI使能锁定寄存器中,则阻止对所述触头SMI使能寄存器进行写入的任何操作;将SMI值写入所述芯片组的触头中断路由寄存器,其中与存储在所述触头中断路由寄存器中的所述SMI值不同的值用于阻止所述芯片组响应于在所述触头接收的规定逻辑电平的信号而将SMI请求提供给所述处理器;将锁定值写入与所述触头中断。
12、路由寄存器相关联的路由锁定寄存器;以及如果所述锁定值被存储在所述路由锁定寄存器中,则阻止对所述触头中断路由寄存器的任何写操作。15如权利要求14所述的方法,进一步包括设定全局SMI使能寄存器;如果向所述SMI使能锁定寄存器写入值,则将SMI请求提供给所述处理器;以及如果向所述路由锁定寄存器写入值,则将SMI请求提供给所述处理器。权利要求书CN104054063A1/10页5锁定芯片组的系统管理中断SMI使能寄存器背景技术0001诸如台式计算机、笔记本式计算机之类的计算设备可包括许多与该计算设备的处理器通信的电子部件。在某些例子中,这些电子部件可能会在处理器上引起中断,比如系统管理中断SMI。作。
13、为响应,该处理器可进入与中断相关联的处理模式,以执行用于处理该中断的各项功能。附图说明0002下面的详细描述将参考附图来进行,其中0003图1是用于锁定芯片组的系统管理中断SMI使能寄存器的一示例性计算设备的方框图;0004图2是用于锁定芯片组的SMI使能寄存器和路由寄存器的一示例性计算设备的方框图;0005图3是用于锁定芯片组的SMI使能寄存器的另一示例性计算设备的方框图;0006图4是用于锁定芯片组的SMI使能寄存器的示例性方法的流程图;以及0007图5是用于阻止对芯片组的SMI使能寄存器进行写操作的示例性方法的流程图。具体实施方式0008如上面所指出,计算设备的各种部件可在该计算设备的处。
14、理器上引起中断。例如,诸如输入/输出I/O控制器的计算资源,可通过将SMI信号提供给与处理器通信的芯片组的指定触头而在该处理器上引起系统管理中断SMI。在这样的例子中,该芯片组响应于在该指定触头从该计算资源接收该SMI信号而将SMI请求提供给该处理器。0009在某些例子中,该芯片组可包括对应于该指定触头的SMI使能寄存器。在这样的例子中,当在该SMI使能寄存器中存储使能值时,该芯片组可响应于该SMI信号将该SMI请求提供给该处理器,当在该SMI使能寄存器中存储禁止值时则不提供。同样地,将存储在SMI使能寄存器的值从使能值改变成禁止值,就可通过阻断从计算资源到处理器的SMI通信路径来阻止计算资源。
15、能在处理器上引起SMI。0010在这样的例子中,允许阻断这种SMI通信路径可能会在其中SMI被用于计算设备安全性的计算设备中导致安全漏洞。例如,诸如超级I/O的计算资源可包括多个寄存器,多个寄存器被用来配置计算设备操作的各方面,诸如电源设置、错误代码、温度控制和/或其他系统管理设置等。在这样的例子中,这些超级I/O寄存器可受到密码保护,以限制对这些寄存器的访问。例如,该密码的知悉可被限制于基本输入/输出系统BIOS,以阻止除BIOS之外的可执行指令例如恶意软件来访问该超级I/O寄存器。0011然而,超级I/O寄存器的密码保护可能依然易受字典式攻击DICTIONARYATTACK。因此,在某些例。
16、子中,该超级I/O可响应于任何密码的输入而在处理器上引起SMI,以确保是由BIOS输入了密码。然而,在这样的例子中,通过在适当的SMI使能寄存器中存储禁止值从而阻断超级I/O与处理器之间的SMI通信路径,可以使超级I/O寄存器的这说明书CN104054063A2/10页6些保护被挫败。例如,通过阻断该SMI通信路径,恶意软件可对超级I/O执行字典式攻击,而该超级I/O却不能在处理器上引起SMI。0012为了解决这些问题,本文所描述的例子提供将芯片组的SMI使能寄存器锁定的能力。这样,本文所描述的例子就可确保从计算资源到计算设备的处理器的SMI通信路径,使得由起源于计算资源的SMI所提供的安全性。
17、不会通过改变芯片组的SMI使能寄存器中的值而容易地被挫败。0013现在参照附图,图1是用于锁定芯片组的系统管理中断SMI使能寄存器的示例性计算设备100的方框图。如本文所用,“计算设备”是台式计算机、笔记本式计算机、一体式计算机、平板触摸或平板式计算机、手持式计算机、移动式电话、智能设备例如智能电话、服务器或具有能处理中断的处理器的任何其他设备。在图1的例子中,计算设备100包括处理器110、芯片组120和计算资源150。0014如本文所用,“处理器”可以是至少一个中央处理单元CPU、至少一个基于半导体的微处理器、至少一个图形处理单元GPU、适合于读取且执行在机器可读存储介质上所存储的指令的至。
18、少一个其他硬件设备或者它们的组合。另外,如本文所用,“芯片组”可以是包括电子电路以至少提供计算设备的独立计算资源与处理器之间的通信的至少一个硬件设备。芯片组可以是例如南桥、外围控制集线器PCH等诸如此类或者它们的组合。0015在本文所描述的例子中,处理器和芯片组可配备于独立的芯片上和/或独立的封装中。在其他例子中,处理器和芯片组可作为同一封装和/或芯片的一部分而配备,且同时保持实现该处理器的硬件与实现该芯片组的硬件之间的物理分离。例如,在具有由至少一条总线连接起来的处理器和芯片组硬件的同一芯片上,实现处理器的硬件可以与实现芯片组的硬件物理地分离。在某些例子中,该处理器和该芯片组可作为系统级芯片。
19、的部件而配备。0016如本文所用,“计算资源”可以是计算设备的任何硬件设备,其包括电子电路并且与该计算设备的芯片组和处理器物理地分离。例如,计算资源可以是诸如超级I/O的I/O控制器、应用专用集成电路ASIC以及嵌入式控制器EC、风扇控制器等诸如此类或者它们的组合。在图1的例子中,计算资源150可以生成SMI信号182,以便在处理器110上引起SMI。在本文所描述的例子中,SMI信号可以是这样一种信号,它由计算设备的计算资源响应于该计算资源的确定所生成,以便在该计算设备的处理器上引起SMI,其中该信号被输出以便在该处理器上引起所要求的SMI。计算设备150可以通过向芯片组120上的触头例如触头。
20、130提供SMI信号182来引起SMI,该触头被配置为接收SMI信号182。0017在某些例子中,计算资源150可以是一超级I/O,并且当在该超级I/O输入密码以便获得对该超级I/O的寄存器的访问时,计算资源150可生成SMI信号182以便在处理器110上引起SMI。此外或可替代地,当处理器110上的SMI为该超级I/O所期望时,该超级I/O可因任何其他原因而生成SMI信号182。例如,该超级I/O可生成SMI信号182,以使计算设备100转变到睡眠状态,或者当检测到计算设备100的壳子打开时就生成SMI信号182。0018在其他例子中,计算资源150可以是计算设备100中用于生成SMI信号1。
21、82以便在处理器110上引起SMI的任何ASIC。计算资源150可以是一风扇控制器,并且当诸如风扇速度或系统温度之类的参数对于计算设备100而言超出可接受限度时,计算资源150可说明书CN104054063A3/10页7生成SMI信号182以便提供警告信号。在其他例子中,该风扇控制器可以是超级I/O的一部分,并且若该参数超出可接受限度则该超级I/O可生成SMI信号182。0019在图1的例子中,芯片组120可包括触头130。在其他例子中,芯片组120可包括额外的触头。如本文所用,“触头”可以是导电针、导电球、用于将电信号从芯片组的封装外部传输到该封装内部的电子电路的任何其他导电元件或者它们的组。
22、合。芯片组120还可包括与触头130相关联的至少一个触头配置寄存器122、与触头130相关联的触头SMI使能寄存器124以及SMI使能寄存器锁定模块126。在某些例子中,模块126的功能可以以被编码在机器可读存储介质上的可执行指令的形式、电子电路的形式或者它们的组合来实现。0020寄存器122可以共同地将触头130配置为通用输入/输出GPIO来接收输入。例如,若在每个寄存器122中存储适当的信息,则寄存器122可共同地将触头130配置为GPIO来接收输入。在这样的例子中,通过在至少一个寄存器122中存储不同的信息,寄存器122可被用来不同地配置触头130。寄存器122可包括例如用于将触头130。
23、选择性地配置为GPIO的第一寄存器,以及用于选择性地配置触头130来接收输入的第二寄存器。寄存器122可进一步包括用于具体指定触头130是在高逻辑电平下有效还是在低逻辑电平下有效的第三寄存器。在其他例子中,寄存器122可包括用于配置触头130的其他方面、用途或功能的其他寄存器或者它们的组合。在某些例子中,若寄存器122被设定为共同地将触头130配置为GPIO来接收输入例如通过存储在其中的适当信息,则触头130可接收由计算资源150所生成的SMI信号182。0021在图1的例子中,芯片组120进一步包括触头SMI使能寄存器124。在本文所描述的例子中,SMI使能寄存器可以是这样一种寄存器,它可单。
24、独地或者与芯片组上所存储的其他信息结合起来使用,以使芯片组能够响应于该芯片组所接收的至少一些SMI信号将SMI请求提供给处理器。在这样的例子中,SMI使能寄存器还可被用来阻止芯片组响应于该芯片组所接收的至少一些SMI信号将SMI请求提供给处理器。0022如本文所用,芯片组的“触头SMI使能寄存器”可以是该芯片组的与该芯片组的特定触头相关联的SMI使能寄存器。例如,触头SMI使能寄存器124与芯片组120的触头130相关联。如本文所用,与芯片组的触头“相关联”的芯片组寄存器可以是影响与该触头有关的该芯片组操作的寄存器。例如,触头SMI使能寄存器124可能会影响与在触头130接收到的信号有关的芯片。
25、组120的操作。在这样的例子中,触头SMI使能寄存器124可能会影响与在单个唯一触头即触头130接收到的信号有关的芯片组120的操作。在这样的例子中,与触头130相关联的触头SMI使能寄存器124可能不会影响涉及任何其他触头的芯片组120的操作。0023在某些例子中,可以在触头SMI使能寄存器124中存储使能值或禁止值。在本文所描述的例子中,该使能值可以是任何信息,比如数据值、位模式等等,而禁止值可以是不同于该使能值的任何信息。例如,使能值可以是“1”,而禁止值为“0”,或反之亦然。0024在图1的例子中,存储在触头SMI使能寄存器124中的使能值可以与其他芯片组信息结合起来,使芯片组120能。
26、够响应于经触头130从计算资源150接收到的SMI信号182而将SMI请求184提供给处理器100。如本文所用,“芯片组信息”可以是存储在芯片组的寄存器中的值。在图1的例子中,其他芯片组信息可包括例如与触头130相关联的芯片组120的中断路由寄存器中所存储的值和芯片组120的全局SMI使能寄存器中所存储的值。说明书CN104054063A4/10页8在其他例子中,与该使能值结合起来使用的进一步芯片组信息可以被存储在芯片组120的其他寄存器中。0025在某些例子中,存储在全局SMI使能寄存器中的值可指示是否对于芯片组120即越过全部触头全局地使能SMI,而存储在中断路由寄存器中的值可指示在触头1。
27、30接收到的信号作为SMI请求待路由至处理器110。在这样的例子中,存储在触头SMI使能寄存器中的使能值,与指示SMI被全局地使能以及在触头130接收到信号作为SMI请求待路由的信息结合起来,可使芯片组120能够响应于经触头130从计算资源150接收到的SMI信号182将SMI请求184提供给处理器100。在某些例子中,若寄存器122被设定为将触头130配置为GPIO来接收输入,且寄存器124被设定为使能值,则触头130可被配置为接收SMI信号。0026在图1的例子中,存储在SMI使能寄存器124中的禁止值可阻止芯片组响应于经触头130从计算资源150接收到的SMI信号将任何SMI请求184提。
28、供给处理器110。如本文所用,“SMI请求”可以是指令、请求、中断信号或任何其他信息,其被提供给处理器时,将对处理器指示系统管理中断SMI,在处理器上引起SMI,和/或处理器将响应于其而调用与该SMI相关联的中断处理程序。0027此外,芯片组120可锁定触头SMI使能寄存器124。芯片组120可包括SMI使能寄存器锁定模块126。在某些例子中,触头SMI使能寄存器124可以是一次写入WRITEONCE寄存器。在本文所描述的例子中,一次写入寄存器可以是这样一种寄存器,它在包含该寄存器的计算设备复位之后仅可被写入一次。若寄存器124是一次写入寄存器,则模块126可以通过在计算设备100复位之后且对。
29、寄存器124进行任何其他写入之前将一个值写入寄存器124来锁定寄存器124。例如,模块126可通过在复位之后将使能值写入寄存器124来锁定寄存器124。在这样的例子中,没有部件、指令等可在计算设备100复位之前将禁止值写入寄存器124。在其他例子中,模块126可通过在复位之后将禁止值写入寄存器124来锁定寄存器124。0028在其他例子中,模块126可包括与触头SMI使能寄存器124相关联的SMI使能锁定寄存器。在这样的例子中,若SMI使能锁定寄存器存储解锁值,则芯片组120可对寄存器124进行写入,而若SMI使能锁定寄存器存储锁定值,则不可对寄存器124进行写入。若模块126包括SMI使能锁。
30、定寄存器,则模块126可通过将锁定值写入SMI使能锁定寄存器来锁定寄存器124。0029本文所描述的例子可允许芯片组锁定该芯片组的触头SMI使能寄存器。这样,芯片组就可避免恶意软件例如机器可读指令阻断从计算资源到处理器的SMI通信路径,以阻止该计算资源在该处理器上引起SMI。如上面所指出,一些计算资源可能依赖于引起SMI以提供安全性。因此,本文所描述的例子可通过保护计算资源在处理器上引起SMI的能力来提高计算设备安全性。0030此外,如上面所指出,计算资源还可以为了其他目的而使用SMI,比如提供警告信号、使计算设备进入睡眠状态等。通过锁定触头SMI使能寄存器,本文所描述的例子可有助于确保这种警。
31、告信号不被阻塞,并有助于确保计算设备可以适当地进入睡眠状态。此外,在处理器上引起SMI而不具有准备处理该SMI的适当的中断处理程序,可能会致使包括该处理器的计算设备锁定例如冻结、停止执行等。在这样的例子中,可通过引起不恰当的SMI说明书CN104054063A5/10页9来实施拒绝服务攻击。然而,本文所描述的例子可通过锁定被设定为禁止值的触头SMI使能寄存器来阻止这种攻击,使得恶意软件例如计算机可读指令不能将使能值写入这些寄存器从而在处理器上引起不恰当的SMI。0031图2是用于锁定芯片组的SMI使能寄存器和路由寄存器的示例性计算设备200的方框图。在图2的例子中,计算设备200包括处理器10。
32、0,如以上关于图1所述的。计算设备200进一步包含芯片组220和I/O控制器250。在图2的例子中,芯片组220可包括触头130、触头配置寄存器122、触头SMI使能寄存器124以及SMI使能寄存器锁定模块126,如以上关于图1所述的。在图2的例子中,芯片组220还包括触头230。在其他例子中,芯片组200可包括额外的触头。芯片组220还可包括触头管理寄存器221,触头管理寄存器221包括与触头130相关联的寄存器122和124,如以上关于图1所述的。0032在图2的例子中,模块126包括SMI使能锁定寄存器232和锁定寄存器管理模块234。若模块126包括SMI使能锁定寄存器232,则模块2。
33、34可通过将锁定值写入SMI使能锁定寄存器232来锁定触头SMI使能寄存器124。在这样的例子中,若寄存器232存储解锁值,则芯片组220可对寄存器124进行写入,若寄存器232存储锁定值,则不能对寄存器124进行写入。在本文所描述的例子中,锁定值可以是任何信息,比如数据值、位模式等等,而解锁值可以是不同于锁定值的任何信息。例如,锁定值可以是“1”,而解锁值为“0”,或反之亦然。在某些例子中,SMI使能锁定寄存器232可以是一次写入寄存器。在这样的例子中,模块234可在计算设备200复位之后对寄存器232的任何其他写入之前将锁定值写入寄存器232,以锁定寄存器124。在这样的例子中,在锁定值被。
34、写入寄存器232以后,在计算设备200的下一次复位以前对寄存器232的任何后续写操作例如解锁或锁定值都将没有任何效果。0033在图2的例子中,芯片组220还包括全局SMI使能寄存器240。在某些例子中,该全局SMI使能寄存器与芯片组220的任何一个触头都没有关联。反而,存储在寄存器240中的全局禁止值可阻止芯片组220将任何SMI请求184提供给处理器110,不管在芯片组220的任何触头所接收的任何SMI信号如何而且不管在任何触头SMI使能寄存器中所存储的值如何。0034此外,存储在寄存器240中的全局使能值可与其他芯片组信息结合起来,使芯片组120能够响应于经芯片组220的触头从计算资源15。
35、0接收到的SMI信号182而将SMI请求184提供给处理器100。例如,若每个寄存器122、124和228存储着适当的值使芯片组200能够响应于SMI信号182来提供SMI请求,则存储在寄存器240中的全局使能值可使芯片组120能够响应于在触头130接收到的SMI信号182将SMI请求184提供给处理器100。0035在图2的例子中,触头管理寄存器221还包括与触头130相关联的触头中断路由寄存器228。在本文所描述的例子中,中断路由寄存器可以是指示一种中断请求包括非中断请求的寄存器,芯片组可响应于在芯片组接收到的中断信号将这种中断请求提供给处理器。0036如本文所用,芯片组的“触头中断路由寄。
36、存器”可以是芯片组的与芯片组的特定触头相关联的中断路由寄存器。例如,触头中断路由寄存器228与芯片组220的触头130相关联。在这样的例子中,路由寄存器228可指示一种中断请求,芯片组220可以响应于在触头130从I/O控制器250接收到的SMI信号182将这种中断请求提供给处理器110。在这说明书CN104054063A6/10页10样的例子中,与触头130相关联的路由寄存器228可不影响与任何其他触头相关的芯片组120的操作。0037在某些例子中,可以存储在寄存器228中的值可包括SMI值、“不中断”值和至少一个其他中断值。这些值可以是任何类型的信息,只要该信息对于每个上述值来说不同即可。。
37、在图2的例子中,存储在寄存器228中的SMI值可表明芯片组220可以响应于经触头130从I/O控制器250接收的SMI信号182而将SMI请求提供给处理器110。存储在寄存器124中的使能值和存储在寄存器228中的SMI值可以单独或者与其他芯片组信息结合起来,使芯片组220能够响应于经触头130从计算资源例如I/O控制器250接收到的SMI信号182而将SMI请求184提供给处理器110。在这样的例子中,芯片组220输出SMI请求184的能力还可取决于例如在芯片组220的全局SMI使能寄存器240中所存储的值。0038此外,与在触头中断路由寄存器228中所存储的SMI值不同的值,可阻止芯片组2。
38、20响应于在触头130接收到的SMI信号182将SMI请求184提供给处理器110。例如,“不中断”值或者表明与SMI不同类型的中断例如不可屏蔽的中断NMI的任何值,都可阻止芯片组220响应于在触头130接收到的SMI信号将SMI请求184提供给处理器110。0039芯片组220可进一步包括用于锁定寄存器228的路由寄存器锁定模块227。在某些例子中,寄存器228可以是一次写入寄存器,并且模块227可通过在计算设备220复位之后对寄存器228的任何其他写入之前将值写入寄存器228来锁定寄存器228。例如,模块227可通过在复位之后将SMI值写入寄存器228来锁定寄存器228。在其他例子中,模块。
39、227可通过在复位之后将另一值例如“不中断”值写入寄存器228来锁定寄存器228。在其他例子中,寄存器228可能不是一次写入寄存器。在这样的例子中,模块227可包括锁定寄存器及管理模块和锁定寄存器228,如上面关于锁定寄存器232和模块234所述的。0040在图2的例子中,芯片组220包含多个触头,至少包括触头130和230。在这样的例子中,芯片组220可包括与多个触头中的每一个相关联的相应组触头管理寄存器,如本文关于寄存器221所述的。例如,芯片组220可包括与触头130相关联的一组触头管理寄存器221和与触头230相关联的一组触头管理寄存器223。芯片组220还可包括用于额外多个触头的额外。
40、组触头管理寄存器。在这样的例子中,与多个触头之一相关联的每组触头管理寄存器例如与触头230相关联的寄存器223,可分别包括触头配置寄存器、触头SMI使能寄存器和触头中断路由寄存器,如本文关于寄存器122、124和228所述的。0041在这样的例子中,芯片组220可包括与多个触头中的每一个相关联的相应触头SMI使能寄存器,如本文关于寄存器124所述的。此外,在某些例子中,芯片组220还可包括与多个触头中的每一个相关联的相应触头中断路由寄存器,如本文关于寄存器228所述的。0042芯片组220可以以本文关于模块126所描述的任何方式来锁定多个触头SMI使能寄存器中的每一个。例如,芯片组220可包括。
41、SMI使能寄存器锁定模块226,SMI使能寄存器锁定模块226可以以本文关于模块126所描述的任何方式来锁定与触头230相关联的触头SMI使能寄存器。此外,芯片组220可以以本文关于模块227所描述的任何方式来锁定多个触头中断路由寄存器中的每一个。例如,芯片组220可包括路由寄存器锁定模块229,路由寄存器锁定模块229以本文关于模块227所描述的任何方式来锁定与触头230相关联的触头中断路由寄存器。芯片组220还可包括没有相关联的触头管理寄存器或相应的锁定说明书CN104054063A107/10页11模块的至少一个额外触头。0043在图2的例子中,I/O控制器250可包括多个配置寄存器25。
42、2和访问管理器254。配置寄存器252可包括用来配置计算设备200的各方面操作的寄存器。例如,寄存器252可以被用来控制计算设备200的设置,比如电源设置例如电压干线上的最大容许电压等、错误代码、温度设置例如最大容许温度、风扇速度等以及诸如此类。0044在某些例子中,阻止恶意软件例如可执行指令修改这些设置可能是有益的。然而,锁定这些设置以使得它们不能被更改可能是不利的。例如,允许计算设备200的受信任系统例如基本输入/输出系统BIOS在运行期间改变这些设置可能是有益的。同样地,在某些例子中,若访问管理器254接收有效访问信息,就可准予访问配置寄存器252。在这样的例子中,有效访问信息可以由受信。
43、任系统例如BIOS排他地知悉。0045在图2的例子中,访问管理器254可接收访问信息281。例如,可以从在处理器110上执行的指令比如计算设备200的BIOS的指令接收访问信息281。若接收到的访问信息等同于存储在访问管理器254中的安全信息,则访问管理器254可准予访问配置寄存器252。例如,可在访问管理器254的访问寄存器256接收访问信息281。响应于在访问管理器254的访问寄存器256接收访问信息281,I/O控制器250可将SMI信号182提供给芯片组200例如在触头130,以便在处理器110上引起SMI。在某些例子中,由访问管理器254所引起的SMI例如可被用来确保访问信息281是。
44、由计算设备200的BIOS提供给访问管理器254的。0046安全寄存器258可以是存储等同于正确或有效访问信息的安全信息的只写寄存器。比较器模块259可比较从安全寄存器258接收到的安全信息285与从访问寄存器256接收到的访问信息281。在图2的例子中,若模块259确定接收到的访问信息281等同于安全信息285,则比较器模块259可准予访问配置寄存器252。例如,模块259可清除锁定位或诸如此类。0047如上面所指出,由访问管理器254所引起的SMI例如可被用来确保访问信息281是由计算设备200的BIOS提供给访问管理器254的。例如,SMI可使处理器110调用SMI处理程序例如可执行指令。
45、。在某些例子中,SMI处理程序可清除访问寄存器256。在这样的例子中,如果BIOS提供了访问信息,那么计算设备200就可在系统管理模式SMM下运行,在这种情况下BIOS就可在SMI处理程序被调用之前完成它的寄存器更新操作。然而,如果非BIOS指令提供访问信息281,那么SMI处理程序将在非BIOS指令有机会改变配置寄存器252中的任何信息以前清除访问寄存器256,即使非BIOS指令提供正确的访问信息281。这样,计算设备200可以确保仅BIOS可访问配置寄存器并且减少对访问管理器254的字典式攻击的可能性。然而,如果非BIOS指令将禁止值写入触头SMI使能寄存器124,则利用由访问管理器254。
46、所引起的SMI而提供的安全性就可能失效,因为在这种情况下,芯片组220将不会响应于在触头130的SMI信号182将SMI请求184提供给处理器110。正因如此,本文所述的例子了锁定触头SMI使能寄存器,以保护从计算资源例如I/O控制器250到计算设备的处理器的SMI通信路径。0048在某些例子中,模块226、227、229、259以及计算设备200的任何其他模块的功能可以以被编码在机器可读存储介质上的可执行指令的方式、电子电路的方式或者它们的组合来实现。在图2的例子中,I/O控制器250可以是超级I/O。在其他例子中,计算设备200说明书CN104054063A118/10页12可包括任何其他。
47、计算资源来代替I/O控制器250。在这样的例子中,计算资源可以将SMI信号182提供给芯片组220。此外,在某些例子中,本文关于图12所述的功能和/或部件可以与本文关于图35中任何一个所述的功能和/或部件结合起来提供。0049图3是用于锁定芯片组的SMI使能寄存器的另一示例性计算设备300的方框图。在图3的例子中,计算设备300可包括如以上关于图1所述的处理器110和计算资源150。计算设备300还可以包括如以上关于图2所述的芯片组220。在某些例子中,计算设备300还可以包括BIOS模块360和包括SMI应用程序364的机器可读存储介质362。BIOS模块360可存储用于实现计算设备300的。
48、BIOS的指令。在图3的例子中,存储介质362与BIOS模块360分离。在其他例子中,BIOS模块360可包含存储介质362,并且除SMI应用程序364之外还包括用于实现计算设备300的BIOS的指令。0050在本文所述的例子中,“BIOS模块”可以是包括被编码在机器可读存储介质上的一系列指令的模块,该指令至少实现计算设备的BIOS功能。如本文所用,“机器可读存储介质”可以是包含、存储或者以别的方式编码有可执行指令的任何电子、磁性、光学或其他物理存储设备。例如,本文所述的任何机器可读存储介质可以是随机访问存储器RAM、快闪存储器、存储驱动器例如硬盘,光盘只读存储器CDROM以及诸如此类或者它们。
49、的组合中的任何一种。此外,本文所述的任何机器可读存储介质可以是非临时性的。0051在某些例子中,SMI应用程序364的各项功能可以以被编码在机器可读存储介质上的可执行指令的方式、电子电路的方式或者它们的组合来实现。在图3的例子中,SMI应用程序364的功能可以以在机器可读存储介质例如存储介质362上经过编码的可执行指令的方式来实现。在这样的例子中,处理器110可以读取、解码并执行存储在机器可读存储介质362上的SMI应用程序364的指令,以实现下面关于SMI应用程序364所描述的功能。在其他例子中,SMI应用程序364的功能可以以电子电路的方式或者电子电路与可执行指令组合的方式来实现。例如,S。
50、MI应用程序364的功能可以由计算设备300的独立于处理器的逻辑电路例如电子电路来实现。0052在图3的例子中,SMI应用程序364可设定至少一个触头配置寄存器,来将芯片组220的触头配置为用于从计算资源150接收SMI信号182的GPIO。例如,SMI应用程序364可以设定上面关于图1所描述的并且与触头130相关联的多个寄存器122,来将触头130配置为用于从计算资源150接收SMI信号182的GPIO。SMI应用程序364还可以将芯片组220的至少一个触头SMI使能寄存器设定为使能值。例如,SMI应用程序364可以将上面关于图1所描述的并且与触头130相关联的触头SMI使能寄存器124设定。