支持事务认证的硬件装置接口的制作方法

文档序号:6478812阅读:160来源:国知局
专利名称:支持事务认证的硬件装置接口的制作方法
支持事务认证的硬件装置接口
背景技术
近年来,虚拟机技术的使用显著增加。该技术在主机操作系统内执行模拟真实计 算机的软件,真实计算机有时称为“物理机”。物理机的该模拟有时称为“虚拟机”。客机操 作系统能够在虚拟机上运行,以及从客机操作系统的角度来看,虚拟机与物理机没什么区 另|J。另外,虚拟机监视软件(有时称为“超级监视者(hypervisor)”)可以用作操作系统和 多个虚拟机之间的层,以允许多个操作系统并发地在多个虚拟机上运行,所有都由单个物 理机进行支持。超级监视者用作每个虚拟机与物理机之间的协调和仲裁点,以确保各机之 间所需的隔离。可能因为功能原因(例如为了避免资源争用)和因为安全性原因而需要这 种隔离。更快的机器以及更便宜的软件使得虚拟机技术对于先前可能另外忽视了这种技 术的一群用户富有吸引力且可行。但是随着虚拟机的用户数量的增加,这些用户对于其性 能可处于与它们的物理对应物相当的水平的虚拟机的需求也随之增加。满足这些性能需求 已经证明是挑战性的,很大部分上归因于虚拟机的很多低级功能使用软件来实现的事实。 对于原应由对应的物理机以硬件执行的操作,这种功能的软件实现增加了显著程度的等待 时间和开销。由超级监视者对单主机资源进行划分、分派和管理也增加了开销,所增加的开 销进一步促成虚拟机和物理机之间的性能差异。
为了克服有时与超级监视者相关联的上述等待时间和开销问题中的一些问题,已 经开发出了一些计算机系统的互连结构的基于硬件的扩展(例如对外围部件互连或PCI的 扩展),其允许在超级监视者下运行的客机操作系统在多个虚拟机之间共享的I/O装置上 执行直接的输入和输出(I/O)操作。但是,这些互连扩展缺乏当前在很多处理器上可用的 各类型的基于硬件的安全性和保护机制。这种基于硬件的处理器机制允许超级监视者确保 在处理器上执行操作的多个虚拟机之间的操作隔离,同时相较基于软件的安全性和保护机 制减少了与实施这种隔离相关联的开销。


现在将参考附图来对本发明的例示性实施例进行详细描述。在这些附图中图1示出根据至少一些说明性实施例的计算机系统的功能图,其中,该计算机系 统包括与多功能共享I/O装置交互的多个虚拟机;图2示出根据至少一些说明性实施例构造的图1的处理逻辑的详细框图;图3示出根据至少一些说明性实施例构造的图1的多功能共享I/O装置的详细框 图;以及图4示出根据至少一些说明性实施例的在多个虚拟机使用的多功能共享I/O装置 内分派和隔离装置功能的方法。符号和命名在下面的说明书和权利要求书各处使用某些术语来指代特定的系统部件。如本领 域技术人员将理解的,计算机公司可能用不同的名称来指代部件。此文档不打算区分名称不同而功能相同的部件。在下面的讨论中以及在权利要求书中,术语“包括”和“包含”以 开放的方式使用,并由此应该解释为表示“包括,但是不局限于…”。此外,术语“耦合”意图 表示间接的、直接的、光学或无线的电连接。因此,如果第一装置耦合到第二装置,则该连接 可以是通过直接电连接,通过经由其他装置和连接的间接电连接,通过光学电连接,或通过 无线电连接。另外,术语“系统”指的是两个或更多个硬件和/或软件部件的集合,以及可 以用于指代电子装置,诸如计算机、计算机的一部分、计算机组合等。进一步地,术语“软件” 包括能够在处理器上运行的任何可执行代码,而不管用于存储该软件的介质如何。因此,存 储在非易失性存储器中的并且有时称为“嵌入固件”的代码被包括在软件的定义中。
具体实施例方式图1示出了根据至少一些说明性实施例构造的系统100的功能表示,该系统100 具有能够支持多个虚拟机软件程序的共享输入/输出(I/O)装置250。多个虚拟机112、115 和118在虚拟化层120上执行并与该虚拟化层120交互,所有这些都在处理逻辑200上执 行。虚拟化层120可以是由处理逻辑200执行的基本输入输出系统(Bi OS)软件的部件, 与在操作系统上执行的超级监视者软件交互的操作系统(OS)的部件,或者集成的超级监 视者操作系统(例如图1的主机超级监视者操作系统(0S-0) 110)的部件。虚拟机112、115 和118的每一个以及主机超级监视者操作系统110包括逻辑装置驱动程序(Drvr 113、116、 119和122),所述逻辑装置驱动程序由每个对应的虚拟机和主机OS用来提供经由互连层级 结构(interconnect hierarchy) 130对共享I/O装置250的访问。客机操作系统111、114 和117(0S-1、0S-2和0S-3)每一个分别在虚拟机112、115和118上执行,并且每个经由对 应的逻辑驱动程序(113、116和119)与互连层级结构130交互。主机超级监视者操作系统 110类似地经由逻辑驱动程序122与共享I/O装置250交互。
处理逻辑200包括根复合体(root complex) 230,其将处理逻辑200耦合到互连 层级结构130 (例如扩展的外围部件互连(PCI-X)总线或者PCI express (PCIe)总线),并 用作处理逻辑200内的内部部件与互连层级结构130之间的互连接口。互连层级结构130 进一步耦合到共享1/0装置250的互连I/F 252,由此为处理逻辑200上执行的操作系统 提供与由共享1/0装置250暴露的各种功能交互的路径。每种功能表示与其他功能独立地 操作的共享1/0装置250 (下面更详细描述)的实例,每种功能包括该装置的一些或全部能 力。图1的虚线表示在每个操作系统与共享1/0装置250的对应功能(F0到Fn)之间的逻 辑路径。共享1/0装置250进一步包括应用特定(application specific)逻辑254和装 置特定(device specific)接口 256 (例如以太网接口),应用特定逻辑254耦合到互连I/ F 252,用于实现由该装置执行的功能(例如网络接口功能),该装置特定接口 256也耦合到 应用特定逻辑254。图2示出了根据至少一些说明性实施例构造的适于支持图1的系统100的处理逻 辑200的详细框图。处理逻辑200包括处理器210,其能够执行加载到存储器220上的软件 程序。存储器220经由根复合体230耦合到处理器210,以及可以使用易失性存储装置(例 如随机存取存储器或RAM)或非易失性存储装置(例如硬盘)或易失性和非易失性存储装 置的组合来实现。虚拟机112是一种软件程序,该软件程序加载到存储器220中,并在由主 机超级监视者操作系统110提供的操作环境内在处理器210上执行。虚拟机经由虚拟化层120与共享I/O装置250交互,该虚拟化层120是主机超级监视者操作系统110的部件。虽 然图2中示出了仅仅一个虚拟机,但是可以在处理逻辑200内并发执行多个虚拟机,如图1 所示。继续参考图2,主机超级监视者操作系统(OS-O) 110也驻留在存储器220内,并在 处理器210上执行,经由装置驱动程序122和虚拟化层120与共享I/O装置250交互。处 理器210耦合到根复合体230,该根复合体230用作处理器210和互连层级结构130 (例 如PCI-X总线或PCI Express总线)之间的互连接口或桥,所述互连层级结构130包括 一个或多个通信分组交换机(switch)(例如交换机135)。虚拟机112包括客机操作系统 (OS-I) 111,其经由装置驱动程序(Drvr) 113、虚拟根复合体(vRC) 222、虚拟互连层级结构 224和虚拟装置(vDev) 226与共享I/O装置250的一个或多个功能的虚拟化表示进行交互。 在图2的说明性实施例中,虚拟根复合体222、虚拟互连层级结构224和虚拟装置226每一 个均以软件实现为虚拟机112的部件。图3示出根据至少一些说明性实施例构造的共享I/O装置250的详细框图。共享 I/O装置250包括互连接口(I/F) 252,该互连接口 252将共享I/O装置250耦合到互连层 级结构130。互连I/F 252还耦合到应用特定逻辑254,该应用特定逻辑254包括处理逻辑 257和装置特定硬件258。处理逻辑257实现共享I/O装置250的至少一些功能。处理逻 辑257可以以硬件实现(例如实现为可编程逻辑阵列)、以软件实现(例如实现为嵌入式固 件或处理器上执行的微代码),或使用硬件和软件的组合来实现。处理逻辑257耦合到互连 I/F 252以及耦合到装置特定硬件258,允许处理逻辑257经由互连层级结构130将共享I/ O装置250的功能暴露给其他硬件和软件(例如暴露给在图1的处理器210上执行的虚拟 机)。 通过暴露有时称为共享I/O装置250的“功能”的内容,在多个虚拟机之中共享说 明性实施例的共享I/O装置250。每个功能表示经由互连层级结构130暴露给其他硬件和 软件的一组能力。这些能力对于每个功能可以相同或者不同。功能出现在互连层级结构 130上,就像它是具有为该功能限定的能力的独特装置。在基于PC I的系统的上下文中,例 如,每个功能具有与之相关联的PCI装置地址。虽然所描述的说明性实施例包括基于硬件 的装置功能,本领域普通技术人员将认识到,其他说明性实施例可以包括虚拟化的装置功 能(例如在PCI特殊兴趣组(PCI-SIG)输入/输出虚拟化(IOV)规范中描述的本地虚拟装 置功能),以及所有这些装置功能在本公开的范围内。在系统(例如图2的系统200)的重置之后,在总线初始化期间,对基于PCI的装 置分配地址,该过程有时称为枚举(enumeration)。在枚举期间,PCI根复合体的主控器扫 描PCI总线来确定存在什么装置,确定它们的能力是什么,以及对每个识别的装置分配地 址。在图2的说明性实施例中,处理器210扫描互连层级结构130来寻找耦合到该互连的 装置。当遇到共享I/O装置250时,作为枚举进程的一部分,在处理器210上执行的枚举软 件(未示出)执行PCI配置写入,其向该装置分配地址。在共享I/O装置250内的控制寄 存器的一个或多个控制位(未示出)可以在配置写入期间设置,从而将共享I/O装置250 置于“源锁存”模式,所述“源锁存”模式使得共享装置锁存写入源的标识符,以及在重置后 的后续配置写入,如下描述。当上述配置写入在互连重置(例如在PCI总线上的总线级别硬件重置)之后发生,并且(作为当前配置写入或先前配置写入的结果)共享I/O装置被配置处于源锁存模 式时,由共享I/O装置识别并保存该写入的源或始发者。在至少一些说明性实施例中,写入 的源或始发者包括在处理器210上执行的特权软件。这种特权软件可以包括操作系统、超 级监视者操作系统、或基本输入输出系统(BIOS)软件。在基于PCI的系统的上下文中,例 如,说明性实施例的共享I/O装置250保存PCI配置写入事务(transaction)内的识别字 段的内容,该识别字段称为请求ID(RID)字段。该RID字段包括在总线130的总线层级结 构限定的地址空间内唯一识别事务源(在此情况下为处理器210)的标识符。通过在系统 重置后将配置写入的RID保存到共享I/O装置250,该共享I/O装置能够使用后续事务的 RID字段来认证事务的源(例如总线控制器或特权软件)。一旦在处理器(例如处理器210)上执行并控制互连层级结构(例如互连层级结 构130)的特权软件使得共享I/O装置250锁存与该处理器/特权软件相关联的RID,该特 权软件然后就可以将共享I/O装置的一个或多个功能与除了它自己的RID之外的附加特定 RID相关联。该附加特定RID,一旦被如下所述地锁存,就允许将每个功能作为独特装置而 对其进行非特权访问,所述每个功能仅能够由与特权软件分配给该功能的特定RID相关联 的源或由特权软件自身(经由特权软件的锁存RID)访问。例如,如果共享I/O装置250接 收请求访问该装置的功能的事务,但是RID字段不匹配与该功能相关联的RID (或者与特权 软件相关联的RID),则该事务被当作异常状况且不予接受。可以简单地不允许并忽视该事 务(导致总线超时),或能够生成异常,将所尝试的访问标记为安全性侵害。因为特权软件是在图2的处理器210上执行的第一软件,该特权软件“拥有”系统 100的物理资源。该特权软件可以被视为将系统的物理资源分派给其他软件应用(例如分 配给图1的虚拟机)的“可信”代理。特权软件可以通过数种机制中的一种机制配置共享I/ 0装置250的每个功能并对共享I/O装置250的每个功能实施控制。在至少一个说明性实 施例中,每个功能将对于某些操作、寄存器或存储区(例如与PCI装置的功能相关联的PCI 配置空间)的访问限制到仅仅特权软件(经由锁存的RID)。在其他说明性实施例(例如图 1-3中所示的实施例)中,功能0被保留为仅能由特权软件(经由锁存的RID)访问的监控 功能。虽然特权软件仍可以访问其他非零功能(例如以修护所有功能共有的异常状况),但 是非特权软件被阻止访问功能0。功能0由此允许特权软件执行监控操作,而无需直接访问 其他功能。这些监控操作能够包括共享I/O装置250的一般控制、配置和状态,以及该装置 的非零功能的控制、配置和状态。处理器210与共享I/O装置的功能0的配对创建了有时所称的“划分”(在此情况 下为监控划分)。通过将总线的两个端点(这里是处理器210和共享I/O装置250的功能 0)配对,来创建划分。在至少一些说明性实施例中,监控划分对于多功能装置是唯一的,因 为其不仅包括功能0还包括所有其他非零功能。通过将其他端点(例如图1的虚拟机112、 115和118)与共享I/O装置250的其他非零功能配对,来创建其他非监控划分。当特权软 件将非零功能与例如分配给图1的其中一个虚拟机的RID相关联时,该非零功能在该虚拟 机内作为具有唯一(unique)的基本功能0的虚拟装置而被暴露。因此,参考图1和2,共享 I/O装置250的功能1在虚拟机112内表现为虚拟装置226的功能0,以及经由虚拟互连层 级结构224耦合到虚拟根复合体222。系统100的多个虚拟机内的虚拟根复合体的创建可 以被视为系统100的真实、物理根复合体230的共享。驱动程序113向客机操作系统111提供到虚拟装置226的接口。以这种方式,共享I/O装置250的功能1被作为真实、非共享 的装置暴露给客机操作系统111,如从虚拟机112的角度所看到的。由特权软件分配给虚拟 根复合体222的RID与共享I/O装置250的功能1的配对定义了与虚拟机112唯一相关联 的划分。如已经指出的,在处理器210上执行的特权软件向也在处理器210上执行的每个 虚拟机分配RID。在至少一些说明性实施例中,当特权软件最初将RID分配给每个装置时 (例如在先前描述的PCI枚举过程期间),该特权软件保留一定范围的RID。这些RID被 留出以供处理器210上执行的虚拟机稍后使用。可以使用数种机制中的一种机制将源自 每个虚拟机(例如图1的虚拟机112、115和118)的事务呈现在互连层级结构130上,其 中RID对应于特定虚拟机(例如图2的虚拟机112)。在至少一些说明性实施例中,处理 器210能够将处理器上执行的软件应用与特定RID相关联,以及作为在应用之间的上下文 切换的一部分,能够当在互连层级结构130 (例如PCIe总线)上传输事务时设置真实根复 合体(例如图2的根复合体230)使用的RID的值。这种处理器的示例包括来自Intel 的vPro 、Xeon :和Itaniumi 处理器族(利用Intel 虚拟化技术或IVT,以及有时称为 “Vanderpool”扩展),以及来自AdvancedMicro Devices 的基于AMD64的处理器系列(利 用 AMD-Virtualization 或 AMD-V ,有时称为 “Pacifica” 扩展)。在至少一些说明性实施例中,处理器210不具有当经过互连层级结构130传输事 务时改变真实根复合体使用的RID的能力。在至少一些这样的实施例中,在互连层级结构 130内的至少一个通信分组交换机(例如PCI Express交换机)由特权软件配置为将源自 根复合体230的事务的RID替换为另一 RID。替换后的RID根据事务的目标装置地址或目 标ID(TID)来确定。如果TID对应于如之前描述的与虚拟机相关联的装置或装置的功能, 事务的原始RID将被替换为分配给与该装置或功能相关联的虚拟机的RID。以这种方式,该 装置或装置功能将接收具有唯一识别事务的真实源(例如图2的虚拟机112)的RID的事 务。在至少一些说明性实施例中,如所述的能够进行RID替换的通信分组交换机(例如图2 的交换机135)被耦合到根复合体230,在该通信分组交换机与该根复合体之间没有其他中 间交换机。通过如图2所示将根复合体230耦合到交换机135,在处理逻辑200和互连130 之间的事务通过两个“可信”实体(也就是根复合体230和交换机135)进行交换,该两个 “可信”实体中的每一个保护事务的完整性(例如PCIe事务的RID和TID字段的有效性)。如已经指出的,每个虚拟机具有与之相关联的虚拟装置,该虚拟装置提供对互连 层级结构130的访问。每个虚拟装置表示互连层级结构端点,以及具有与之相关联的唯一 地址,并由此具有与之相关联的唯一请求标识符。继续参考图1和图2,在至少一些说明性 实施例中,当虚拟机首次在处理器210上执行时,作为它自己的虚拟总线初始化序列的一 部分,虚拟机访问共享1/0装置250的其中一个功能代码,所述功能代码先前作为虚拟机的 配置定义的一部分与特权软件分配给虚拟机的虚拟根复合体的RID相关联。将配置写入传 输给指定为虚拟机的配置的一部分的共享1/0装置250的功能代码,并且结果将该功能分 配给虚拟机。例如,当在处理器210上执行虚拟机112时,虚拟总线初始化序列导致将配置写入 事务发到共享1/0装置250的功能代码1。在此示例中,功能代码1被指定为虚拟机112的 配置的一部分。所述配置写入导致将互连层级结构130的地址空间内的地址分配给功能代码1。此地址进一步由驱动程序113映射到虚拟机112的虚拟总线的地址空间中。因为对 功能1的配置写入是自重置后的首次写入,因此由虚拟机112发起的写入事务的RID由共 享I/O装置250进行保存,由此将功能1唯一地分配给虚拟机112的虚拟根复合体的RID。 当向功能1发送后续事务时,如果事务的RID字段不匹配所保存的用于功能1的根复合体 RID (也就是该事务不源自虚拟机112),则不允许该事务并生成异常(由特权软件处理),如 之前描述的。类似地,附加的虚拟机能够与共享I/O装置250的附加功能相关联。因为每个功能 表现为独特的装置,所以每个虚拟机进行操作如同它具有自己的独特的I/O装置,所述I/O 装置具有为分配给对应虚拟机的共享I/O装置250的功能而定义的功能。因此,能够配置 为并发地使用共享I/O装置250的虚拟机的数量等于在共享I/O装置250上可用的功能的 总数量减1 (排除监控功能0)。虚拟机与共享I/O装置250的功能的每个关联都定义了划 分,其中划分号反映了功能号(例如划分3和虚拟机与共享I/O装置250的功能3的配对 相关联)。如已经指出的,在至少一些说明性实施例中,基于在重置后的首次配置写入的 RID,将功能代码与RID(并由此与虚拟机)相关联。该重置可以是一般的系统重置,或仅与 一个功能相关联的重置(有时称为“功能级别重置”或FLR)。功能的关联能够以下述两种 方式中的至少一种方式来改变1)系统重置,且所有关联被清除;或2)发出对特定功能的 功能级别重置,以及清除用于该特定功能的RID-功能关联。一旦清除了用于特定功能的关 联(例如在关闭先前与该功能相关联的虚拟机并发出该功能的功能级别重置之后),对该 功能的下一个配置写入将基于在该FLR之后接收的配置写入事务的RID字段来创建新的关 联。通过将对共享I/O装置250的给定功能的访问限制到仅仅源自具有匹配为该功能 保存的RID的RID的虚拟机的事务,每个功能保持虚拟机在虚拟机程序自身的界限外部的 资源之间的隔离,而无需超级监视者来监视并截获从一个虚拟机到分派给另一虚拟机的资 源的未授权事务。利用支持链接到软件栈(例如图1的超级监视者主机操作系统110内的 特权软件)的硬件划分的协议,而跨互连层级结构保持并实施隔离。资源(这里是共享1/ 0装置250)有效地以硬件管理其自己接收的事务,由此减少与在超级监视者软件内实施事 务隔离和安全性相关联的开销。进一步地,在资源处基于硬件的隔离和安全性的实施还用于扩展合并了该资源的 系统(例如图1的系统100)的总体能力,方式是通过即使相同系统内的其他资源不安全也 允许该系统的至少一些资源的安全操作。因为自管理资源验证所有接收的事务,所以不需 要由超级监视者或其他特权软件来截获和/或监视事务。因此,在超级监视者或其他特权 软件的保护范围之外的未授权事务(例如经过超出图1的根复合体230的边界的中间通信 分组交换机和总线层级结构段传输的事务)被不允许且不被充当总线层级结构内的端点 的自管理资源所接受。图4示出根据至少一些说明性实施例的用于在共享多功能装置内分派和隔离功 能的方法300。虚拟机将事务传输到共享装置的功能(框302),并且检查该事务以确定该 事务是否是配置写入事务(框304)。如果该事务是配置写入,并且进一步如果它是自系统 重置或功能级别重置后的首次配置写入(框306),则保存该事务的RID并将该RID与该功能相关联(框308),结束该方法(框316)。如果该事务是配置写入(框304)但其不是自 重置后的首次配置写入(框306),则该事务被不允许且被标记(框310),结束该方法(框 316)。如果由虚拟机传输的事务不是配置写入(框304),且该事务RID匹配先前为该功 能保存的RID(框312),则允许该事务(框314),结束该方法(框316)。如果由虚拟机传 输的事务不是配置写入(框304),但是该事务RID不匹配先前保存的与该功能相关联的 RID (框312),则该事务被不允许且被标记(框310),完成该方法。上述讨论意图对本发明的原理和各个实施例进行说明。一旦完全理解了上面的公 开内容,对于本领域技术人员来说,许多变化和修改是显而易见的。例如,虽然所述实施例 包括单处理器系统,但是所述系统和方法也可以在多处理器或甚至多主机系统(例如刀片 服务器)中实现。此外,虽然说明性实施例是在基于PCI的系统的上下文中描述的,但是所 述系统和方法也可以使用其他总线和/或利用具有唯一源标识符的事务的网络交换结构 体系架构来实现。并且,虽然本公开的说明性实施例描述了将RID、装置和装置功能与虚拟 机软件程序相关联,但是此种关联不局限于虚拟机软件程序,并且所述RID、装置和装置功 能可以与在诸如描述的说明性实施例中的那些之类的处理逻辑和处理器上执行的任何软 件程序相关联。意图将以下的权利要求书解释为包括所有这样的变化和修改。
权利要求
一种装置(250),包括互连接口(252);以及耦合到所述互连接口的处理逻辑(257),其提供通过所述互连接口对于所述装置的多个功能的访问;其中,由所述装置接收的并与所述多个功能中的功能相关联的第一事务使得将所述第一事务内的请求标识符分配给所述功能;以及其中,如果在所述第一事务之后的第二事务的请求标识符不匹配分配给所述功能的所述请求标识符,则拒绝对于所述功能的访问。
2.根据权利要求1所述的装置,其中,在所述装置接收所述第一事务之前重置所述装 置(250)的至少一部分。
3.根据权利要求1所述的装置,其中,所述第一事务的请求标识符到所述功能的分配 在不首先执行所述装置(250)的至少一部分的重置的情况下不能被改变。
4.一种计算机系统,包括处理器,其执行多个软件程序;包括处理逻辑(257)的装置(250),其中,所述处理逻辑允许所述多个软件程序访问所 述装置的多个功能中的一个或多个功能;以及 将所述处理器耦合到所述装置的互连;其中,与所述装置的功能相关联并且源自所述多个软件程序中的第一软件程序的第一 事务被传输到所述装置,并使得将所述第一事务内的第一请求标识符分配给所述功能;以 及其中,如果第二后续事务内的第二请求标识符不匹配所述第一请求标识符,则拒绝对 于所述功能的访问。
5.根据权利要求4所述的计算机系统,其中,所述第二后续事务源自所述多个软件程 序中的第二软件程序。
6.根据权利要求4所述的计算机系统,还包括耦合到所述处理器和所述互连的桥,其 中,所述桥将所述第一请求标识符设置为与所述第一软件程序相关联的值。
7.根据权利要求4所述的计算机系统,其中,所述互连包括通信分组交换机,以及其 中,所述通信分组交换机将所述第一请求标识符设置为与所述第一软件程序相关联的值。
8.一种方法,包括第一软件程序向装置(250)的功能传输第一事务,所述第一事务包括第一请求标识符;所述装置将所述第一请求标识符分配给所述功能;第二软件程序向装置的所述功能传输第二事务,所述第二事务包括第二请求标识符;以及如果所述第二请求标识符不匹配所述第一请求标识符,则所述装置不允许所述第二软 件程序访问所述装置。
9.根据权利要求8所述的方法,还包括在执行重置之后、在传输任何其他事务之前,传输所述第一事务; 用为零的功能标识符指定监控功能,所述功能包括所述监控功能;以及用唯一的非零功能标识符指定所述装置(250)的所有剩余功能。
10.根据权利要求8所述的方法,还包括防止向所述功能分配另一请求标识符,直到 执行所述装置(250)的至少一部分的重置之后。
全文摘要
本文描述了支持事务认证的硬件装置接口。至少一些说明性实施例包括装置(250),其包括互连接口(252)以及提供通过该互连接口对所述装置的多个功能的访问的处理逻辑(257)(耦合到总线接口(252))。由装置(250)接收并与所述多个功能中的功能相关联的第一事务使得将第一事务内的请求标识符分配给该功能。如果在第一事务之后的第二事务的请求标识符不匹配分配给该功能的请求标识符,则拒绝对于该功能的访问。
文档编号G06F17/00GK101842784SQ200880113939
公开日2010年9月22日 申请日期2008年9月19日 优先权日2007年10月31日
发明者D·D·赖利 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1