发明名称 安全和非安全处理模式间的切换
摘要 提供一资料处理系统包含:可在多数模式及一安全性网域或一非安全性网域之一中操作一处理器,包括:在上述安全性网域中之至少一安全性模式;在上述非安全性网域中之至少一非安全性模式;和一监控模式,其中当上述处理器正在一安全性模式下执行一程式时,上述程式存取安全性资料,其为当该处理器在一非安全性模式下操作时所不能存取的;和在该安全性模式和该非安全性模式间的转换系经由上述监控模式发生,在该监控模式下,该处理器可至少部分操作用以执行一监控程式以管理在该安全性模式和该非安全性模间的转换。
申请公布号 TWI275997 申请公布日期 2007.03.11
申请号 TW092132187 申请日期 2003.11.17
申请人 ARM股份有限公司 发明人 瓦特赛门查理士;多楠克里斯多夫班特礼;欧林路克;萧萨德尼古拉斯;贝内特李欧纳;伯契史黛芬妮艾力克塞巴斯丁;SEBASTIEN
分类号 G06F9/44(2006.01);G06F11/30(2006.01) 主分类号 G06F9/44(2006.01)
代理机构 代理人 蔡坤财 台北市中山区松江路148号11楼
主权项 1.一种用以处理资料的设备,该设备包含: 一种处理器,其系可于多数模式和多数网域中操作 ,该多数网域包含一安全性网域或一非安全性网域 ,该多数模式包含: 在该安全性网域之至少一安全性模式; 在该非安全性网域之至少一非安全性模式;和 一监控模式,其中 当该处理器在一安全性模式执行一程式时,该程式 可以存取当该处理器在非安全性模式下操作时不 能存取的安全性资料;和 藉由该监控模式进行在该安全性模式和该非安全 性模式间的转换,该处理器至少部分可于该监控模 式中操作以执行一监控程式,以管理在该安全性模 式和该非安全性模式间的转换。 2.如申请专利范围第1项所述之设备,其中上述处理 器包括一暂存器区块,以及当自上述安全性模式转 换为上述非安全性模式时,上述监控程式可操作以 清除在该安全性模式和非安全性模式间共用的该 暂存器区块之至少一部分,以使该暂存器区块所拥 有的安全性资料不可能自上述安全性模式传递到 上述非安全性模式,除非该监控程式允许。 3.如申请专利范围第1项所述之设备,其中该处理器 包括当该处理器在该非安全性模式中操作时所使 用的一非安全性暂存器区块,以及当该处理器在该 安全性模式中操作时所使用的一安全性暂存器区 块。 4.如申请专利范围第1项所述之设备,其中当在该非 安全性模式中操作时,其系藉由转换在该监控程式 中一或多数固定点中之一,而转换至该安全性模式 。 5.如申请专利范围第1项所述之设备,其中该安全性 网域提供至少一安全性权限模式以及至少一安全 性使用者模式,以及当在一安全性权限模式中操作 时,可以使用与转换至一安全性使用者模式之相同 机制转换至该监控模式。 6.如申请专利范围第5项所述之设备,其中该转换所 使用之一呼叫系由在该非安全性模式执行的一程 式所产生。 7.如申请专利范围第6项所述之设备,其中在该监控 程式中对一固定点进行该呼叫。 8.如申请专利范围第4项所述之设备,其中该转换系 由一程式在除了该监控模式于该非安全性模式和 该安全性模式之间转换之外的模式下所触发。 9.如申请专利范围第8项所述之设备,其中除了该监 控模式于该非安全性模式和该安全性模式之间转 换之外,任一程式的触发意图将会被捕捉并在该监 控模式中对一固定点触发一呼叫。 10.如申请专利范围第1项所述之设备,其中当从该 非安全性模式初始化进入该监控模式时,该处理器 储存一程式计数値,用以在该非安全性模式处理停 止处重新开始在该非安全性模式中的处理。 11.如申请专利范围第1项所述之设备,其中当从该 非安全性模式初始化进入该监控模式时,该处理器 储存一处理器状态値,用以还原该处理器至符合该 非安全性模式处理停止处之状态。 12.如申请专利范围第1项所述之设备,其中当该安 全性模式中的处理被停止以使该非安全性模式能 够进行异常处理时,藉由该监控模式使模式转换至 非安全性模式且当完成该异常处理时将控制交回 给该监控模式。 13.如申请专利范围第1项所述之设备,其中该处理 器包括一安全性状态旗标其指示是否该处理器系 在该安全性网域或该非安全性网域中操作,当该处 理器在该监控模式中操作时,该安全性状态旗标是 可写入的,以及该处理器在除了该监控模式之外的 模式中操作时,该安全性状态旗标是不可写入的。 14.如申请专利范围第1项所述之设备,其中当操作 系于至少一非安全性模式下进行时,该处理器系由 一非安全性作业系统控制。 15.如申请专利范围第1项所述之设备,其中当操作 系于至少一安全性模式下进行时,该处理器系由一 安全性作业系统控制。 16.如申请专利范围第1项所述之设备,其中该监控 程式是该安全性作业系统的一部分。 17.如申请专利范围第1项所述之设备,其中该处理 器可对一或多数的异常条件反应以触发异常处理 。 18.如申请专利范围第17项所述之设备,其中在该监 控模式中,该异常条件之至少一者是失效的。 19.如申请专利范围第2项所述之设备,其中在该监 控模式中该异常条件之至少一者系失效的,以及当 进入该监控模式,该处理器具有多数专属的暂存器 其在该暂存器区块中代替对应的一般目的暂存器, 以使该多数专属暂存器可由该监控程式所使用,而 无需覆写在该对应的一般目的暂存器中的资料。 20.如申请专利范围第17项所述之设备,其中一异常 捕捉遮罩暂存器可储存一或多数的参数,其指定当 异常发生时应该由该监控模式中执行的异常管理 器所处理之异常,以及应该由在该安全性网域和该 非安全性网域中之现有一模式执行的一异常管理 器处理之该异常。 21.如申请专利范围第17项所述之设备,其中该处理 器对可操作以触发进入该监控模式和执行该监控 程式之一安全性异常条件作出回应。 22.如申请专利范围第1项所述之设备,其中该处理 器对一监控模式进入指令作出回应,以在一预设的 位置开始执行该监控程式和进入该监控模式。 23.如申请专利范围第22项所述之设备,其中该监控 模式进入指令是一模式转换软体中断指令以及该 预设的位置是与该模式转换软体中断指令相关的 一模式转换软体中断向量。 24.如申请专利范围第23项所述之设备,其中不同模 式之转换转换软体中断向量系与该模式转换软体 中断指令相关,而与是否该处理器在一安全性模式 或一非安全性模式无关。 25.如申请专利范围第1项所述之设备,其中该至少 一安全性模式包括一或多数: 一安全性监督模式; 一安全性系统模式; 一安全性中止异常模式; 一安全性未定义异常模式; 一安全性中断模式; 一安全性快速中断模式;和 一安全性使用者模式。 26.如申请专利范围第1项所述之设备,其中该至少 一非安全性模式包括一或多数: 一非安全性监督模式; 一非安全性系统模式; 一非安全性中止异常模式; 一非安全性未定义异常模式; 一非安全性中断模式; 一非安全性快速中断模式;和 一非安全性使用者模式。 27.如申请专利范围第1项所述之设备,其中该处理 器操作于至少一权限安全性模式其在不能从该安 全性网域转换至该非安全性网域的该安全性网域 中,该权限安全性模式所具有之权限权利允许自该 权限限安全性模式转换至监控模式,无需程式执行 点之重导。 28.在请求27中宣称的设备,其中当在该监控模式中 时,该处理器可操作以改变一安全性旗标,以在该 安全性网域和该非安全性网域之间转换,该安全性 旗标之存取在该监控模式之外是不可写入的。 29.如申请专利范围第27项所述之设备,其中该处理 器对软体中断指令作出回应,以使用由与该软体中 断指令相关之一中断向量所指定之程式执行点的 一重导,执行转换至该监控模式。 30.如申请专利范围第27项所述之设备,其中该非安 全性网域包括至少一权限非安全性模式,若无程式 执行点之一重导,则不能进行自该至少一权限非安 全性模式至该监控模式之转换。 31.如申请专利范围第27项所述之设备,其中一旦重 设,该处理器进入该权限安全性模式。 32.如申请专利范围第27项所述之设备,其中在从该 安全性网域转换至该非安全性网域之前,在该监控 模式中执行的一监控程式会转换至该安全性权限 模式,以允许在该安全性权限模式为了转换至该非 安全性网域而转换回该监控模式之前,自该监控模 式中储存不可存取之设定値。 33.如申请专利范围第27项所述之设备,其中在该监 控模式中可存取的记忆体区域在该权限安全性模 式中也是可存取的。 34.一种用以处理资料的方法,该方法包含: 以一种可于多数模式和多数网域中操作的处理器 执行一程式,该多数网域包含一安全性网域或一非 安全性网域,该多数模式包含: 在该安全性网域之至少一安全性模式; 在该非安全性网域之至少一非安全性模式;和 一监控模式,其中 当该处理器在一安全性模式执行一程式时,该程式 可以存取当该处理器在非安全性模式下操作时不 能存取的安全性资料;和 藉由该监控模式而在该安全性模式和该非安全性 模式间转换,该处理器至少部分可于该监控模式中 执行一监控程式,以管理在该安全性模式和该非安 全性模式间的转换。 35.如申请专利范围第34项所述之方法,其中该处理 器包括一暂存器区块,以及当自该安全性模式转换 为该非安全性模式时,该监控程式可操作以清除在 该安全性模式和非安全性模式间共用的该暂存器 区块之至少一部分,以使该暂存器区块所拥有的安 全性资料不可能自该安全性模式传递到该非安全 性模式,除非该监控程式允许。 36.如申请专利范围第34项所述之方法,其中该处理 器包括当该处理器在该非安全性模式中操作时所 使用的一非安全性暂存器区块,以及当该处理器在 该安全性模式中操作时所使用的一安全性暂存器 区块。 37.如申请专利范围第34项所述之方法,其中当在该 非安全性模式中操作时,其系藉由转换在该监控程 式中一或多数固定点中之一而转换至该安全性模 式。 38.如申请专利范围第34项所述之方法,其中该安全 性网域提供至少一安全性权限模式以及至少一安 全性使用者模式,以及当在一安全性权限模式中操 作时,可使用与转换至一安全性使用者模式之相同 机制转换至该监控模式。 39.如申请专利范围第37项所述之方法,其中该转换 所使用之一呼叫系由在该非安全性模式执行的一 程式所产生。 40.如申请专利范围第39项所述之方法,其中该呼叫 系在该监控程式中对一固定点所进行的。 41.如申请专利范围第37项所述之方法,其中该转换 系由一程式在除了该监控模式中在该非安全性模 式和该安全性模式之间转换以外的模式下所触发 的。 42.如申请专利范围第41项所述之方法,其中任一程 式在除了该监控模式于该非安全性模式和该安全 性模式之间转换以外的模式所作的任何意图均会 被捕捉并在该监控模式中触发对一固定点的呼叫 。 43.如申请专利范围第34项所述之方法,其中当从该 非安全性模式初始化进入该监控模式时,该处理器 会储存一程式计数値,用以在该非安全性模式处理 停止处重新开始在该非安全性模式中的处理。 44.如申请专利范围第34项所述之方法,其中当从该 非安全性模式初始化进入该监控模式时,该处理器 会储存一处理器状态値,用以还原该处理器至符合 该非安全性模式处理停止处之状态。 45.如申请专利范围第34项所述之方法,其中当该安 全性模式中的处理被停止以使该非安全性模式能 够进行异常处理时,藉由该监控模式使模式转换至 非安全性模式且当完成该异常处理时将控制交回 给该监控模式。 46.如申请专利范围第34项所述之方法,其中该处理 器包括一安全性状态旗标其指示是否该处理器系 在该安全性网域或该非安全性网域中操作,当该处 理器在该监控模式中操作时,该安全性状态旗标是 可写入的,以及该处理器在除了该监控模式之外操 作时,该安全性状态旗标是不可写入的。 47.如申请专利范围第34项所述之方法,其中当该至 少一非安全性模式操作时,一非安全性作业系统控 制该处理器。 48.如申请专利范围第34项所述之方法,其中当该至 少一安全性模式操作时,一安全性作业系统控制该 处理器。 49.如申请专利范围第48项所述之方法,其中该监控 程式是该安全性作业系统的一部分。 50.如申请专利范围第34项所述之方法,其中该处理 器对一或多数的异常条件为触发异常处理作出回 应。 51.如申请专利范围第50项所述之方法,其中在该监 控模式中,该异常条件之至少一者是失效的。 52.如申请专利范围第35项所述之方法,其中在该监 控模式中该异常条件之至少一者系失效的,以及当 进入该监控模式,该处理器具有多数专属的暂存器 ,其在该暂存器区块中代替对应的一般目的暂存器 ,以使该多数专属暂存器可由该监控程式所使用, 而无需覆写在该对应的一般目的暂存器中的资料 。 53.如申请专利范围第50项所述之方法,其中一异常 捕捉遮罩暂存器可储存一或多数的参数,其指定当 异常发生时应该由该监控模式中执行的异常管理 器所处理之异常,以及应该由在该安全性网域和该 非安全性网域中之现有一模式执行的一异常管理 器处理之异常。 54.如申请专利范围第50项所述之方法,其中该处理 器会对可操作以触发进入该监控模式和执行该监 控程式的一安全性异常条件作出回应。 55.如申请专利范围第34项所述之方法,其中该处理 器对一监控模式进入指令作出回应,以在一预设的 位置开始执行该监控程式和进入该监控模式。 56.如申请专利范围第55项所述之方法,其中该监控 模式进入指令是一模式转换软体中断指令以及该 预设的位置是与该模式转换软体中断指令相关的 一模式转换软体中断向量。 57.如申请专利范围第56项所述之方法,其中不同模 式之转换转换软体中断向量系与该模式转换软体 中断指令相关,而与是否该处理器在一安全性模式 或一非安全性模式无关。 58.如申请专利范围第34项所述之方法,其中该至少 一安全性模式包括一或多数: 一安全性监督模式; 一安全性系统模式; 一安全性中止异常模式; 一安全性未定义异常模式; 一安全性中断模式; 一安全性快速中断模式;和 一安全性使用者模式。 59.如申请专利范围第34项所述之方法,其中该至少 一非安全性模式包括一或多数: 一非安全性监督模式; 一非安全性系统模式; 一非安全性中止异常模式; 一非安全性未定义异常模式; 一非安全性中断模式; 一非安全性快速中断模式;和 一非安全性使用者模式。 60.如申请专利范围第34项所述之方法,其中该处理 器操作于至少一权限安全性模式其在不能从该安 全性网域转换至该非安全性网域的该安全性网域 中,该权限安全性模式所具有之权限权利允许自该 权限限安全性模式转换至监控模式,无需程式执行 点之重导。 61.如申请专利范围第60项所述之方法,其中当在该 监控模式中时,该处理器可操作以改变一安全性旗 标,以在该安全性网域和该非安全性网域之间转换 ,该安全性旗标之存取在该监控模式之外是不可写 入的。 62.如申请专利范围第60项所述之方法,其中该处理 器对软体中断指令作出回应,以使用由与该软体中 断指令相关之一中断向量所指定之程式执行点的 一重导,执行转换至该监控模式。 63.如申请专利范围第60项所述之方法,其中该非安 全性网域包括至少一权限非安全性模式,若无程式 执行点之一重导,则不能进行自该至少一权限非安 全性模式至该监控模式之转换。 64.如申请专利范围第60项所述之方法,其中一旦重 设,该处理器进入该权限安全性模式。 65.如申请专利范围第60项所述之方法,其中在从该 安全性网域转换至该非安全性网域之前,在该监控 模式中执行的一监控程式,会在该安全性权限模式 为了转换至该非安全性网域而转换回该监控模式 之前,转换至该安全性权限模式,以允许自该监控 模式中储存不可存取之设定値。 66.如申请专利范围第60项所述之方法,其中在该监 控模式中可存取的记忆体区域在该权限安全性模 式中也是可存取的。 67.一种具有一电脑程式之电脑程式产品,其系可操 作以依据申请专利范围第34项所述之方法控制一 资料处理设备。 图式简单说明: 第1图系一方块图,依据本发明之较佳实施例图示 一资料处理设备; 第2图图示在一非安全性网域和一安全性网域操作 之不同程式; 第3图图示相关于不同安全模式之处理模式之一矩 阵; 第4和5图图示在处理模式和安全网或间不同的关 系; 第6图图示一程式设计师的模组,与处理模式相关 之一处理器的暂存器区块; 第7图图示一示例,为一安全性网域和一非安全性 网域提供个别的暂存器区块; 第8图图示多种处理模式,在安全性网域之间藉由 一个别的监控模式所进行之转换; 第9图之示图,使用一模式转换软体中断指令之安 全性网域之转换; 第10图图示一示例,系统如何处理非安全性中断请 求和安全性中断请求; 第11A和11B图依据第10图,图示一非安全性中断请求 处理之示例,和一安全性中断请求处理之示例; 第12图图示一可选择性的机制,比较第10图所图示 者,用以控制非安全性中断请求信号和安全性中断 请求信号; 第13A和13B之示例性示图,依据第12图用以处理一非 安全性中断请求和一安全性中断请求; 第14图系一向量中断表之示例; 第15图图示与不同安全网域相关之多数向量中断 表; 第16图图示一异常控制暂存器; 第17图系一流程图,图示意图以一种警告安全性网 域设定之方法改变一处理状态暂存器之一指令如 何产生一各自的模式转换异常,其依序触发进入监 控式和执行监控模式; 第18图图示以多种模式操作之一处理器控制之一 执行緖,其中在监控模式中之一任务系中断的; 第19图图示以多种模式操作之一处理器控制之一 不同的执行緖; 第20图图示以多种模式操作之一处理器控制之一 进一步的执行緖,其中中断系启用于监控模式; 第21图至23图依据另一示例性实施例图示不同的处 理模式和过程,用以在安全性和非安全性网域间转 换; 第24图图示增加一安全性处理选择至一习知ARM核 心之观念; 第25图图示具有安全性和非安全性网域及重设之 一处理器; 第26图图示使用一软体伪造之中断传递处理请求 至一虚悬之作业系统; 第27图图示另一示例,使用一软体伪造之中断传递 处理请求至一虚悬之作业系统; 第28图系一流程图,图示接收到在第26和27图所产生 型态之一软体伪造中断时,所执行之处理; 第29和30图图示在一安全性作业系统之后所进行之 任务,用以追踪由一非安全性作业系统所进行之可 能的任务转换; 第31图系一流程图,图示在第29和30图之安全性作业 系统中接收到呼叫时,所执行之处理; 第32图图示可能在具有多数作业系统之一系统中 发生之中断优先权反向的问题,其中不同的中断可 以由不同的作业系统所控制; 第33图图示使用存根中断管理器以避免第32图所示 之问题;和 第34图图示不论是否它们可以被一作业系统所服 务之中断所中断,以何为依据控制不同型态和优先 权的中断 第35图图示监控模式专属的处理器设定资料如何 优先于处理器设定资料,当该处理器系在监控模式 下操作时; 第36图之一流程图依据本发明之一实施例,图示当 在安全性网域和非安全性网域间转换时,处理器设 定资料如何转换; 第37图图示在本发明之一实施例所用以控制对记 忆体的存取的记忆体管理逻辑; 第38图系一方块图,图示在本发明之一第二实施例 所用以控制对记忆体的存取的记忆体管理逻辑; 第39图系一流程图,图示在本发明之实施例所执行 之过程,在记忆体管理逻辑中用以处理专属于一虚 拟位址的一记忆体存取请求; 第40图系一流程图,图示在本发明之实施例所执行 之过程,在记忆体管理逻辑中用以处理专属于一虚 拟位址的一实体存取请求; 第41图图示本发明之较佳实施例之分割检测器如 何操作以防止存取安全性记忆体中之一实体位址, 当发出该记忆体存取请求的装置系操作于一非安 全性模式; 第42图图示在本发明之一较佳实施例中,一非安全 性分页表和一安全性分页表之使用; 第43图图示较佳实施例之主要转译参考缓冲(TLB, translation lookaside buffer)中使用之两种型式之旗标; 第44图图示本发明之一实施例中,在开机程序之后, 记忆体如何被分割; 第45图图示依据本发明之一实施例,在开机分割执 行之后,由记忆体管理单元(MMU)所映射之非安全性 记忆体; 第46图图示依据本发明之一实施例,如何警告右列 部分之记忆体,以允许一安全性应用与一非安全性 应用共用记忆体; 第47图图示依据本发明之一实施例,装置如何被连 接至资料处理设备之外部滙流排; 第48图系一方块图,图示依据本发明之第二实施例, 装置如何被连接至外部滙流排; 第49图图示使用一单一组分页表之实施例的实体 记忆体之安排; 第50A图图示一安排,其中经由一中介位址使用两 MMUs以执行虚拟至实体位址的转译; 第50B图图示一选择性安排,其中经由一中介位址使 用两MMUs以执行虚拟至实体位址的转译; 第51图仅为示例,图示对于安全性网域和非安全性 网域,在实体位址空间和中介位址空间之间的对应 ; 第52图图示经由相关于第二MMU之分页表之控制在 安全性和非安全性网域之间的记忆体区域的调换( swap); 第53图之实施例图示使用一单一MMU之实施,及其中 在主要TLB的不符者导致请求一异常以决定虚拟至 实体的位址转译; 第54图系一流程图,图示由处理器核心所执行之程 序,用以在第53图之MMU的主要TLB不符的同时,对所发 出之异常采取行动; 第55图系一方块图,图示一实施例中一资料处理设 备中所提供之元件,其中对快取提供资讯,以决定 储存在个别的快取线上的资料是安全性资料或非 安全性资料; 第56图图示如第55图所示之记忆体管理单元之结构 ; 第57图系一流程图图示第55图所示之资料处理设备 中所执行的处理,以处理一非安全性记忆体存取请 求; 第58图系一流程图图示第55图所示之资料处理设备 中所执行的处理,以处理一安全性记忆体存取请求 ; 第59图图示对于在一处理器上执行之不同模式和 应用,监控功能可能的粒度(granularity); 第60图图示初始不同的监控功能之可能的方法; 第61图图示一控制値表,用以控制可使用之不同监 控功能; 第62图图示一正缘触发正反器(positive-edge triggered Flip-Flop); 第63图图示一扫描串链单元(scan chain cell); 第64图图示在一扫描串链中之多数扫描串链单元; 第65图图示一侦错TAP控制器; 第66A图图示一具有JADI之侦错TAP控制器; 第66B图图示一具有一旁路暂存器(bypass register)之 一扫描串链单元; 第67图图示一处理器,包含一核心、扫描串链和一 侦错状态及控制(Debug Status and Control Register); 第68图图示因子(factor)控制侦错或追踪的初始化; 第69A和69B图图示侦错粒度之摘要; 第70图图示执行时之侦错粒度;及 第71A和71B图图示在安全情境中启用侦错且当其并 非个别启用之监控侦错。
地址 英国