CN101777005A - 重定向物理设备控制器的中断而提供多个虚拟设备控制器 - Google Patents

重定向物理设备控制器的中断而提供多个虚拟设备控制器 Download PDF

Info

Publication number
CN101777005A
CN101777005A CN200910217299A CN200910217299A CN101777005A CN 101777005 A CN101777005 A CN 101777005A CN 200910217299 A CN200910217299 A CN 200910217299A CN 200910217299 A CN200910217299 A CN 200910217299A CN 101777005 A CN101777005 A CN 101777005A
Authority
CN
China
Prior art keywords
controller
interrupt
processor
virtual
physical
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.)
Granted
Application number
CN200910217299A
Other languages
English (en)
Other versions
CN101777005B (zh
Inventor
Z·博金
S·卡利纳海利
R·纳拉瓦迪
M·塔贝特
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 CN101777005A publication Critical patent/CN101777005A/zh
Application granted granted Critical
Publication of CN101777005B publication Critical patent/CN101777005B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开通过重定向来自物理设备控制器的中断而提供多个虚拟设备控制器的装置、方法和系统的实施例。在一个实施例中,装置包括处理器、物理设备控制器和虚拟化逻辑。虚拟化逻辑用于接收来自物理设备控制器的第一中断,并作为响应,将来自多个虚拟设备控制器之一的第二中断发送至处理器。

Description

重定向物理设备控制器的中断而提供多个虚拟设备控制器
技术领域
本公开涉及信息处理领域,更具体地说,涉及信息处理系统中的虚拟化领域。
背景技术
一般来说,信息处理系统中的虚拟化概念允许一个或多个操作系统的多个实例(均为“OS”)在单个信息处理系统上运行,即使每个OS设计成具有对系统及其资源的完全、直接控制。通常通过利用软件(例如,虚拟机监视器或“VMM”)来实现虚拟化以向每个OS呈现具有该OS可完全且直接控制的虚拟资源(包括一个或多个虚拟处理器)的“虚拟机”(“VM”),而VMM维持用于实现诸如在VM之间共享和/或分配物理资源的虚拟化策略的系统环境(“虚拟化环境”)。在VM上运行的每个OS和任何其它软件称为“访客”或“访客软件”,而“主机(host)”或“主机软件”是在虚拟化环境之外运行的诸如VMM的软件。
信息处理系统中的物理处理器可通过例如支持进入虚拟化环境以在VM中的虚拟处理器(即,在VMM施加的约束下的物理处理器)上运行“访客”的指令而支持虚拟化。在虚拟化环境中,诸如访问有特权的寄存器或资源的外部中断或尝试的某些事件、操作和情形可被拦截,即,使处理器退出虚拟化环境,以使得VMM可进行操作以便例如实现虚拟化策略。例如,VMM可拦截(intercept)外部中断,并将其路由给合适的虚拟处理器。
可在专用基础上将系统中的诸如输入/输出设备控制器的物理资源指定或分配给VM。或者,通过拦截涉及某个物理资源的所有事务以使得VMM可执行、重定向或限制每个事务,多个VM可共享该物理资源。第三种方法可以是将物理资源设计成使它具有用作多个虚拟资源的能力。
发明内容
本发明涉及一种装置,包括:
处理器;
物理设备控制器;以及
虚拟化逻辑,用于接收来自所述物理设备控制器的第一中断,并作为响应,将来自多个虚拟设备控制器之一的第二中断发送至所述处理器。
附图说明
附图中举例而非限制性地示出本发明。
图1示出根据本发明一个实施例用于重定向中断的设备。
图2示出根据本发明一个实施例用于重定向中断的方法。
图3示出根据本发明一个实施例存储用于重定向中断的信息的条目。
具体实施方式
如下所述,本发明能以用于重定向中断的装置或方法的形式实施。在本描述中,阐述了诸如组件和系统配置的众多具体细节,以便可以更全面地理解本发明。但是,本领域技术人员将明白,没有这些具体细节也可实现本发明。另外,没有详细示出一些熟知的结构、电路等,以免不必要地使本发明的描述晦涩难懂。
希望多个虚拟机可共享单个物理设备控制器,而无需VMM拦截涉及该设备控制器的所有事务,或无需将设备控制器重新设计成支持虚拟化。因此,本发明的实施例可用于重定向来自单个物理设备控制器的中断,以使得物理设备控制器看起来就像是多个虚拟设备控制器一样。
本发明的实施例的元件能以硬件、软件、固件、或硬件、软件或固件的任何组合的形式实现。术语“硬件”一般是指具有物理结构的元件,如电子、电磁、光、光电、机械、机电零件等。术语“软件”一般是指逻辑结构、方法、过程、程序、例行程序、进程、算法、公式、表达式等。术语“固件”一般是指在硬件结构(如闪存或只读存储器)中实现或实施的逻辑结构、方法、过程、程序、例行程序、进程、算法、公式或表达式。固件的实例有微代码、可写控制存储和微编程结构。
图1示出根据本发明一个实施例可在其中重定向中断的信息处理系统100。信息处理系统100包括裸平台硬件110,它可以是能够执行任何OS、VMM或其它软件的任何装置。例如,裸平台硬件110可以是个人计算机、大型计算机、便携式计算机、手持设备、机顶盒、服务器或任何其它计算系统的硬件。在此实施例中,裸平台硬件110包括处理器120、芯片集130、系统存储器140和设备控制器150。
处理器120可以是具有一个或多个执行核的任何组件,其中每个执行核可基于各种不同类型的处理器中的任何处理器,这些不同类型的处理器包括:通用微处理器,例如
Figure G2009102172995D00031
处理器系列、处理器系列、
Figure G2009102172995D00033
公司的其它处理器系列中的处理器或另一公司的另一处理器;或数字信号处理器或微控制器。尽管图1只示出一个这样的处理器120,但裸处理硬件110可包括任何数量的处理器,包括:任何数量的多核处理器,每个多核处理器具有任何数量的执行核;以及任何数量的多线程处理器,每个多线程处理器具有任何数量的线程。
芯片集130可以是支持存储器操作、输入/输出操作、配置、控制、内部或外部接口、连接、或通信功能(例如,“胶合”逻辑和总线桥)和/或处理器120和/或系统100的任何类似功能的任何电路和逻辑组。芯片集130的各个元件可集合在单个芯片上、一对芯片上、散布在多个芯片中,和/或部分地、全部地、冗余地、或根据分布式方法集成到包括处理器120在内的一个或多个处理器中。在此实施例中,芯片集130包括如下所述的根据本发明一个实施例用于重定向中断的虚拟化逻辑132。在其它实施例中,虚拟化逻辑132可包含在系统100的其它地方。
系统存储器140可包括其上可存储诸如数据和/或指令的信息的任何介质,例如静态或动态随机存取存储器、基于半导体的只读存储器或闪速存储器、磁或光盘存储器、或可由处理器120读取的任何其它类型的介质、或这些介质的任何组合。
设备控制器150可表示任何类型的I/O、外围设备或可作为中断请求的来源的其它设备的控制器,例如硬盘控制器、音频控制器、网络接口控制器、外围总线控制器等。设备控制器150可在离散组件中实施,或可包含在具有任何其它设备控制器的集成组件中。在一个实施例中,设备控制器150可表示多功能I/O、外围设备或其它设备控制器中的功能。设备控制器150可包括用于存储配置信息的配置存储设备152。
处理器120、芯片集130、系统存储器140和设备控制器150可根据任何已知方法彼此耦合或相互通信,这些已知方法可以是例如直接法、或通过一种或多种并行、顺序、流水线、异步、同步、有线、无线或其它总线或点对点连接或通信方式的间接法。例如,在此实施例中,芯片集130包括接口131,接口131用于通过任何这样的连接或其它通信方式从设备控制器150接收信号、消息和/或诸如中断请求的事务,或将信号、消息和/或事务传送至设备控制器150和/或系统100中的任何其它代理或组件。类似地,设备控制器150包括接口151,接口151用于向和/或从芯片集130和/或系统100中的任何其它代理或组件传送和/或接收信号、消息和/或事务。系统100还可包括任何数量的额外代理、组件或连接。
系统100还包括VMM 160与VM 162和164。VMM 160可以是经安装而可在裸平台硬件110上运行或可供裸平台硬件110访问以向访客呈现VM(即,裸平台硬件110的抽象)或以其它方式创建VM、管理VM并在系统100内实现虚拟化策略的任何软件、固件或硬件主机。在其它实施例中,主机可以是能够控制裸平台硬件110的任何VMM、管理程序、OS、或其它软件、固件或硬件。访客可以是任何OS、包括VMM 160的另一实例在内的任何VMM、任何管理程序、或任何应用或其它软件。
根据VM中呈现的处理器和平台的体系结构,每个访客预期能访问裸平台硬件110或由VMM 160虚拟化的平台的资源,例如处理器和平台寄存器、存储器和输入/输出设备。图1示出两个VM 162和164,可在每个VM上安装访客OS和任何数量的访客应用。尽管图1示出两个VM,但在本发明的范围内,可创建任何数量的VM,并且可以安装任何数量的访客OS和访客应用以在每个VM上运行。
返回到芯片集130,虚拟化逻辑132可包括用于重定向来自物理设备控制器(如物理设备控制器150)的中断的任何电路、逻辑或其它结构,如固件。芯片集130还包括如上所述的接口131、配置存储设备134和数据存储设备136。配置存储设备134和数据存储设备136可包括其上可存储信息的任何介质;例如,配置存储设备134可包括可编程寄存器,而数据存储设备136可包括静态随机存取存储器。虚拟化逻辑132可从配置存储设备134和/或数据存储设备136读取信息以及将信息写入到配置存储设备134和/或数据存储设备136,以确定要捕获哪些物理设备控制器的中断、每个共享的物理设备控制器当前分配给哪个VM、要将所捕获的每个VM的中断重定向到哪里等等,以及维持这样的状态。配置存储设备134和数据存储设备136可映射到处理器110的地址空间,以便可以利用它们来在虚拟化逻辑132与VM 162和164之间交换信息。
芯片集130可通过接口131从设备控制器150接收中断请求。在一个实施例中,可根据任何已知的信令协议通过输入端子作为诸如水平或边缘触发中断信号的信号接收中断请求(“管脚中断”)。在另一实施例中,可根据任何已知的消息、事务或其它通信协议作为诸如总线消息或点对点事务的消息接收中断请求。例如,在设备控制器150通过外围组件互连Express(“PCI-Express”)总线耦合到芯片集130的实施例中,总线协议可包括消息信号中断(“MSI”),其中中断消息可包括32位地址字段和32位数据字段。包括利用基于信号和消息的中断请求的实施例在内的其它实施例也是可能的。
系统100可包括用于将中断请求按优先级排序并将它们递送给处理器120和/或系统100中的任何其它代理的一个或多个中断控制器。在一个实施例中,处理器120包括本地中断控制器122,芯片集130包括I/O中断控制器138。
可将中断请求引至处理器120以执行与设备控制器150相关联的中断处理程序。目标(intended)中断处理程序可由中断请求所传达的信息(例如,MSI中的地址和/或数据字段的内容)指示,或对于管脚中断,预期的中断处理程序可由输入端子、管脚或信号路径的身份(identity)指示。但是,为了支持设备控制器150的虚拟化,虚拟化逻辑132可捕获中断请求,即,虚拟化逻辑132拦截并修改要到处理器120的中断消息或信号。
图2示出根据本发明一个实施例可重定向中断的方法200。在对图2的方法实施例的描述中,可参照图1中的系统实施例的元件,但是,本发明的方法实施例在这方面不受限制。
在方法200的方框210中,配置信息处理系统(如系统100),使得将可以作为中断请求的来源的每个物理设备控制器(如设备控制器150)与中断处理程序相关联。可将配置信息存储在配置存储设备152中,配置存储设备152可以是例如MSI寄存器。
在包括MSI的实施例中,可通过例如虚拟化逻辑132来配置物理设备控制器150以利用它的MSI的地址字段中的第一地址值和数据字段中的第一数据值。根据由VMM 160维持的系统存储器的视图,第一地址值可以是与本地中断控制器122相关联的地址。根据由VMM
160维持的系统存储器的视图,第一数据值可以是与设备控制器150的中断处理程序相关联的地址。
在包括管脚中断的实施例中,可通过以下方法来配置物理设备控制器150:硬接线或软接线要由I/O中断控制器138接收的该物理设备控制器150的中断请求输出,使得该中断请求输出可由虚拟化逻辑132拦截。例如,可将中断请求输出多路传送至I/O中断控制器134或虚拟化逻辑132。I/O中断控制器138可编程为使设备控制器150的中断处理程序与来自设备控制器150的中断请求输出所连接到的输入相关联。
在方框212,将虚拟化逻辑132配置成捕获来自设备控制器150的中断请求。
在包括MSI的实施例中,虚拟化逻辑132可包括配置存储设备134中的多个位置(location),这些位置可用在芯片集130和设备控制器150之间的总线上捕获的MSI事务的地址和数据值编程。例如,图3示出配置存储设备134中的条目300,条目300包括物理MSI地址字段310、物理MSI数据字段320、虚拟MSI地址字段330和虚拟MSI数据字段340。在此实施例中,可将第一地址值和第一数据值分别编程到物理MSI地址字段310和物理MSI数据字段320中。然后,如下文进一步描述的,可使用条目300来将虚拟设备控制器与物理设备控制器150相关联。也可用第一地址和第一数据值来编程以条目300格式的额外条目,以将额外虚拟设备控制器与物理设备控制器150相关联。
在包括管脚中断的实施例中,可将中断请求信号从可由本地中断控制器138接收切换为可由虚拟化逻辑132接收。
在方框214,可将虚拟化逻辑132配置成使表示物理设备控制器150的虚拟设备控制器中的一个或多个虚拟设备控制器与一个或多个VM相关联。
在利用MSI的实施例中,可用所捕获的MSI事务的地址和数据值编程的配置存储设备134中的位置可包括可用与VM相关联的地址和数据值编程的额外的对应位置(例如,虚拟MSI地址字段330和虚拟MSI数据字段340)。例如,VM 152可能不能访问所有系统存储器140;因此,VM 152的系统存储器140视图可能不同于VMM 150的视图。根据VM 152的系统存储器140视图,与本地中断控制器122相关联的地址可能不是结合方框212描述的第一地址值,而可能是第二地址,并且与设备控制器150的中断处理程序相关联的地址可能不是第一数据值,而可能是第二数据值。因此,可用第二地址值编程虚拟MSI地址字段330,并用第二数据值编程虚拟MSI数据字段340。
在利用管脚中断的实施例中,虚拟化逻辑132可配置成代表对应于物理设备控制器150的虚拟设备控制器将中断请求发送至I/O中断控制器138。配置存储设备134或数据存储设备136可包括用于存储来自物理设备控制器的中断请求输入与去往I/O中断控制器138的中断请求输出之间的映射的位置。
在方框220,物理设备控制器150通过例如发出MSI事务或通过断言中断信号而做出第一中断请求。在方框222,虚拟化逻辑132捕获中断请求。在方框224,虚拟化逻辑132基于例如存储在数据存储设备136中的信息和/或通过轮询物理设备控制器150来确定要将第一中断请求给哪个VM。在方框226,虚拟化逻辑132在数据存储设备136的队列、缓冲器或其它位置中输入第一中断请求,使得VM可找到该请求以与虚拟化逻辑132交换信息。
在方框230,虚拟化逻辑132将对应于但不同于方框220中的第一中断请求的第二中断请求发送给处理器120。在一个实施例中,直到处理器120的控制权转移到第一中断请求要到的那个VM时才发送第二中断请求。该第二中断请求可以是消息或信号的形式。在它是消息的实施例中,消息中所包含的地址、数据和/或任何其它信息可以是对应于虚拟设备控制器而非物理设备控制器的信息。例如,可在处理器120和芯片集130之间的总线上发送MSI,其中地址字段中的虚拟MSI地址字段330是第二地址值,而数据字段中的虚拟MSI数据字段340是第二数据值。在第二中断请求是信号的实施例中,可将信号从虚拟化逻辑132发送到I/O中断控制器138,然后可将信号从I/O中断控制器138发送至处理器120。基于在方框214的描述中所论述的映射,从虚拟化逻辑132发送的信号可以是对应于虚拟设备控制器而非物理设备控制器150的信号。在任一实施例中,VMM 160都可以不知道信息对应的是虚拟设备控制器而非物理设备控制器,因为虚拟化是通过虚拟化逻辑132而非VMM 160执行的。
在方框240,处理器120接收第二中断请求,获取至中断处理程序的向量,并开始在目标VM中执行中断处理程序。在方框242,VM可通过数据存储设备136与虚拟化逻辑132交换信息。
在本发明的范围内,可在省略所示方框、增加额外方框、或重排、省略或添加额外方框的组合的情况下执行方法200。诸如226和230的一些方框可并行执行。
可在从创建到模拟到制作的各种阶段中设计根据本发明实施例设计的任何组件或组件的部分。表示设计的数据可用多种方式来表示该设计。首先,如同在模拟中有用一样,可利用硬件描述语言或另一功能描述语言来表示硬件。另外或作为替代,可在设计过程的某些阶段制作具有逻辑和/或晶体管门的电路级模型。此外,在某个阶段,大多数设计达到可用表示各种设备的物理布局的数据来对其建模的程度。在利用常规半导体制造技术的情况下,表示设备布局模型的数据可以是指定用于制造集成电路的掩膜的不同掩膜层上各种特征存在与否的数据。
在设计的任何表示中,可将数据存储在任何形式的机器可读介质中。经调制或以其它方式生成以传送这样的信息的光或电波、存储器、或诸如盘的磁或光存储介质都可作为机器可读介质。任何这些介质都可“携带”或“指示”本发明的实施例中所用的设计或其它信息。当传送指示或携带这些信息的电载波时,在执行电信号的复制、缓冲或再传送的程度,进行新的复制。因此,通信提供商或网络提供商的这些动作可构成对实施本发明技术的诸如载波的制品进行复制。
因此,公开了用于重定向中断的装置、方法和系统。尽管描述并在附图中示出了某些实施例,但应理解,这些实施例只是说明而非限制广泛的发明,并且本发明不限于所示和所描述的特定构造和布置,在研读本公开后,本领域技术人员可联想到各种其它修改。在诸如此类的技术领域中,发展迅速且不易预知进一步的进展,在不背离本公开的原理或随附权利要求的范围的情况下,在赋予技术发展的促进下,所公开的实施例可容易在布置和细节方面做出修改。

Claims (1)

1.一种装置,包括:
处理器;
物理设备控制器;以及
虚拟化逻辑,用于接收来自所述物理设备控制器的第一中断,并作为响应,将来自多个虚拟设备控制器之一的第二中断发送至所述处理器。
CN200910217299.5A 2008-12-31 2009-12-25 重定向物理设备控制器的中断而提供多个虚拟设备控制器的装置和方法 Expired - Fee Related CN101777005B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/347,970 2008-12-31
US12/347970 2008-12-31
US12/347,970 US9424211B2 (en) 2008-12-31 2008-12-31 Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller

Publications (2)

Publication Number Publication Date
CN101777005A true CN101777005A (zh) 2010-07-14
CN101777005B CN101777005B (zh) 2014-05-07

Family

ID=41717430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910217299.5A Expired - Fee Related CN101777005B (zh) 2008-12-31 2009-12-25 重定向物理设备控制器的中断而提供多个虚拟设备控制器的装置和方法

Country Status (6)

Country Link
US (1) US9424211B2 (zh)
JP (1) JP4980416B2 (zh)
CN (1) CN101777005B (zh)
DE (1) DE102009060301A1 (zh)
GB (1) GB2466706B (zh)
TW (1) TWI525546B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499112B2 (en) * 2011-08-16 2013-07-30 Hitachi, Ltd. Storage control apparatus
JP5846836B2 (ja) * 2011-10-11 2016-01-20 株式会社日立製作所 仮想計算機、仮想計算機システム、及び仮想計算機制御方法
US9110878B2 (en) * 2012-01-18 2015-08-18 International Business Machines Corporation Use of a warning track interruption facility by a program
US9697154B2 (en) 2014-08-20 2017-07-04 Red Hat Israel, Ltd. Managing message signaled interrupts in virtualized computer systems
US11275600B2 (en) * 2017-11-14 2022-03-15 TidalScale, Inc. Virtualized I/O
CN108369604B (zh) * 2017-12-28 2021-12-03 深圳前海达闼云端智能科技有限公司 一种多操作系统共享文件系统的方法、装置和电子设备
KR102498319B1 (ko) 2018-06-04 2023-02-08 삼성전자주식회사 반도체 장치
CN112817690B (zh) * 2021-01-22 2022-03-18 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种面向arm架构虚拟化领域的中断虚拟化处理方法及系统
US20230315659A1 (en) * 2022-03-29 2023-10-05 Mellanox Technologies, Ltd. Interrupt emulation on network devices

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7447794B1 (en) * 2002-12-04 2008-11-04 Silicon Graphics, Inc. System and method for conveying information
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US7111145B1 (en) * 2003-03-25 2006-09-19 Vmware, Inc. TLB miss fault handler and method for accessing multiple page tables
TWI253251B (en) 2003-09-19 2006-04-11 Inst Information Industry Network address port translation gateway providing fast query and replacement for virtual host service, and the method thereof
US7177967B2 (en) * 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US7048877B2 (en) * 2004-03-30 2006-05-23 Intel Corporation Efficiently supporting interrupts
US7707341B1 (en) * 2004-05-11 2010-04-27 Advanced Micro Devices, Inc. Virtualizing an interrupt controller
DE102004042170B4 (de) * 2004-08-31 2009-02-19 Advanced Micro Devices, Inc., Sunnyvale Nachrichtenbasierte Interrupttabelle
US7689747B2 (en) * 2005-03-28 2010-03-30 Microsoft Corporation Systems and methods for an augmented interrupt controller and synthetic interrupt sources
US7565471B2 (en) * 2005-09-16 2009-07-21 Emulex Design & Manufacturing Corporation Message signaled interrupt extended (MSI-X) auto clear and failsafe lock
US8286162B2 (en) 2005-12-30 2012-10-09 Intel Corporation Delivering interrupts directly to a virtual processor
US7802073B1 (en) * 2006-03-29 2010-09-21 Oracle America, Inc. Virtual core management
US20080162762A1 (en) * 2006-12-29 2008-07-03 Gilbert Neiger Interrupt remapping based on requestor identification
US7853744B2 (en) 2007-05-23 2010-12-14 Vmware, Inc. Handling interrupts when virtual machines have direct access to a hardware device
CN101354663A (zh) * 2007-07-25 2009-01-28 联想(北京)有限公司 应用于虚拟机系统的真实cpu资源的调度方法及调度装置
US8453143B2 (en) * 2007-09-19 2013-05-28 Vmware, Inc. Reducing the latency of virtual interrupt delivery in virtual machines
US7934033B2 (en) * 2008-03-25 2011-04-26 Aprius, Inc. PCI-express function proxy
US8032680B2 (en) * 2008-06-27 2011-10-04 Microsoft Corporation Lazy handling of end of interrupt messages in a virtualized environment
ATE542177T1 (de) 2008-08-19 2012-02-15 St Microelectronics Rousset Weiterleitungsverfahren eines unterbrechungssignals direkt an eine virtuelle bearbeitungseinheit in einem system mit einer oder mehreren physischen bearbeitungseinheiten

Also Published As

Publication number Publication date
CN101777005B (zh) 2014-05-07
JP4980416B2 (ja) 2012-07-18
DE102009060301A1 (de) 2010-07-08
TWI525546B (zh) 2016-03-11
GB2466706A (en) 2010-07-07
GB2466706B (en) 2012-04-25
JP2010157232A (ja) 2010-07-15
US9424211B2 (en) 2016-08-23
US20100169883A1 (en) 2010-07-01
TW201030623A (en) 2010-08-16
GB0922460D0 (en) 2010-02-03

Similar Documents

Publication Publication Date Title
CN101777005A (zh) 重定向物理设备控制器的中断而提供多个虚拟设备控制器
EP3519953B1 (en) Intermediate host integrated circuit between a virtual machine instance and customer programmable logic
US10423438B2 (en) Virtual machines controlling separate subsets of programmable hardware
US9442868B2 (en) Delivering interrupts directly to a virtual processor
US8726295B2 (en) Network on chip with an I/O accelerator
US20190042329A1 (en) System with programmable multi-context accelerator circuitry
US9430296B2 (en) System partitioning to present software as platform level functionality via inter-partition bridge including reversible mode logic to switch between initialization, configuration, and execution mode
US10095540B2 (en) Virtual network provisioning prior to virtual machine manager launch by loading a partitioned network device with attribute data
CN101833470A (zh) 注入事务以支持物理设备控制器的虚拟化
US11188369B2 (en) Interrupt virtualization
US20210328944A1 (en) Methods, apparatus, and articles of manufacture to dynamically allocate cache
US20100174841A1 (en) Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller
US20210320886A1 (en) Methods and apparatus for deterministic low latency packet forwarding for daisy chaining of network devices
US11513983B2 (en) Interrupt migration
US20220414037A1 (en) Methods and apparatus to manage processor interrupts
CN101982814A (zh) 将用于虚拟化引擎的指令分页调度到本地存储设备
US20230205585A1 (en) Elevated Isolation of Reconfigurable Data Flow Resources in Cloud Computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140507

Termination date: 20191225

CF01 Termination of patent right due to non-payment of annual fee