TW201030623A - Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller - Google Patents

Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller Download PDF

Info

Publication number
TW201030623A
TW201030623A TW098144755A TW98144755A TW201030623A TW 201030623 A TW201030623 A TW 201030623A TW 098144755 A TW098144755 A TW 098144755A TW 98144755 A TW98144755 A TW 98144755A TW 201030623 A TW201030623 A TW 201030623A
Authority
TW
Taiwan
Prior art keywords
interrupt
device controller
controller
processor
virtual
Prior art date
Application number
TW098144755A
Other languages
English (en)
Other versions
TWI525546B (zh
Inventor
Zohar Bogin
Suryaprasad Kareenahalli
Rajeev K Nalawadi
Michael Tabet
Darren Abramson
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 TW201030623A publication Critical patent/TW201030623A/zh
Application granted granted Critical
Publication of TWI525546B publication Critical patent/TWI525546B/zh

Links

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)

Description

201030623 六、發明說明: 【發明所屬之技術句域】 發明的技術領域 本發明係有關資訊處理的技術領域,且更確切來說係 有關資訊處理系統中的虛擬化技術。 【冬好】 發明的技術背景 大致上來說’資訊處理系統中的虛擬化概念允許一或多 個作業系統(各稱為、'QS")的多個事例能在—單—資訊處理 =統上運作’即使係把各個〇5設計為具有對該系統以及其 資源的完整、直接㈣。虛減技術典型地係藉著使用敕 體(例如 虛擬機器監視器或稱為一”VMM")來對各個〇s 呈現具有虛擬資源的一''虛擬機器"(、'VM〃)來實行,其包括 該〇s可凡全地且直接地控制的一或多個虛擬處理器,而該 VMM維持用以實行虛擬化策略的一系統環境,例如在該等 VM (該''虛擬化環境〃)之間共享且分配實體資源。係把各個 OS以及在一 VM上執行的任何其他軟體稱為一'、客戶,,或x、客 戶軟體,而一主機〃或'、主機軟體〃則是在該虛擬化環境外 部運作的軟體,例如_ VMM。 一資訊處理系統中的一實體處理器可支援虛擬化技 術,例如藉著支援用以進入一虛擬化環境以於一 中的 一虛擬處理器(即,受到一 VMM施加之限制的一實體處理 器)上執行一客戶軟體的一指令。在該虛擬化環境中,可截 取到某些事件、操作、以及狀況,例如外部中斷或嘗試著 201030623 存取具特權暫存器或資源,即,使該處理器退出該虛擬化 環境,以使一 VMM可運作以實行虛擬化策略。例如,可由 該VMM截取外部中斷並且將其以路由送到適當的虛擬處 理器。 可依據專屬方式把該系統中的一實體資源,例如一輸入 /輸出裝置控制器,分派或分配給一 VM。替代地,可藉著截 取所有包含該資源的異動使由多個VM共享一實體資源,以 使該VMM可進行各個異動、使各個異動重新導向、或者限 制各個異動。第三種方法可為設計該實體資源以提供供其 作為多重虛擬資源的能力。 【發明内容】 發明的概要說明 依據本發明之一實施例,係特地揭露一種裝置,其包 含:一處理器;一實體裝置控制器;以及虛擬化邏輯組件, 其用以接收來自該實體裝置控制器的一第一中斷,且響應 地從多個虛擬裝置控制器中的一虛擬裝置控制器傳送一第 二中斷到該處理器。 圖式簡要說明 係以舉例方式且不具限制性的方式在圖式中展示出本 發明的實施例。 第1圖展示出根據本發明一實施例之一種用以使一中 斷重新導向的裝置。 第2圖展示出根據本發明一實施例之一種用以使一中 斷重新導向的方法。 201030623 第3圖展示出根據本發明一實施例之一種用以使一中斷 重新導向以儲存資訊的分錄項。 【實施方式3 較佳實施例的詳細說明 本發明可體現於一種用以使一中斷重新導向的裝置或 方法,如下所述。在詳細說明中,將列出多種特定細節, 例如部件與系統組態,以便提供本發明的完整說明。然而, 熟知技藝者將可了解的是,不需要該等特定細節亦可實現 本發明。此外,並不詳細地說明已為人熟知的結構、電路 等,以避免不必要地模糊本發明的焦點。 所欲的是使一單一實體裝置控制器能受到多個虛擬機 器共享,而不需要一 VMM截取所有包含該裝置控制器的所 有異動,或者重新設計該裝置控制器以支援虛擬化技術。 因此,本發明的實施例可用來使來自一單一實體裝置控制 器的一中斷重新導向,以使該實體裝置控制器以多個虛擬 裝置控制器的樣式出現。 本發明實施例的元件可實行於硬體、軟體、韌體中、或 者可實行於硬體、軟體、或韌體的任何組合中。"硬體"一 語大致上表示一種具有一實體結構的元件,例如電子、電 磁、光學、電光學、機械性、電機械性零件等。軟體〃一 語大致上表示一種邏輯結構、一種方法、一種程序、一種 程式、一種常式、一種處理方式、一種演繹法、一種方程 式、一種表式等。Χλ韌體〃一語大致上表示一種邏輯結構、 一種方法、一種程序、一種程式、一種常式、一種處理方 5 201030623 式、~種演繹法、— 硬體結構(例如,+程式、或—種實行於或體現於一 的實例為_、’記憶體或唯讀記憶體)的表式。勒體 覆寫控制儲存庫、以及微編程結構。 牛丄圖展示φ 4· 100,其中可使j民據本發明一實施例的資訊處理系統 平台硬體110,中斷重新導向。資訊處理系統1()()包括裸 的任何I置^其可為能執行任何OS、VMM、或其他軟體 大型主嫉e 1如’裸平台硬體110可為-個人電腦、一 人i主機電腦、一 一伺服器、# 冑式電腦、-手持式裝置、-機上盒、 裸平^何其料U統的硬體。在此實施例中, 休十台硬體110包挺虛 體H0、以及祐 片組130、系統記憶 及袭置控制器150。 里器120可為具有一或多個執行核心的任何部件其 個執行核心可依據多種不同類型處理器中的任-種,、 匕—般用途微處理器,例如Inte|®卩咖⑽⑧處理器系 Itanium®處理n系列、或美商英特爾公司出品 處理tm么 /、ΓΟ ° ^、歹丨,或另一豕公司出品的另一種處理器,或—數 位信號處理器或微控制器。雖然第i圖僅展示出—個處理 °° 2〇,裸處理硬體no可包含任何數量的處理器,包括 任何數量的多核心處理器,各個多核心處理器具有任何數 量的執行核心,以及任何數量的多執行緒處理器,各個多 執行緒處理器具有任何數量的執行緒。 晶片組130可為支援記憶體操作、輸入/輸出操作、組 態、控制、内部或外部介面、連線、或通訊功能(例如,、,膠 合(g丨ue)〃邏輯組件與匯流排橋接器)的任何群組電路與邏 201030623 輯組件,及/或用於處理器120及/或系統100的任何相似 功能。可把晶片組130的個別元件聚集在一單一晶片上、 一對晶片上、在多個晶片之間散佈、及/或部分地、全部地、 或冗餘地整合、或根據一種分散方式分散到包括處理器12〇 的一或多個處理器中。在此實施例中,晶片組130包括根 據本發明一實施例使中斷重新導向的虛擬化邏輯組件 132 ’如下所述。在其他實施例中,虛擬化邏輯組件132 可包括在系統100的他處中。 系統記憶體140可包括上面可儲存資訊(例如資料及/ 或指令)的任何媒體,例如靜態或動態隨機存取記憶體、半 導體式唯讀或快閃記憶體、磁性或光學碟片記憶體、或任 何其他可由處理器12〇讀取的媒體類型、或該等媒體的任 何組合。 裝置控制器150可代表1/〇、周邊裝置、或為一中斷請 求之來源之其他裝置中任一種的一控制器,例如一硬碟控 制态、一音訊控制器、一網路介面控制器、一周邊匯流排 控制器等。裝置控制器15〇可體現於—分立部件中,或者 可包括在具有任何其他裝置控制器的—種整合式部件中。 在一實施例中,裝置控制器150可代表多功能1/0、周邊 装置、或其他裝置控制器中的一項功能。裝置控制器15〇 可包括用以儲存組態資訊的組態儲存體 152。 處理器120、晶片組130、系統記憶體140、以及襞置 控制益150可根據任何已知方法彼此麵合或彼此通訊,例 如透過或多個並列式、連續式、管道式、異步式、同步 7 201030623 式、有線、無線、或其他匯流排或點對點連線或通訊構件 直接地或間接地耦合或通訊。例如,在此實施例中’晶片 組13〇包括介面131,其透過任何該等連線或其他通訊構 件用以從裝置控制器150接收信號、訊息、及/或異動(例 如中斷請求),或用以發送信號、訊息、及/或異動到裝置 控制器150及/或系統1〇〇中之任何其他代理器或部件。相 似地’裝置控制器150包括介面151,其用以發送及/或接 收信號、訊息、及/或異動到晶片組130及/或到系統1〇〇 中的任何其他代理器或部件。系統100亦可包括任何數量 的額外代理器、部件、或連線。 系統100亦包括VMM 160以及VM 162與VM 164。VMM 160可為任何軟體、韌體、或受安裝以在裸平台硬體110 上執行或受裸平台硬體110存取的硬體主機,以把VM (即 裸平台硬體110)的抽象概念呈現給客戶,或者以產生VM、 管理VM、並且在系統1〇〇中實行虛擬化策略。在其他實施 】中 主機可為任何VMM、超級監督器(hypervisor)、 〇s、或忐夠控制裸平台硬體u〇的其他軟體、韌體、或硬 體。一客戶可為任何0S、任何VMM,包括VMM 16〇的另 個事例任何超級監督器、或任何應用程式、或其他軟 體。 各個客戶期望能存取資源,例如裸平台硬體11〇或由 VMM 16G虛擬化之—平台的處理器與平台暫存器、記憶 、及輸入/輸出裝置,根據該處理器的架構以及呈現在 以Μ中的為平台而定。第丄圖展示出2個μ m與 201030623
LOI 式。雖然第以及任何數量的客戶應用程 生任他ΐ M,在本發明的中,可產 應用,並且可安裝任何數量的客戶QS與客戶 應用权式以在各個VM上執行。 、客戶 請回頭參照晶片組13〇, 何電路、邏輯組件、或其組件咖^ 實體裴置控制器(例如,實 :如韌體’以使來自- 導向。曰U 控制器15〇)的一中斷重新 =4組咖亦包括上述的介面⑶、 ::儲存_。组態儲存體-與資料儲= 體㈣存有貝訊的任何賴:例如,組態儲存 體34可包括可編程暫存器,且資料儲存細可包括靜 態隨機存取記憶體。虛擬化邏輯組件132可從組態儲存體 134及/或貝料儲存體136讀取出資訊並且把資料寫 組態儲存體134及/或資料儲存體136中,以判 夕 個實體裝置控制器中要抑制之該中斷的狀態、目前要對二 個VM分配各個共享實縣置控彻、要把針對各個VM的 受抑制中斷重新導向到何處等。可把域猶體134與資 料儲存體136映射到處理器11〇的位址空間,以使它們可 用來在虛擬化邏輯組件132以及VM 162與VM 164之間交 換資訊。 晶片組130可經由介面131從裝置控制器15〇接收— 中斷請求。在一實施例中,可根據任何已知的發信協定(― ”接腳中斷")而透過一輸入終端機接收一中斷請求作為—俨 號,例如一位準或邊緣觸發中斷信號。在另一個實施例中, 9 201030623 可根據任何已知的訊息、異動、或其他通訊協定來接收一 中斷請求作為一訊息,例如一匯流排訊息或一點對點異 動。例如,在當中裝置控制器15〇係透過一快速周邊部件 互連ΓΡα-Express")匯流排耦合至晶片組130的一實施例 中’該匯流排協定可包括訊息信號中斷(《MSI"),其中一中 斷訊息可包括一個32位元的位址欄位以及一個32位元的 二貝料欄位。其他實施例均是可能的,包括使用信號式中斷 請求與訊息式中斷請求二種請求的一實施例。 系統100可包括用以依據優先順序排列並且遞送中斷 »月求到處理器120及/或系統1〇〇中之任何其他代理器的一 或多個中斷控制器。在一實施例中,處理器12〇包括本地 中斷控制器122’且晶片組130包括I/O中斷控制器138。 可使該中斷請求導向處理器120,以執行與裝置控制器 150相關聯的一中斷處置器。該目的中斷處置器可由該中 斷請求傳遞的資訊來表示,例如一 MSI中之位址欄位及/ 或資料欄位的内容,或者利用該輸入終端機、接腳的識別 資訊來表示、或利用一接腳中斷的信號路徑來表示。然而, 為了支援裝置控制器150的虛擬化,可由虛擬化邏輯組件 132來抑制該中斷請求,即,針對處理器12〇的一中斷訊 息或信號係由虛擬化邏輯組件132截取並且修改。 第2圖展示出根據本發明一實施例之一種用以使一中 斷重新導向的方法2〇〇。在第2圖之方法實施例的說明中, 係參照第1@之系統實施例的元件來進行說明;然而本 發明的方法實施例並不限於此。 10 201030623 ' 在方法200的方塊210中,係把一資訊處理系統(例如 系統100)組配成可使為一中斷請求之來源的各個實體裝置 控制器(例如’裝置控制器150)與一中斷處置器相關聯。可 把組態資訊儲存在組態儲存體152中,其可例如為一 MSI 暫存器。 在包括MSI的一實施例中,可由虛擬化邏輯組件I〗〗 把實體裝置控制器150組配成可使用其MSI之位址攔位中 φ 的一第一位址值以及資料攔位中的一第一資料值。根據 VMM 160維持之系統記憶體的觀點,該第一位址值可為與 本地中斷控制器122相關聯的一位址,根據VMM 160所維 持之系統記憶體的觀點,該第一資料值可為與裝置控制器 150之一中斷處置器相關聯的一位址。 在包括接腳中斷的一實施例中,可藉著硬佈線方式或軟 ‘ 佈線方式設置欲由〗/〇中斷控制器138接收的中斷請求輸
出來組配實體裝置控制器15〇,藉此使其能受虛擬化邏輯 • 師132截取。例如,可把該中斷請求輸出多工化到I/O 中斷控制器134或虛擬化邏輯組件132。可編程1/〇中斷 控制器138以使裝置控制器15〇的該中斷處置器與來自裝 置控制器150之中斷請求輸出端所連接的該輸入端相聯 結。 在方塊212中’係把虛擬化邏輯組件132組配成可抑 制來自裝置控制器150的中斷請求。 在包括MSI的一實施例中,虛擬化邏輯組件132可包 括組態儲存體134中的數個位置,其以晶片組13()與裝置 11 201030623 控制器150之間之該匯流排上的MSI異動受到抑制的位址 與資料值來編程。例如,第3圖展示出組態儲存體134中 的分錄項300,其包括實體MSI位址攔位310、實體MSI 資料欄位320、虛擬MSI位址糊位330、以及虛擬MSI資 料攔位340。在此實施例中,係把該第一位址值與該第一 資料值分別地編程到實體MSI位址攔位310與實體MSI資 料欄位320中。隨後可使用分錄項300,如以下詳細說明 地,以使一虛擬裴置控制器與實體裝置控制器15〇相聯 結。亦可利用該第一位址以及該第一資料值來編程呈分錄 項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的觀點, 201030623 與本地中斷控制$ 122相關聯的位址可能不*參照方塊 212說明的第-位址值,但反之可為—第二位址且與裝 置控制器150之該中斷處置器相關聯的該位址可能不是該 第 >料值,但可為一第二資料值。因此,可使用該第二 位址值來編程該虛擬MSI位址攔位33〇,且可使用該第二 資料值來編程虛擬MSI資料欄位340。 在使用接腳中斷的一實施例中,可把虛擬化邏輯組件 132組配成代表對應於實體裝置控制器15〇的一虛擬裝置 控制器把一中斷請求傳送到I/O中斷控制器138。組態儲 存體134或資料儲存體136可包括用以把從實體裝置控制 器之該中斷凊求輸入對中斷請求輸出的映射儲存到I/O中 斷控制器138中的位置。 在方塊220中,實體裝置控制器15〇提出一第一中斷 請求,例如藉著發出一 MSI異動或者藉著主張一中斷信 號。在方塊222中,虛擬化邏輯組件132抑制該中斷請求。 在方塊224中’虛擬化邏輯組件132判定為該第一中斷請 求之目標的是哪個VM,例如,根據儲存在資料儲存體136 中的資訊及/或輪詢實體裝置控制器15〇。在方塊226中, 虛擬化邏輯組件132把該第一中斷請求輸入到一仵列、緩 衝器、或資料儲存體136的其他位置中,以使它可由一 VM 發現以供與虛擬化邏輯組件132交換資訊。 在方塊230中,虛擬化邏輯組件132傳送一第二中斷 請求到處理器120 ’其對應於但不同於方塊220中的該第 一中斷請求。在一實施例中,可以不傳送該第二中斷請求, 13 201030623 直到已把控制處理器12〇的動作傳送到為該第—中斷請求 之目的的該VM為止。此第二中斷請求可 壬一訊息或一信
號形式。在當中它為-訊息的-實施例中,包含在該訊息 中的位址、資料、及/或任何其他資訊可為對應於_虛擬裝 置控制器而非對應於一實體裝置控制器的資訊。例如,。 從該位址攔位與該第二資料值中的錢啦位址爛^ 330、從該資料欄位中的虛擬MSI資料攔位34()而在處理 器120與晶片、組130之間的該匯流排上_起傳送n乂 及該第二位址值。在當中該第二中斷請求為一信號的一實 施例中’可從虛擬化邏輯組件132發送一信號到1/〇中斷 控制器138,且可從I/O中斷控制器138傳送一信號到處 理器120。根據在方塊214之描述中討論的該等映射,從 虛擬化邏輯組件132傳送的該信號可為對應於一虛擬裝置 控制器而非對應於實體裝置控制器15〇的一信號。在任一 實施例中,VMM 160可能不知悉該資訊對應於一虛擬裝置 控制器而非對應於一實體裝置控制器,因為已經由虛擬化 邏輯組件132而非由VMM 160進行該虛擬化動作。 在方塊240中,處理器12〇接收該第二中斷請求、取 得針對該中斷處置器的向量,並且開始在該目標VM中執 行中斷處置器。在方塊242中,該VM可透過資料儲存體 136與虛擬化邏輯組件132交換資訊。 在本發明的範圍中,可不使用展示出的方塊來進行方法 200、可在方法200中增加額外方塊、或者可重新排列方 塊、省略方塊、或額外方塊的組合來進行方法200。可並 14 201030623 歹1^也進行某些方塊,例如方塊226與方塊230。
可在各種不同階段中設計根據本發明一實施例的任何 IM牛或一部件部分,從產生到模擬到製成。代表一項設計 的貝料可利用多種方式來代表該設計。首先,如模擬方式 2使用地,可利用一種硬體描述語言或另一種功能描述語 來表示忒硬體。此外或替代地,可在該設計程序的某些 階段產生具有邏輯組件及/或電晶體閘的一電路階層模 '再者,大部分的設計在某個階段會到達可藉由代表各 種不同裝置之實體配置的資料來模型化的—階層。在當中 电用驾知半導體製程技術的實例中,代表該裝置配置模型 的該資料可為針對用以產生—積體電路的光罩而指明各種 不问特二在不同光罩層上出現或不出現的資料。 媒°又相任何表述中,可把該資料儲存成一機器可讀 劣任何形式。經調變或產生以發送該種資訊的一光學 __ u λ ‘、、體、或一磁性或光學儲存體媒體(例如, 出為機θ可讀媒體。任何該等媒體可''攜載〃或''指 出實施例的其他資訊。當發送指 送該雷裔作缺^電孔载波而使複製'緩衝、或重新發 〜通訊提供者Ζ作能進行時,將可做出""制本。因此, 發明技蚊-物^路提供者的動作可構絲造出體現本 因此,已經揭露二二―载波)之副本的動作。 與系統。儘管已經說明中斷重新導向的裝置、方法 示於圖式中,要了 θ某些實施例並且把該等實施例展 解的是該等實施例僅 用於展示目的,且 15 201030623 不限制本發明的廣泛精神,且本發明並不受限於所展示且 解說的特定建構方式與配置,因為熟知技藝者在研讀了本 發明的揭示後能進行各種不同的其他修改方案。在例如本 發明的技術領域中,其中已經不容易再看到科技的成長與 進步,仍可因能在不偏離本發明的原則或以下申請專利範 圍的範圍之狀況下產生技術上的進步,而可容易地修改本 發明所揭露實施例的配置方式與細節。 【圓式簡單說明】
第1圖展示出根據本發明一實施例之一種用以使一中 斷重新導向的裝置。 第2圖展示出根據本發明一實施例之一種用以使一中 斷重新導向的方法。 第3圖展示出根據本發明一實施例之一種用以使一中斷 重新導向以儲存資訊的分錄項。 【主要元件符號說明】 100…資訊處理系統 110…裸平台硬體 120…處理器 122···本地中斷控制器 130···晶片組 131、151…介面 132···虛擬化邏輯組件 134、152···組態儲存體 136···資料儲存體
138···Ι/0中斷控制器 140…系統記憶體 150···裝置控制器 160…虛擬機器監視器(VMM) 162、164…虛擬機器(VM) 200…方法 210〜242···步驟方塊 300···分錄項 310…實體MSI位址欄位 16 201030623 • 320…實體MSI資料欄位 340…虛擬MSI資料欄位 330···虛擬MSI位址爛位
17

Claims (1)

  1. 201030623 七、申請專利範圍: 1. 一種裝置,其包含: 一處理器; 一實體裝置控制器;以及 虛擬化邏輯組件,其用以接收來自該實體裝置控制器的 一第一中斷,且響應地從多個虛擬裝置控制器中的一虛 擬裝置控制器傳送一第二中斷到該處理器。 18
TW098144755A 2008-12-31 2009-12-24 用於藉由把來自實體裝置控制器之中斷重新導向來提供多重虛擬裝置控制器之裝置及方法 TWI525546B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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
TW201030623A true TW201030623A (en) 2010-08-16
TWI525546B TWI525546B (zh) 2016-03-11

Family

ID=41717430

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098144755A TWI525546B (zh) 2008-12-31 2009-12-24 用於藉由把來自實體裝置控制器之中斷重新導向來提供多重虛擬裝置控制器之裝置及方法

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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104054054A (zh) * 2012-01-18 2014-09-17 国际商业机器公司 程序对警告追踪中断设施的使用

Families Citing this family (8)

* 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 株式会社日立製作所 仮想計算機、仮想計算機システム、及び仮想計算機制御方法
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
WO2019127191A1 (zh) * 2017-12-28 2019-07-04 深圳前海达闼云端智能科技有限公司 一种多操作系统共享文件系统的方法、装置和电子设备
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
US7917740B1 (en) 2004-05-11 2011-03-29 Advanced Micro Devices, Inc. Virtualization assist for legacy x86 floating point exception handling
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
EP2157511B1 (fr) 2008-08-19 2012-01-18 STMicroelectronics Rousset SAS Procédé d'acheminement d'un signal d'interruption directement vers une unité de traitement virtuelle dans un système à une ou plusieurs unités de traitement physiques

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104054054A (zh) * 2012-01-18 2014-09-17 国际商业机器公司 程序对警告追踪中断设施的使用
CN104054054B (zh) * 2012-01-18 2018-01-30 国际商业机器公司 用于促进计算环境中的处理的方法、系统及存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
US9898601B2 (en) Allocation of shared system resources
US9892069B2 (en) Posting interrupts to virtual processors
JP5122597B2 (ja) 仮想プロセッサへの直接的なインタラプトの送信
TW201030623A (en) Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller
US10310879B2 (en) Paravirtualized virtual GPU
TWI722071B (zh) 虛擬機器之間的中斷
US10592434B2 (en) Hypervisor-enforced self encrypting memory in computing fabric
JP2008503015A (ja) 複数クライアントによる単一物理デバイスの共有
US20100174841A1 (en) Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller
US20210034526A1 (en) Network Interface Device
TW201044276A (en) Injecting transactions to support the virtualization of a physical device controller
WO2022271223A1 (en) Dynamic microservices allocation mechanism
US9606827B2 (en) Sharing memory between guests by adapting a base address register to translate pointers to share a memory region upon requesting for functions of another guest
WO2017012339A1 (zh) 资源管理方法及装置
JP2009296195A (ja) 複数のcpuコアを備えたfpgaを用いた暗号装置
US11513983B2 (en) Interrupt migration
US10127064B2 (en) Read-only VM function chaining for secure hypervisor access
US20080307190A1 (en) System and Method for Improved Virtual Real Memory
US20120054773A1 (en) Processor support for secure device driver architecture
TW201030622A (en) Paging instructions for a virtualization engine to local storage
WO2009113571A1 (ja) 複数の基盤ソフトウェアを動作可能な情報処理装置および方法
GB2454817A (en) Interrupt handling in a logically partitioned system by changing the interrupt status values in an array for only one partition at a time.

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees