CN104115153A - 进入安全系统环境的定向唤醒 - Google Patents

进入安全系统环境的定向唤醒 Download PDF

Info

Publication number
CN104115153A
CN104115153A CN201280070088.3A CN201280070088A CN104115153A CN 104115153 A CN104115153 A CN 104115153A CN 201280070088 A CN201280070088 A CN 201280070088A CN 104115153 A CN104115153 A CN 104115153A
Authority
CN
China
Prior art keywords
processor
response logic
logic processor
described multiple
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201280070088.3A
Other languages
English (en)
Inventor
T·E·林
W·C·泰赫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104115153A publication Critical patent/CN104115153A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Power Sources (AREA)
  • Storage Device Security (AREA)

Abstract

本文公开了用于定向唤醒进入安全系统环境的处理器、方法和系统的诸个实施例。在一个实施例中,处理器包括解码单元,控制单元,消息传递单元。解码单元用于接收安全系统环境唤醒指令。控制单元用于为将要被保持在睡眠状态的多个响应逻辑处理器中的每个响应逻辑处理器设置唤醒抑制指示符。消息传递单元用于将唤醒消息发送至多个响应逻辑处理器,其中该唤醒消息将被设置有所述唤醒抑制指示符的多个响应逻辑处理器的每个响应逻辑处理器所忽略。

Description

进入安全系统环境的定向唤醒
技术领域
本公开文本属于信息处理领域,并且更具体地,属于信息处理系统中的安全性领域。
背景技术
信息处理系统,诸如那些包括来自英特尔公司的处理器家族的处理器之类的,可支持在安全系统环境内的操作。安全系统环境可包括可信部分和不可信部分。该系统的裸平台硬件以及可信软件可被包括于可信部分中。从不可信部分至可信部分源的直接访问可被阻止,以保护该系统可能包含的任何秘密免于被发现或更改。这些秘密可包括在该信息处理系统上生成的或存储的密码、密钥以及私人的或保密的信息。
经由安全系统进入协议的执行,该系统的裸平台硬件可被包括在可信部分或域中。例如,初始化处理器可执行安全进入(“SENTER”)指令,该系统中的所有代理必须按顺序对安全进入指令进行适当响应,为了该协议能够成功。这些响应代理可被阻止在安全输入过程中执行任何程序指令或处理任何外部事务,由此,初始化处理器可:验证签名密码模块是认证的及可信的,执行该签名密码模块来配置系统以支持可信操作,(使用哈希扩展功能加密地)测量并随后初始化已测量的虚拟机监视器(“MVMM”)的执行。该MVMM可创造一个或多个虚拟机环境,在该虚拟机环境中运行不可信软件,如此,不可信软件就不具备对系统资源的直接访问。
附图描述
本发明是通过附随附图中的示例而非限制来进行说明的。
图1示出信息处理系统,其中本发明的实施例可以是现存的和/或可操作。
图2示出处理器,其中本发明的实施例可以是现存的和/或可操作。
图3示出芯片集,其中本发明的实施例可以是现存的和/或可操作。
图4示出根据本发明实施例的定向唤醒进入安全系统环境的方法。
具体实施方式
下文描述的是用于定向唤醒进入安全系统的装置,方法以及系统的实施例。在本说明说,诸如组件以及系统配置之类的许多具体细节是为了提供对本发明更彻底的理解而被阐述。然而,本领域技术人员将理解的是本发明可在没有此类具体细节的情况下予以实践。另外,一些熟知的结构,电路以及类似物并未详细示出,以避免不必要地模糊本发明。此外,本说明会使用根据一个实施例中的指令名称(例如,“SENTER”)来提及指令;其他实施例中,这些指令或相似指令可具有不同名称。
本发明的诸个实施例可被用于安全系统环境中的功耗管理。根据本发明实施例的技术可被用于在进入安全系统环境之后有选择地唤醒处理器以及其他代理,以便系统功耗可予以降低。
图1示出信息处理系统100中的本发明实施例。信息处理系统100可以是个人计算机、大型机、便携式计算机、手持式设备、机顶盒、服务器、或者其他任何计算系统。本实施例中,系统100包括裸平台硬件110,其进而包括处理器120、130以及140、系统存储器150、芯片集160、令牌170、设备180、以及非易失性存储器190。
处理器120、130以及140中的每一个处理器可代表具有一个或多个执行核的组件,其中每个执行核可基于任何各种各样不同形式的处理器,包括通用功能微处理器(诸如来自处理器家族的或来自英特尔公司其他处理器家族中的处理器),或来自另一个公司的另一种处理器,或者专用处理器或微控制器,或者可以是可重构核(例如,现场可编程门阵列)。虽然图1示出三个此类处理器,但系统100可包括任何数量的处理器,每个处理器包括以任何组合形式的任何数量的执行核以及执行线程。在某些实施例中,处理器120、130或140任何一个或所有处理器可代表在一个或多个物理处理器上运行的独立的硬件执行线程或“逻辑处理器”。
系统存储器150可以是其上存储有诸如数据和/或程序代码之类的信息的任何诸如动态随机存取存储器之类的任何介质,或者处理器120、130和140可读的任何其他形式的介质,或者此类介质的任何组合。
芯片集160可代表任何一组电路以及逻辑,该组电路和逻辑支持存储器操作、输入/输出(“I/O”)操作、配置、控制、内部或外部接口、连接、或通信功能(例如,“黏合”逻辑和总线桥)、和/或处理器120、130以及140和/或系统100的任何相似功能。芯片集160的独立元件可在一块单独芯片上,一对芯片上被组合在一起,分散在多个芯片上,和/或被部分地、全部地、多余地、或根据分布式方法被集成至一个或多个包括处理器120、130和140中任何一个的处理器。
令牌170可包括可信平台模块(“TPM”)172以及平台配置寄存器(“PCR”)174。TPM 172可以是包括微控制器的组件,用于安全地存储密钥、密码、数字证书、以及其他用于建立和维持安全性的信息。PCR 174可包括任何数量的用于存储系统配置信息的寄存器和/或其他储存位置。TPM 172和/或PCR 174被配置成仅可被特定代理和/或在特定条件下被访问。令牌170和/或TPM 172和PCR 174中的所有或任何一个均可被包括于芯片集160或系统100中的任何组件内。
设备180可代表任何数量的任何形式的I/O设备、外围设备、或其他设备,诸如键盘、鼠标、轨迹球、定位设备、监视器、打印机、媒体卡、网络接口、信息存储设备等等。设备180可体现在分立组件中,或可包括于与任何其他设备相集成的组件中。在一个实施例中,设备180可代表在多功能I/O设备、外围设备、或其他设备中的单独功能。
处理器120、130和140、系统存储器150、芯片集160、令牌170、以及设备180可彼此耦合或通信,根据诸如直接地或间接地通过一个或多个并行、连续、流水、异步、同步、有线、无线、或其他总线或点对点连接之类的任何已知的方法。系统100还可包括任何数量的附加设备、代理、组件或连接。
图2示出处理器200,其可代表图1中处理器120、130和140中的任何一个,或根据本发明实施例的任何其他处理器。
处理器200可包括高速缓存210,其可以是静态随机存取存储器,或其他任何形式的存储器,用于存储诸如从系统存储器150处复制的数据之类的信息。处理器200(或高速缓存210)还可包括高速缓存控制逻辑220,用于控制高速缓存210是否运作在正常模式还是高速缓存作为随机存取存储器(“CRAM”)模式。正常模式中,高速缓存210响应于高速缓存命中而满足存储器请求,响应于高速缓存未命中而替换高速缓存线,并响应于侦听请求而使高速缓存线无效或替换高速缓存线。CRAM模式中,高速缓存210如随机存取存储器般运作,其中在该高速缓存存储器存储范围内的请求被该高速高速缓存存储器满足,并且该高速缓存线不因响应于侦听请求而被替换或失效。
处理器200还可包括指令单元230、控制单元240、执行单元250、消息传递单元260、以及储存器270。储存器270是用于存储对本发明实施例的实施有用的任何信息或参数,并且可包括任何形式的处理器200可访问的存储器,诸如寄存器或只读或可读写存储器的阵列,或不同形式存储器的任何组合。图2中,储存器270可代表多个储存位置,其可以是在处理器200中被物理地分开的,诸如若干个通用功能处理器寄存器、若干个特定模式寄存器、以及若干个机器状态储存位置。
指令单元230可包括任何电路、逻辑、或其他硬件或结构,诸如解码器,用于接收、识别、解码、或以其他方式接收指令。控制单元240可包括任何电路、逻辑、或其他硬件或结构,诸如微代码、状态机逻辑、可编程逻辑,或任何其他形式的控制逻辑,用于生成控制信号或以其他方式响应于由指令单元230接收的指令和/或消息传递单元260接收的消息而控制处理器200。
执行单元250可包括任何电路、逻辑、或其他硬件或结构,用于执行由指令单元230接收的指令。执行单元250可基于由控制单元240生成的控制信号来运作。消息传递单元260可包括任何电路、逻辑、或其他硬件或结构,用于生成消息,该消息由处理器200发送至系统100中的其他组件或代理,并且还用于接收被系统100中的其他组件或代理发送至处理器200的消息。
在处理器200的一个实施例中,指令单元210可以是用来接收处理器200的指令(“SENTER”指令),该指令使处理器200开始过程,以在系统100中建立安全环境(“SENTER”过程)。响应于该SENTER指令,控制单元240生成控制信号,以使消息传递单元260生成“SENTER”总线消息(或系统中其他形式的消息,该系统中处理器和其他代理通过除总线以外的方式进行通信),该“SENTER”总线消息被其他处理器和代理的消息传递单元认作是SENTER总线消息。执行该SENTER指令并发送该SENTER总线消息的处理器或执行线程被称为“初始化逻辑处理器”(“ILP”)。
系统中接收该SENTER总线消息的每个处理器、执行线程、或其他代理被称为“响应逻辑处理器”(“RLP”)。响应于该SENTER总线消息,每个RLP执行动作来为安全环境的建立而做准备,并且允许ILP继续启动安全环境。这些动作的其中之一可以是为了它们的消息传递单元生成“ACK”总线消息,来确认收到SENTER总线消息。另一个动作可以是在确认收到该SENTER总线消息之后进入睡眠状态。该睡眠状态可以是如下模式:其中RLP等待ILP指示SENTER过程的成功完成,并且不执行任何指令或不做出访问任何系统资源的任何尝试。
图3示出芯片集300,其可代表芯片集160,或者执行根据本发明实施例的芯片集160功能的任何其他芯片集或组件。芯片集300可包括消息传递单元310、控制单元320、“EXISTS”储存位置330、“JOINS”储存位置340,以及“ALL_JOINED”储存位置350。
消息传递单元310可包括任何电路、逻辑、或其他硬件或结构,用于生成被芯片集300发送至系统100中的其他组件或代理的消息,并用于接收由系统100中其他组件或代理所发送的消息。控制单元320可包括任何电路、逻辑或者诸如微代码、状态机逻辑、可编程逻辑之类的其他硬件或结构,或任何其他形式的控制逻辑,用于生成控制信号或以其他方式响应于被消息传递单元310接收的消息而控制芯片集200。
“EXISTS”储存位置330,“JOINS”储存位置340,以及“ALL_JOINED”储存位置350中的每一个可包括寄存器或任何其他形式的信息储存器,也可包括任何位数的储存器。在一个实施例中,控制单元320可使用EXISTS储存位置330来跟踪在系统100中运作的所有逻辑处理器以及其他代理,并且使用JOINS储存位置340来跟踪所有已经确认SENTER总线消息的逻辑处理器以及其他代理。当系统100中的如在EXISTS储存位置330中反映的所有处理器和其他代理已经确认SENTER总线消息,如在JOINS储存位置340中所反映的那样,则控制单元320可在“ALL_JOINED”储存位置350中设置指示符以向ILP指示:安全环境的初始化可继续。应注意,在SENTER过程的本说明中,如在本说明的其他部分中一样,不被要求描述的并且促使本发明实施例的许多细节已被省略,并且该过程的许多改变是可能的。例如,通过前端处理器总线(“FSB”),ILP和RLP被连接,其中FSB事务可包括每个事务的发起者的标识符,并且芯片集300可被连接至该FSB以跟踪所有FSB逻辑处理器或其他总线代理。
回到图1,非易失性储存器190可代表系统100中任何数量的分立的非易失性储存介质,诸如半导体闪存或磁性盘或光盘。非易失性储存器190可被用于存储在本发明实施例中使用的软件组件。例如,非易失性储存器190可存储验证码模块(“ACM”)192以及已测量的虚拟机监视器(“MVMM”)194。
ACM 192可在SENTER过程中被一个处理器或多个处理器执行,以执行建立安全环境中涉及的任何数量的操作。例如,ACM 192可被用于初始化、配置、并测试系统100中的组件,以使它们参与安全环境。在一个实施例中,ACM 192可被用于测试系统100的存储器配置(这由系统100中任何处理器,芯片集,或其他组件的存储器控制功能所控制),以确保对系统存储器150的特定页面或部分的访问可被限制或控制,以便使保护系统100所使用的MVMM 194和/或其他软件当被存储于系统存储器150中时可被保护。在另一个实施例中,ACM 192可被用于验证安全环境中使用的MVMM 194和其他任何软件,并且可被用于启动MVMM 194的执行。
MVMM 194可以是任何虚拟机监视器、管理程序、或其他此类的软件程序,它是在SENTER过程中被调用的可信实体,用于控制一个或多个虚拟机去执行其他软件程序(常被称为已测量的启动环境,或“MLE”),其中某些软件程序是可信的,某些是不可信的。
为了在系统100中建立安全环境,诸如操作系统(“OS”)或基本输入/输出系统(“BIOS”)之类的在系统100中的处理器120、130、140或任何其他处理器上运行的系统软件可将ACM 192以及MVMM 194从非易失性存储器190转移至系统存储器150,随后使这些处理器的其中之一(例如处理器120)执行SENTER指令。SENTER指令的执行可使处理器120作为ILP以:发出SENTER总线消息,轮询ALL_JOINED储存位置350直到所有RLP已确认该SNETER总线消息,配置高速缓存122运行于CRAM模式,并将ACM 192加载至高速缓存122。高速缓存122可被配置成运行于CRAM模式,以使得高速缓存122可作为私有安全存储器,其中处理器120可认证ACM 192。
ACM 192可包括安全初始化(“SINIT”)模块,其可被用于验证多种硬件设置,并且执行其他功能作为建立安全系统环境中的一部分。完成后,该SINIT模块可使用指令(例如,“EXITAC”指令)以退出验证码执行模式,并跳转至MVMM执行入口点。
在处理器200的一个实施例中,指令单元210还可用于接收处理器200的指令(“WAKEUP”指令),来将RLP从睡眠状态中唤醒。举例而言,该指令可被MVMM用作为SENTER过程完成的一部分。响应于该WAKEUP指令,控制单元240生成控制信号以使消息传递单元260生成“WAKEUP”总线消息(或系统中的其他消息,该系统中处理器以及其他代理通过除总线之外的方式进行通信),该总线消息被其他处理器的消息传递单元识别为WAKEUP总线消息。仅有ILP可成功执行WAKEUP指令并发送WAKEUP总线消息。
本发明实施例提供通过将唤醒消息定向至特定RLP来选择性地唤醒一个或多个RLP。本发明实施例可被用于指定唤醒消息是被定向至哪些RLP。
在一个实施例中,其中ILP是处理器家族中的处理器,SENTER和WAKEUP指令可以是更高级别指令(例如,GETSEC)的叶函数,并且存储器270可包括该处理器的EAX、EBX、ECX以及EDX寄存器。叶函数可被识别并进一步由这些或其他寄存器或储存位置中的值来定义。例如,软件可预加载具有“04h”(其中“h”指的是十六进制表示法)或“08h”的EAX寄存器,随后使用GETSEC指令来使处理器200分别执行SENTER或WAKEUP指令。
另一个由“07h”的EAX值定义的叶函数(诸如SMCTRL)可被用于提供安全执行环境控制能力,诸如非屏蔽系统管理中断。该叶函数还可被用于切换进入定向唤醒模式以及切换离开定向唤醒模式。在一个实施例中,EBX寄存器中有“01h”值的被执行的SMCTRL指令可被用于切换进入定向唤醒模式,并且EBX寄存器中有“02h”值的被执行的SMCTRL指令可被用于切换离开定向唤醒模式。
换言之,当不在定向唤醒模式中的WAKEUP指令的执行可导致所有RLP的唤醒,当在定向唤醒模式中的WAKEUP指令的执行可仅导致特定RLP的唤醒。在一个实施例中,将被唤醒的特定RLP可通过ECX和/或EDX寄存器中的值来被确定。
每个RLP可通过诸如其相应的本地高级可编程中断控制器(“APIC”)的标识值之类的唯一的标识(“ID”)值来识别。然后,ECX和EDX寄存器中的值可被用作掩码,由此,在该ID值上和掩码值上进行的逻辑AND操作的结果可指示该RLP是否将被唤醒。
例如,假设RLP可以是多处理器封装中的多核处理器的多线程核中的线程。则在一个实施例中,可使用8位ID值,其最高两位(位7:6)可被用于识别封装,并且中间五位(位5:1)可被用于识别核,并且最低位(位0)可被用于识别线程。在双封装、双核超线程启用的处理器的情况下,该ID值可被赋值如下(其中“P”指示封装号,“C”指示核号,且“T”指示线程号):
对P0C0T0,将00h(或者0000_0000b)赋值给ID值。
对P0C0T1,将01h(或者0000_0001b)赋值给ID值。
对P0C1T0,将02h(或者0000_0010b)赋值给ID值。
对P0C1T1,将03h(或者0000_0011b)赋值给ID值。
对P1C0T0,将40h(或者0100_0000b)赋值给ID值。
对P1C0T1,将41h(或者0100_0001b)赋值给ID值。
对P1C1T0,将42h(或者0100_0010b)赋值给ID值。
对P1C1T1,将43h(或者0100_0011b)赋值给ID值。
假设P0C0T0是ILP,则掩码值可被用于指定哪个线程或哪几个线程在执行WAKEUP指令后将被保持在睡眠状态。然后,如果线程的ID值上的逻辑AND操作的结果以及掩码值是零,则该线程被唤醒。
例如,如果所有RLP线程在执行WAKEUP指令后应被唤醒,则ECX以及EDX值应被设置为0h。这可被用作默认配置。或者,为了将所有RLP线程在执行WAKEUP指令后保持在睡眠状态,ECX以及EDX值应均被设为FFFF_FFFFh。或者,为了唤醒所有具有“0”封装ID和“3”核ID的线程,ECX值应被设为FFFF_FFF8h且EDX值应被设为FFFF_FFFFh。或者,为了唤醒所有具有“1”封装ID的线程,无论核或线程ID,ECX值应被设为FFFF_FF80h且EDX值应被设为FFFF_FFFFh。
在其他实施例中,ID和掩码值可以是不同大小和/或格式,并且可被用于确定哪个RLP根据任何其他方法将被唤醒。
对每个将被保持在睡眠状态的RLP来说,ILP可在芯片集160或系统100中的任何地方内设置指示符。在一个实施例中,PIC_EVENT_INHIBIT[LT_DOORBELL]控制位可被使用,其中LT-WAKEUP事件是在LT-DOORBELL类别下的诸个子事件的其中之一。如果该控制位是为特定线程而设置,那么该LT-WAKEUP事件将被RLP忽略。然后,作为安全系统环境退出过程的一部分,例如,响应于GETSEC指令的SEXIT叶函数,这些控制位将被清除,以便这些RLP可被唤醒用于EXIT事件。
在其他实施例中,不同逻辑约定可被用于任何或所有位、指示符、或者其他值。例如,指示符将被清除,而非被设为指示WAKEUP事件将被忽略,等等。
图4示出本发明的方法实施例,根据本发明实施例的定向唤醒进入安全系统环境的方法400。为了达到说明性目的,方法400的说明可涉及图1、2或3,和/或处理器家族的指令和总线消息,然而本发明的方法200以及其他方法实施例并不旨在为这些参考所限制。此外,方法400可代表对诸个分立方法的编译,这些方法的每一个均在不同位置可由不同实体或人或自动执行。
例如,方法400中执行的特定操作可由处理器200响应于由控制单元240而执行,或由芯片集300响应于由控制单元320生成的控制信号而执行。响应于指令单元230将指令解码成一个或多个微指令或微操作,和/或响应于消息传递单元260接收总线消息或其他事务,处理器200中的控制信号可以被轮流生成;并且响应于消息传递单元310接收总线消息或其他事务,芯片集300中的控制信号可被轮流生成。
在框410中,系统100对安全系统环境的进入可由例如BIOS、引导加载器、OS向ILP(例如,处理器120)发送SENTER指令来初始化。在框412中,处理器120可发送SENTER总线消息。在框414中,系统100中的每个RLP(例如,处理器130和140)可发送ACK总线消息。在框416中,所有RLP都已加入SENTER过程的指示可被设置在例如ALL_JOINED储存位置350中。
在框420中,ILP可开始执行它的ACM。在框422中,ACM的执行可初始化MVMM。
在框430中,启用定向唤醒,例如,经由执行在EBX寄存器中具有“01h”值的SMCTRL指令。在框432中,例如,基于ECX和/或EDX值中的数值而识别将被唤醒的RLP。在框434中,为每个将被保持在睡眠状态中的RLP设置唤醒抑制指示符。
在框440中,ILP接收WAKEUP指令。在框442中,ILP发送WAKEUP总线消息。在框444中,设置有唤醒抑制指示符的RLP忽略该WAKEUP消息并处于睡眠状态。在框446中,没有设置唤醒抑制指示符的RLP响应于总线消息而被唤醒。
在框450中,进行安全系统环境中应用程序和其他软件的执行。
在框460中,ILP接收SEXIT指令。在框462中,所有唤醒抑制指示符被清除。在框464中,安全系统环境被退出。
在本发明范围内,图5中所示方法可按不同顺序来执行、省略所示框、添加额外框、或以重排序、省略、或额外的框的组合方式被执行。例如,框444和446可同时发生。
因此,进入安全系统环境定向唤醒的装置,方法,以及系统已被公开。虽然特定实施例已被公开,并在随附的附图中示出,但应理解此类实施例仅是说明性的而非广大发明的限制,并且本发明并未受限于已示出和已说明的特定结构和安排,因为本领域技术人员基于对本公开文本的学习可想到各种各样的其他更改。在诸如此类的技术领域中,发展是快速的,并且进一步的提高并非是易于预见的,已公开的实施例可借助于已授权的技术改进,且不背离本公开文本的原理或随附权利要求的范围,而在安排和细节中被更改。

Claims (20)

1.一种处理器,包括:
解码单元,用于接收安全系统环境唤醒指令;
控制单元,用于为将要被保持在睡眠状态的多个响应逻辑处理器中的每个响应逻辑处理器设置唤醒抑制指示符;
消息传递单元,用于将唤醒消息发送至所述多个响应逻辑处理器,其中所述唤醒消息将被设置有所述唤醒抑制指示符的所述多个响应逻辑处理器的每个响应逻辑处理器所忽略。
2.如权利要求1所述的处理器,其中所述控制单元还用于确定所述多个响应逻辑处理器其中的哪些响应逻辑处理器将被保持在睡眠状态。
3.如权利要求2所述的处理器,其中所述解码单元还用于接收安全系统环境唤醒指令,以提供用于确定所述多个响应逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状态的信息。
4.如权利要求3所述的处理器,其中所述信息是掩码。
5.如权利要求4所述的处理器,进一步包括AND逻辑,用于在掩码以及用于每个响应逻辑处理器的标识值上执行逻辑AND操作,以确定所述多个逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状态。
6.如权利要求1所述的处理器,其中所述解码单元还用于接收安全系统环境退出指令,并且所述控制单元还用于响应于所述解码单元接收所述安全系统环境退出指令而清除所述多个响应逻辑处理器中的每一个响应逻辑处理器的唤醒抑制指示符。
7.一种方法,包括:
接收安全系统环境唤醒指令;
为将要被保持在睡眠状态的多个响应逻辑处理器中的每个响应逻辑处理器设置使唤醒抑制指示符;以及
将唤醒消息发送至所述多个响应逻辑处理器,其中所述唤醒消息将被设置有所述唤醒抑制指示符的所述多个响应逻辑处理器中的每一个响应逻辑处理器所忽略。
8.如权利要求7所述的方法,进一步包括:确定所述多个响应逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状态。
9.如权利要求8所述的方法,进一步包括:接收安全系统环境唤醒指令,以提供用于确定所述多个响应逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状态的信息。
10.如权利要求9所述的方法,其中所述信息是掩码。
11.如权利要求10所述的方法,进一步包括:在掩码以及用于每个响应逻辑处理器的标识值上执行逻辑AND操作,以确定所述多个逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状态。
12.如权利要求7所述的方法,进一步包括:接收安全系统环境退出指令。
13.如权利要求12所述的方法,进一步包括:响应于接收所述安全系统环境退出指令,清除所述多个响应逻辑处理器中的每一个响应逻辑处理器的唤醒抑制指示符。
14.如权利要求7所述的方法,进一步包括:设置有对应的唤醒抑制指示符的所述多个响应逻辑处理器中的每一个响应逻辑处理器忽略所述唤醒消息。
15.如权利要求14所述的方法,进一步包括:响应于所述唤醒消息,对应的唤醒抑制指示符被清除的每一个响应逻辑处理器被唤醒。
16.一种系统,包括:
多个响应逻辑处理器;
初始化逻辑处理器包括:
解码单元,用于接收安全系统环境唤醒指令,
控制单元,用于确定多个响应逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状态,以及
消息传递单元,用于将唤醒消息发送至所述多个响应逻辑处理器;以及
多个唤醒抑制指示符,所述多个响应逻辑处理器中的每一个响应逻辑处理器有一个唤醒抑制指示符。
其中设置有对应的唤醒抑制指示符的所述多个响应逻辑处理器中的每一个响应逻辑处理器忽略所述唤醒消息。
17.如权利要求16所述的系统,其中所述解码单元还用于接收安全系统环境唤醒指令,以提供用于确定所述多个响应逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状态的信息。
18.如权利要求17所述的系统,其中所述信息是掩码。
19.如权利要求18所述的系统,进一步包括AND逻辑,用于在掩码以及用于每个响应逻辑处理器的标识值上执行逻辑AND操作,以确定所述多个逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状态。
20.如权利要求16所述的系统,其中所述解码单元还用于接收安全系统环境退出指令,并且所述控制单元还用于响应于所述解码单元接收所述安全系统环境退出指令而清除所述多个响应逻辑处理器中的每一个响应逻辑处理器的唤醒抑制指示符。
CN201280070088.3A 2012-02-20 2012-02-20 进入安全系统环境的定向唤醒 Pending CN104115153A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/MY2012/000028 WO2013125937A1 (en) 2012-02-20 2012-02-20 Directed wakeup into a secured system environment

Publications (1)

Publication Number Publication Date
CN104115153A true CN104115153A (zh) 2014-10-22

Family

ID=49006027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280070088.3A Pending CN104115153A (zh) 2012-02-20 2012-02-20 进入安全系统环境的定向唤醒

Country Status (4)

Country Link
US (1) US10013041B2 (zh)
EP (1) EP2817755B1 (zh)
CN (1) CN104115153A (zh)
WO (1) WO2013125937A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107430424A (zh) * 2015-03-27 2017-12-01 英特尔公司 针对改进的混合睡眠功率管理的技术
CN114047948A (zh) * 2021-11-08 2022-02-15 可信计算科技(无锡)有限公司 可重构的可信密码模块模拟器、实现方法及模拟重构方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2817755B1 (en) 2012-02-20 2021-03-24 Intel Corporation Directed wakeup into a secured system environment
CA3074201A1 (en) 2017-08-29 2019-03-07 Saudi Arabian Oil Company Enhanced high temperature crosslinked fracturing fluids
US11326092B2 (en) 2020-08-24 2022-05-10 Saudi Arabian Oil Company High temperature cross-linked fracturing fluids with reduced friction

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878264A (en) * 1997-07-17 1999-03-02 Sun Microsystems, Inc. Power sequence controller with wakeup logic for enabling a wakeup interrupt handler procedure
CN1662869A (zh) * 2002-06-26 2005-08-31 英特尔公司 休眠保护
US20060224878A1 (en) * 2005-03-31 2006-10-05 Intel Corporation System and method for trusted early boot flow

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055594A1 (en) * 2003-09-05 2005-03-10 Doering Andreas C. Method and device for synchronizing a processor and a coprocessor
US7457960B2 (en) * 2004-11-30 2008-11-25 Analog Devices, Inc. Programmable processor supporting secure mode
US8973094B2 (en) * 2006-05-26 2015-03-03 Intel Corporation Execution of a secured environment initialization instruction on a point-to-point interconnect system
JP2008090436A (ja) 2006-09-29 2008-04-17 Toshiba Corp 情報処理装置およびシステム状態制御方法。
US7822960B2 (en) * 2006-12-22 2010-10-26 Intel Corporation Platform management processor assisted resume
US8255725B2 (en) * 2009-04-28 2012-08-28 Kabushiki Kaisha Toshiba Information processing apparatus and power-saving control method
JP4823352B2 (ja) * 2009-12-24 2011-11-24 株式会社東芝 情報処理装置
US9746907B2 (en) * 2011-11-01 2017-08-29 Qualcomm Incorporated Secure wakeup for computer systems over a network
EP2817755B1 (en) 2012-02-20 2021-03-24 Intel Corporation Directed wakeup into a secured system environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878264A (en) * 1997-07-17 1999-03-02 Sun Microsystems, Inc. Power sequence controller with wakeup logic for enabling a wakeup interrupt handler procedure
CN1662869A (zh) * 2002-06-26 2005-08-31 英特尔公司 休眠保护
US20060224878A1 (en) * 2005-03-31 2006-10-05 Intel Corporation System and method for trusted early boot flow

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107430424A (zh) * 2015-03-27 2017-12-01 英特尔公司 针对改进的混合睡眠功率管理的技术
CN107430424B (zh) * 2015-03-27 2021-04-06 英特尔公司 针对改进的混合睡眠功率管理的技术
CN114047948A (zh) * 2021-11-08 2022-02-15 可信计算科技(无锡)有限公司 可重构的可信密码模块模拟器、实现方法及模拟重构方法
CN114047948B (zh) * 2021-11-08 2022-09-16 可信计算科技(无锡)有限公司 可重构的可信密码模块模拟器、实现方法及模拟重构方法

Also Published As

Publication number Publication date
US20150039919A1 (en) 2015-02-05
EP2817755A1 (en) 2014-12-31
US10013041B2 (en) 2018-07-03
EP2817755A4 (en) 2015-08-12
WO2013125937A1 (en) 2013-08-29
EP2817755B1 (en) 2021-03-24

Similar Documents

Publication Publication Date Title
US11055236B2 (en) Processors, methods, systems, and instructions to support live migration of protected containers
TWI810166B (zh) 用於異質計算之系統,方法,及設備
CN108292337B (zh) 虚拟化环境下安全堡垒区域的可信开启
TWI544418B (zh) 用以執行保全嵌入式容器之處理器擴充技術(二)
EP4033693B1 (en) Trusted computing base evidence binding for a migratable virtual machine
CN101364184B (zh) 用于进行平台虚拟化的装置和方法
KR20170031697A (ko) 이종 공유된 가상 메모리에서 온-디맨드 공유가능성 변환
CN101573687B (zh) 重新配置安全系统
US20180373878A1 (en) Secure boot for multi-core processor
CN101578589A (zh) 用户空间虚拟化系统
US10402576B2 (en) Safe physical function passthrough using virtual machine functions
US10552345B2 (en) Virtual machine memory lock-down
CN101739283A (zh) 一种计算机及虚拟系统直接访问计算机硬件的方法
WO2010057065A2 (en) Method and apparatus to provide secure application execution
CN104115153A (zh) 进入安全系统环境的定向唤醒
WO2018009294A1 (en) Protected container key management processors, methods, systems, and instructions
US10248785B2 (en) Application memory protection using a host page table switching virtual machine function
WO2013101248A1 (en) Hardware protection of virtual machine monitor runtime integrity watcher
Ruh et al. The need for deterministic virtualization in the industrial internet of things
CN102929802B (zh) 一种存储资源的保护方法及系统
US20160308903A1 (en) Platform security using processor assists
Uchiyama et al. Software Environments
Wang et al. Model Checking a Secure Hypervisor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20141022

RJ01 Rejection of invention patent application after publication