用于在某些情况下当执行硬件表移动(hwtw)时防止对寄存器的内容进行未授权的存取的...的制作方法_3

文档序号:9308580阅读:来源:国知局
类别I的使能比特均被断言时,S2WALK控制逻辑与状态机550被禁用,并且MUX 540选择要从MUX 540输出的预测的PA。
[0050]当预测使能比特510a和/或类别I的使能比特被解除认定时,S2移动控制逻辑与状态机550被启用。当S2移动控制逻辑与状态机550被启用时,可以由S2移动控制逻辑与状态机550在主存储器120中执行其它类型的S2移动(例如,类别2和类别3)。因此,当S2移动控制逻辑与状态机550被启用时,MUX 540输出IPA-至-PA的转化结果,所述IPA-至-PA的转化结果是根据S2移动控制逻辑与状态机550输出的。
[0051]应当注意到的是,预测器500可以具有多个不同的配置。图5中示出的预测器500的配置仅是用于执行预测算法的多个合适的配置中的一个配置。本领域技术人员将理解的是,可以使用除了图5中示出的之外的多个配置来执行预测算法。
[0052]可以在执行内存虚拟化的任意类型的系统(包括例如,台式计算机、服务器和移动智能手机)中实现图2中示出的计算机系统100。图6示出并入了计算机系统100的移动智能手机600的框图。除了智能手机600必须能够执行本文描述的方法之外,智能手机600不限于任意特定类型的智能手机或具有任意特定的配置。同样地,图6中示出的智能手机600旨在是具有情境感知和用于执行本文描述的方法的处理能力的蜂窝电话的简化示例。具有本领域普通技术的人员将理解,已经省略了智能手机的操作和结构,以及由此的实现方式的细节。
[0053]根据这个说明性的实施例,智能手机600包括在系统总线612上被连接在一起的基带子系统610和射频(RF)子系统620。系统总线612通常包括将上述元件耦合在一起并启用它们的互操作性的物理的和逻辑的连接。RF子系统620可以是无线收发机。尽管为了清楚未示出细节,但是,RF子系统620通常包括具有用于为发送准备基带信息信号的调制、上变频和放大电路的发送(Tx)模块630,包括具有用于接收RF信号并将RF信号下变频到基带信息信号以恢复数据的放大、滤波和下变频电路的接收(Rx)模块640,以及包括前端模块(FEM)650,所述前端模块(FEM)650包括天线共用器电路、双工器电路或如对本领域技术人员来说是已知的能够将发送信号与接收信号分离的任意其它电路。将天线660连接至FEM650o
[0054]基带子系统610通常包括经经由系统总线612电耦合在一起的计算机系统100、模拟电路元件616和数字电路元件618。系统总线612通常包括物理连接和逻辑连接,以将上述元件耦合在一起并启用它们的互操作性。
[0055]经由连接624将输入/输出(I/O)元件621连接至基带子系统610。I/O元件621通常包括,例如,麦克风、小键盘、扬声器、定点设备、用户接口控制元件和允许用户提供输入命令并从智能手机600接收输出的任意其它设备或系统。经由连接629将存储器628连接至基带子系统610。存储器628可以是任意类型的易失性或非易失性存储器。可以将存储器628永久地安装在智能手机600中,或可以是诸如可移动存储卡的可移动存储元件。
[0056]模拟电路616和数字电路618包括信号处理、信号转变和将由I/O元件621提供的输入信号转变成要被发送的信息信号的逻辑单元。类似地,模拟电路616和数字电路618包括被用于生成包含从接收的信号恢复的信息的信息信号的信号处理元件。数字电路618可以包括,例如,数字信号处理器(DSP)、现场可编程门阵列(FPGA)或任意其它处理设备。因为基带子系统610包括模拟元件和数字元件,所以其可以被称为混合信号设备(MSD)。
[0057]智能手机600可以包括各种各样的传感器中的一个或多个传感器,例如照相机661、麦克风662、全球定位系统(GPS)传感器663、加速计665、陀螺仪667和数字罗盘668。这些传感器经由总线612与基带子系统610相通信。
[0058]使计算机系统100嵌入到智能手机600中允许多个OS和多个各自的VM运行在智能手机600上。在这个环境下,计算机系统100的系统管理程序210 (图2)在智能手机600的硬件与被VM执行的应用软件之间提供安全隔离。
[0059]根据说明性的实施例,提供了一种安全方法和装置,其检测是否执行上文关于图5描述的预测算法,以及如果是,则采取防止某些寄存器和/或缓冲器的内容被无特权的实体或未授权的实体可存取的预防措施。需要这个安全方法和装置的原因是,当预测算法被启用时,具有系统知识的人员可能会配置预测算法来使被存储在物理主存储器120 (图2)的安全部分的PA处的内容被加载到TLB中的寄存器中。以这种方式,不应当使用被存储在物理主存储器120的安全部分中的内容的人员可能间接地获得对那些PA的未授权的存取。该方法和装置防止这样的未授权的或无特权的存取。
[0060]图7是根据说明性的实施例用于当预测算法被启用时执行防止对已经被加载到TLB中的寄存器中的PA内容进行未授权的存取的安全算法的装置700的框图。该框图本质上是概念性的,并且可以单独地在硬件中、或在硬件与软件或固件的组合中实现。装置700是被配置为执行安全算法的安全逻辑单元。安全逻辑单元700通常是CPU核IlOa的一部分,并且可以是MMU IlOb和SMMU 130a、140a和150a (图2)的一部分。本发明针对安全逻辑单元700在计算机系统100中所处的位置不进行限制。
[0061]将图5中示出的预测使能位510a连接至安全逻辑单元700的与门710的输入。将特权存取位应用于与门710的另一个输入。如果尝试访问多个寄存器720中的一个寄存器的实体被给予特权来访问特定的寄存器720,则该特权访问位被断言。出于示例性的目的,假设寄存器720在TLB中。将与门710的输出应用于或门730的输入之一。将从寄存器访问表740输出的访问标识符位应用于或门730的另一个输入。如果被访问的寄存器720包含来自其在主存储器120 (图5)的安全的或享有特权的部分中的PA的内容,则该访问标识符位被断言。寄存器访问表740跟踪哪些PA在主存储器120的安全部分中,并相应地对访问标识符位断言或去断言。被用来选择寄存器720中的一个寄存器的寄存器选择地址750还被用来选择寄存器地址表740中的相应条目。因此,如果由寄存器选择地址750选择的寄存器720是享有特权的,则被输入到或门730的相应的访问标识符位被断言。
[0062]将或门730的输出应用于MUX 760的选择器接线端。将通过寄存器选择地址750寻址的寄存器720的内容应用于MUX 760的输入端的第一集合。MUX 760的输入端的第二集合均接收逻辑O。当预测算法被启用并且特权访问位被断言时,MUX 760选择通过寄存器选择地址750寻址的寄存器720的内容要从MUX 760输出并被加载到结果寄存器770中。当预测算法被禁用、或特权访问位被去断言、以及访问标识符位被去断言(指示被存取的内容是来自主存储器120的非安全部分)时,MUX 760选择由寄存器选择地址750寻址的寄存器720的内容要从MUX 760输出并被加载到结果寄存器770。当访问标识符位被断言(指示被存取的内容是来自主存储器120的安全部分)时,MUX 760选择逻辑全O要从MUX760输出并被加载到结果寄存器770中。
[0063]因此,除了在以下两种情况中的任一种情况下之外,通过寄存器选择地址750寻址的寄存器720的真实内容将从MUX 760输出并被加载到结果寄存器770中:(I)预测算法被启用,并且特权访问位被断言;或(2)访问标识符位被断言。在这两种情况中的任一种情况下,将逻辑全O加载到结果寄存器770中,以防止寄存器720的真实内容在寄存器770中可存取。
[0064]图8是描述由上文关于图7描述的安全逻辑单元700执行的判定过程的流程图。在框801处进行关于预测算法是否被启用的确定。如果未被启用,则如框802指示的,返回寄存器720的真实内容。如果被启用,则在框803处进行关于尝试存取内容的实体是否是享有特权的确定。如果享有特权,则在框802处返回寄存器720的真实内容。如果不享有特权,则在框804处进行关于寄存器720是否公开享有特权的数据的确定。如果不公开,则在框802处返回寄存器720的真实内容。如果公开,则如由框805指示的,返回逻辑O。
[0065]能够从对安全逻辑单元700的描述看出,如果无特权的实体(例如,除了系统管理程序之外的实体)尝试使用图5中示出的预测器500来获得对被存储在主存储器120的未授权的PA中的内容的存取,则将利用O来盖写真实内容,以防止未授权的实体或无特权的实体存取真实内容。在本发明的范围内,可以对图7中示出的安全逻辑700和对图8中示出的过程进行多种修改。例如,关于图8,能够通过消除框803、留下框801、802、804和805来修改该过程。替代地,能够消除框804,留下框801、802、803和805。如将被本领域技术人员理解的,能够容易地修改图7中示出的安全逻辑单元700,以实现修改的过程。
[0066]应当注意到的是,当已经检测到未授权的存取尝试时,还可以实现除了或除了上文关于图5、7和8描述的那些之外的安全功能。利用逻辑O来盖写寄存器的内容仅是提供安全的一种方式的示例。替代的示例包括利用逻辑I或隐藏真实内容的某个其它二进制值来盖写该内容,利用相等长度的某个其它二进制值来异或该内容,返回错误消息而不是真实内容,发出中断,重置处理器110a、MMU 110或SMMU 130a、140a或150a等。鉴于本文提供的讨论,本领域技术人员将理解在其中可以实现对本文描述的说明性实施例的这些和其它合适的替代的方式。
[0067]可以单独地在硬件中、或在硬件与软件的组合中、或在硬件与固件的组合中实现上文关于图3和8描述的过程。同样地,可以单独地在硬件中、或在硬件与软件或固件的组合中实现图2中示出的计算机系统100的组件中的多个组件。例如,可以单独地在硬件中、或在硬件与软件或固件的组合中实现系统管理程序210。在软件或固件中实现图3和8中示出的过
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1