TWI252427B - Control register access virtualization performance improvement in the virtual-machine architecture - Google Patents
Control register access virtualization performance improvement in the virtual-machine architecture Download PDFInfo
- Publication number
- TWI252427B TWI252427B TW092108399A TW92108399A TWI252427B TW I252427 B TWI252427 B TW I252427B TW 092108399 A TW092108399 A TW 092108399A TW 92108399 A TW92108399 A TW 92108399A TW I252427 B TWI252427 B TW I252427B
- Authority
- TW
- Taiwan
- Prior art keywords
- register
- software
- access
- visitor
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
[1252427 玖、發明說明: 【發明所屬之技術領域】 概言之,本發明係關於虛擬機器,具體而言,本發明係 關於在虛擬機器結構内來訪者敕體存取暫存器之控制。 【先前技術】 一傳統虚擬機器監視器(VMM)通常在一電腦中執行並向 其他軟體呈現出一或多個虛擬機器之抽象概念。每一虛擬 機器皆可運作為一自含式平台,執行本身之「來訪者作業 系統」(即VMM所存放的作業系統)。該來訪者作業系統希 望其運作方式係如同在一專用電腦上執行,而非在一虛擬 機器上執行。換言之,該來訪者作業系統希望控制各種電 腦作業並可在該等作業期間具有硬體資源存取權。該等硬 體資源可包括處理器駐存型資源(例如控制暫存器)及駐存 於記憶體内之資源(例如描述符表)。 - 在一虚擬機器環境中,VMM應能夠具有該等資源的最終 控制權,以提供虛擬機器之正常作業並提供對虛擬機器之 防護及虛擬機器間之防護。為達成該控制,VMM通常欄截 並仲裁來訪者軟體對硬體資源之所有存取。具體而言,當 來訪者軟體要求一需要存取一受保護硬體資源之作業時, 此一作業之控制權被移轉至VMM,由VMM確保該存取之合 法性,模擬來訪者軟體所需之功能性,並將控制權移轉回 來訪者軟體,藉此保護硬體資源並虛擬化來訪者軟體對硬 體資源之存取。由於需受到保護以免遭來訪者軟體存取之 硬體資源元件數量巨大且該等存取會頻繁發生,因此,具 1252427 有與此類保護及虚擬化相關的大幅效能成本。 來訪者軟體頻繁存取之一硬體資源之實例為控制暫存 器。舉例而言,在Intel Pentium IV微處理器晶片之指令集 結構(ISA)(本文稱之為IA_32 ISA)中,存在多個控制暫存 器,其用於組態處理器之作業模式、控制記憶體子系統組 態及硬體資源等。通常,當來訪者軟體試圖存取一控制暫 存器中的一位元時,會將控制權移轉至VMM,由VMM負貴 保持該來訪者軟體針對該位元所起始的窝入與讀取作業凋 之致择。換s之,VM1V[控制兩個值,一值係用於允許來 訪者軟體寫人至控制暫存器每—位元,另_值係用於允許 來訪者軟體讀取每一位元。此種控制暫存器存取之虛擬化 會形成顯著的效態負擔。 【發明内容】 在一具體實施例中,自來訪者軟體接收到一與一暫存器 之-或多個部分相關之命令。進—步,依據―對應於該暫 存器之所要求部分之遮罩欄位内的指示项,決賴來訪者 軟體是否可存取該暫存器中的全部所要求部分。若該來訪 者軟體可存取該暫存器中的全部所要求部分,該 器中所要求部分執行自該來訪者軟體接收到之命令。 【實施方式】 本文係說明-種用以在虛擬機器結構中控制來訪 者軟體存取暫存器之方法及裝置。為解釋起見,下述 說明_陳述了大量具體細節’以便達成對本發明之透 徹瞭解。然而,凡熟諳此技藝者應可理解 明之 1252427 實施亦可不使用該等具體細節。 =某些詳細說明部分係就在一電 仔為或圮憶體内對資料位元之作— r^ 不法而言來呈現。該等演算說 唬 料處理技蔹之人士所用之方土 + 不法係熟習資 仅右之人士所用之方法,藉由該方法可田士 向熟習該技藝之其他人士傳達其工作之實取效 將—演算法一般性地表示為一可達成吾人員、兩级文 之自行-致之作業序列。該等 ^,果 之實際赛縱的作業。通常…„要實際量 形式為電子信該等量的 合、比較及葬…能夠儲存、傳送、組 "八方式加以操縱。經證實且主要出 於吊用之原因,該等作狀 文35 元素、符號、字元;也稱作位元、值、 然而,吾人應切纪,所右或類似之術語。 與適當之實際量相ΙΊ日該杨語或類似之術語-皆 . f且僅為該等實際量之方便性;I:® 记。除非下文中另有 々使f生铋 在本發明之整個說明中確之具體說明,吾人應瞭解: 或「計算」、d 使用「處理」、或「運算」、 腦系統或類似之電子\」Μ或類似術語之論述可指一電 電腦系統或類裝置之動作及處理程序,該 器及記憶體内表示為:運算裝置將電腦系統之暫存 換為電腦系統記憶二際(電子)量之資料操縱並轉 存、傳輸或顯示暫存15或其他該等資訊儲 料。 内同樣表示為實際量之其他資 1252427 下文中將參照附圖對具體實施例予以詳細說明,該 等附圖係以圖解之形式展示可實施本發明之具體實 施例。在附圖中,類似之編號皆代表各附圖中基本相 似之元件。該等具體實施例之說明極其詳細,藉以使 熟諳此技藝者能夠實施本發明。熟諳此技藝者亦可利 用其他具體實施例並可在不背離本發明範疇之前提 下做結構、邏輯及電氣方面之修改。此外,應瞭解, 儘管本發明之各種具體實施例互不相同,但未必相互 排斥。舉例而言,一個具體實施例中所描述的一具體 特點、結構或特性亦可包含於其他具體實施例中。因 此’下文之詳細說明不應視為具有限定性意義,本發 明之範疇僅由後附之要求專利範圍及歸屬於該等要 求專利範圍之等效方法與裝置之全部範疇界定。 圖1展不可執行本發明之一虛擬機器環境1〇〇具體 貝知例。在該具體實施例中,裸平台硬體丨丨6包含一 汁异平台,其能夠,舉例而言,執行一標準作業系統 (〇S)或虛擬機器監視器(VMM),例如一 VMM 112。 t f VMM 11 2通常係在軟體中執行,但其可模擬一裸 機為η面並匯出至更高階軟體。該更高階軟體可包含 心準0S或即時〇s ’可為—具有有限作業系統功能 性之非常簡陋之作業環境,可不包含傳統之0S設施 等或者,舉例而言,VMM 112可在另一 VMM之内 或之上執仃。VMM及其典型特點及功能性已為熟諸 此技藝之人士所熟知,舉例而言,其可在軟體、韌體 丄252427 中執行或藉由不同祜 J之技術組合加以執行。 如千〇硬體116包含—處理器u 态可為能夠執杆私駚 。己巴體12〇。處理 執仃軟體之任一類形声 口口 微處理器、數竹俨% + 、 处里态,例如一 器。處理器U8可包含用㈣ 制盗或類似之處理 的微程义石…“色 行本發明之方法實施例 平台硬體116可為一 上型裝置、攜帶型電腦 之計算多統。 戗私式碼或硬編碼程式邏輯。 们人%月旬(PC)、大型主機、掌 視讯轉換器或任一其他類型 任己憶體120可為一硬碟、軟碟 _ >、 釈蜾隨機存取記憶體(RAM)、 μ己隐⑲(ROM)、快閃|己憶體或可由處理器工! 8讀取之任 、其他類型m媒體。記憶體12()可儲存用於執行本發明 之方法實施例的指令。 夕VMM 112向其他軟體(即「來訪者」軟體)呈現一或 多個虛擬機器(VM)之抽象概念,該等虛擬機器可向 各來訪者提供相同或不同之抽象概念。圖丨展示兩個 VM 102及114。執行於每一 VM上之來訪者軟體可包 含一來訪者OS(例如來訪者〇s 1〇4或1〇6)及各種來訪 者應用軟體108至110。來訪者〇s 1〇4及106皆希望控 制對正在執行來訪者OS 104或106之VM 102及114内 的實體資源(例如,處理器暫存器、記憶體及記憶體 映射輸出入裝置)之存取權並執行其他功能。 VMM 112可促進來訪者軟體所需之功能性,且同時 保持對平台硬體116内之特權硬體資源的最終控制。 1252427 目—gjjj. 將對:二當來訪者軟體試圖存取-特權·資源時,會 =理器之控制權轉移至vmmu2,接著由侧 軟體7:否執行一所要求之作業(例如,為該來訪者 或拒要未作業,直接代理平台硬體116之作業) 機制源之存取以便保證安全性、可靠性或其他 進來訪者軟體之功能性之行動可包含在侧 的各種活動。vmmu2之活動&其特徵不 μ限疋本發明之範疇。 在'具體實施例中,從來訪者軟體至VMM之控制 權轉移係、* -虛擬機器㈣結構(v M c s) i 2 2中之” ::設定值所控制。VMCS122中之設定值可防止:訪 ,軟體執行可能導致其存取某些特權硬體資源之作 業仏官圖1中僅展示一個該類VMCS,但不同之來訪 者^體可採用不同VMCS記憶體影像中之不同控制位 兀"又疋值來執行。VMCS m駐存於記憶體中並由 處理器118維護。應注意’亦可使用任一其他資料炷 構(例如,晶片上快取記憶體、檔案、查詢表等)儲^ VMCS 122或與各指定硬體資源相關之攔位,且不失盆 通用性。 當來訪者軟體試圖執行一存取受保護資源之作業 時’則會將控制權轉移至VMM 112。VMM 112可存取 王。P平台硬體116。當此一轉移發生時,VMM丨12即接 受對來訪者軟體所起始之作業的控制權。VMM112隨 後可如上所述執行該作業或拒絕存取,並可藉由執= -11 - 1252427 一特殊指令將控制移轉回來訪者軟體。藉由此項機制 達成之來訪者軟體控制在本文中稱作νΜχ作業,從來 訪者軟體至VMM之控制權轉移在本文中稱作— 結束。 在一具體實施例中,某些指令之執行、某些例外狀 況和中斷及某些平台事件皆可引發—vm結束。該等 VM結束之潛在原因在本文中稱作虛擬化事件。舉例 而言,當來訪者軟體試圖執行一可能使其存取某些特 權硬體資源(例如一控制暫存器或一 1〇埠)之作業(例 如一指令)時,即可能產生一 VM結束。 在一具體實施例中,當一 VM結束發生時,會儲存 來訪者軟體所使用之處理器狀態組成,並且載入vmm 112所需之處理器狀態組成。視處理器Ι§Α而定,此種 處理器狀恶之儲存及載入可具有改變使用中之位址 空間的效應(例如在IA_32 ISA中,使用中之位址空間 係由控制暫存器中之值所決確定,其可在出現VM結 束時被儲存及還原)。在一具體實施例中,來訪者軟 體所用之處理器狀態組成儲存於VMCS 122的一來訪 者狀恶區域中,VMM丨12所需之處理器狀態組成則儲 存於VMCS 122的一監視器狀態區域中。 在一具體實施例中,當發生一從VMM轉移至來訪 者軟體時’出現VM結束時所儲存的處理器狀態被還 原’且控制權傳回至來訪者0S 104或106、或來訪者 應用軟體108或11〇。 -12- 1252427 在一具體實施例中,當出現一 VM結束時,會在 v M C S 12 2中所描述之一特定進入點(例如一指令=標 值)處將控制權移轉至VMM Η2。在另一具體實:: 中,在經由一重定向結構(例如,IA_32 ISA内之中斷 描述符表)導引之後將控制權移轉至VM 112。或者, 吾人亦可使用該技藝領域中已知之任一其他機制將 控制權從來訪者軟體移轉至VMM 112。 —由於需要受到保護以免遭來訪者軟體存取之硬體 資源元件數量巨大且該等存取會頻繁發生,因此,具 有與此類保護及虛擬化相關的大幅效能成本。此外/ ', 來訪者軟體所起始之作業會涉及一特權資源之存 取,該存取可不引發安全及VM 102及114適當運作方 面之問題。舉例而言,在ia_S2 ISA中,控制暫存器〇 (CRO)包括一工作切換(TS)位元,其用於藉由在存取 浮點狀態之前避免儲存及還原浮點狀態來最佳化内 容切換。來訪者0S藉由清除工作切換旗標…以㈨指 令達成之ts位元更新可不引發系統安全性及vm 1〇2 及114適當運作方面之問題。反之,由於cr〇之分頁 啟用(PG)位元負責組態處理器之作業模式,因此必 須由VMMH2以獨佔方式來控制該位元。在某些狀況 下’ VMM 112可不允許來訪者軟體停用分頁,因此其 必須控制來訪者軟體停用分頁之嘗試。 在-具體實施例中’提供一 _選機制,藉以減小因 來訪者軟體如存取暫存器之類的硬體資源(例如,控 -13- 1252427 制暫存器、通用暫存器、模型專用暫存器等 體架構型資源(例如記憶體中之分頁控制攔:記憶 引發的VM結束次數。吾人應注意,儘管下文中泉所 一暫存器對本發明之一具體實施例予以說明,但:照 毛明之内容亦可適用於任一其他硬體資源, = 通用性。 +失其 篩選機制使用與每一指定硬體資源相關之— 個攔位而發揮功效,下文中將對此予以更詳細之二 :°在了具體實施例中,與每—指定硬體資源相關: 欄位都包含於一 VMCS 122中。 圖2為處理程序2〇〇 一 理寇例之流程圖,該處 ^序用^選來訪者軟體對—硬體資源(例如一暫 子為之存取。該處理程序可藉由處理邏輯執
St含硬體(例如電路 '專用邏輯、心 勃人-例如在-般用途電腦系統或一專用機器上 執1丁之軟體)亦或包含兩者之組合。 二見圖2處理程序2⑻以用於從來訪者軟體接收一 命^處理邏輯開始(處理步驟2〇2),該命令與一暫 :”或夕個部分相關。-個暫存器部分可為該暫 存裔之一特定罝一# 一 > 1 扫 非鄰接恤元。關於:等暫/暫存器之多個(鄰接或 取指令(要求自:等暫/存器部分之命令可為-讀 ^(2求將-貝料寫入至些該等暫存器部分)。該暫 α 控制暫存器(例如ΙΑ·32 ISA内之CRO或 1252427 CR4)'—整數暫存器或任一 i 型之資源。 八他暫存益或記憶體架構 隨後,處理邏Μ白 、ώ Ρ , (處理步驟2二;位讀取對應之指示項 該等部分的 '组指;^ 相對於該暫存器之 ^ ^ ^ ^ 頁舉例而吕,若暫存器為一32 位几控制暫存器(例如Ia_32isa内之⑽或⑽),列 :遮罩攔位可包含32個指示項,其中每一指 對 應於控制暫存器中之一 、、 所具有的指示項可少於或者’該遮罩攔位 因在於:暫存器可:有来::”位元之數量,其原 ^ ^ 5 /、有未使用之位疋,遮罩欄位内之 項可對應於兩或多個 因。遮罩欄位内每—指示項皆可提供關於某—部分= 又來斿者控制(即允許來訪者軟體存取暫存器之對庫 部分)或係受控制之資訊。在本發明之-具= =中’假定暫存器内無對應遮罩位元之位元處於來 =盆t制之下。在本發明之另一具體實施例中,則假 定其處於VMM控制之下。 在決定步驟206中,處理邏輯依據遮罩攔位内之對 應指不項來決定是否允許來訪者軟體存取該暫存琴 t的全部所要求部分。若決定結果為「是」,處理邏 輯=對所要求暫存&部分執行命令(處理步驟2〇8)。 換言之’處理邏輯自該暫存器中所要求部分讀取資料 或向其寫入資料。 ' 否則,若決定步驟206之決定結果為「否」,則在一 -15- 1252427 具體實施例中,處理邏輯將控制權移轉至vmm (處理 步驟210)。 在替代具體實施例中,使用一額外欄位進一步減 小將控制權移轉至VMM之次數。該額外欄位在本文 中稱作陰影值欄位。該陰影值攔位之每一部分皆對應 於暫存器之一特定部分,並儲存有來訪者 該暫存器部分t看到之值。在本發明之—具體;施= 陰办值攔位之值係由VMM維護且儲存於vmc S 中。在了具體實施例中,僅其遮罩欄位中之指示項指 示來訪者軟體不能存取該等暫存器部分的暫存器部 分才在陰影值攔位中具有對應之部分。舉例而言,在 A 32 ISA中,若遮罩攔位内指示項之值指示不允許來 纺者軟體存取CR0中之位元丨至⑺,則陰影值攔位之 大小將僅限於相對應於CR0之位元!至1〇的1〇個位 兀。在另一具體實施例中,在遮罩攔位中具有一指示 項(無論其取值如何)之每個暫存器部分皆在陰影值 攔位中具有一對應部分。 圖4為處理程序4〇〇之一具體實施例之流程圖,該處理程 :提供來訪者軟體對-硬體資源(例如-暫存器)之存取的 、.篩選在一具體貫施例中,處理程序400取代了圖2 所不之塊210。該處理程序可由處理邏輯執行,處理邏輯可 包含硬體(例如電路、專用邏輯、微程式碼等)、軟體(例如 在—通用電腦系統或-專用機器上執行之軟體)亦或包含 兩者之組合。 1252427 多 S 處理程序4 0 0開始於處理步驟4 〇 2,# =先依據-遮罩搁位内對應之一或多個指= λ 、&正在所存取之一或多個暫存器部分是否處於 VMM控制之下(如同上文結合圖2之說明)。 、 炚後,在決定步驟4〇3内,處理邏輯決定該存取η 2為#將貧料寫入至該暫存器中所要求部分之命 ▽右决疋結果為「是」(即該存取為一寫入命令), 貝J處理邏輯決定:針對在VMM控制下之所有部分, 來=者希望寫入至每一部分的資料是否等於儲存於 :讀取陰影攔位之對應部分的資料(決定步驟4〇4)。、 f f決定對於所有VMM控制下之受到要求部分皆為 「是」,則允許來訪者將資料寫入至所有處於來訪者 控制下之實際暫存器資源部分(由遮罩攔位中之對應 位兀確疋)(處理步驟4〇5),至此,處理程序*⑻绪束。 若該決定對於處於VMM控制下之任何要求部分為 「否」,則處理邏輯將控制權移轉至VMM (處理步驟 4〇6)。此後,VMM根據其執行要求之需要更新陰影值 欄位之對應部分及實際暫存器資源,並將控制權移轉 回來訪者軟體。 或者若來#者軟體所起始之命令係一自該暫存器中所 要求邵分讀取資料之命令,則不會將控制權移轉至VMM。 具體而s,處理邏輯針對所有處於VMM控制下之所要求部 刀來存取陰影值欄位内之對應部分(處理步騾412),並將儲 存於陰影值欄位該等部分中之資料與來自實際暫存器資源 -17· 1252427 中處於來訪者控制下之資源部分之值一同傳回至來訪者軟 體(處理步驟414)。 下文將對一具體實施例予以更詳細之說明,在該具體實 施例中經由上文中已參照圖1予以詳述的VMX作業來支搓 將控制權移轉至VMM。 在一具體實施例中,VMM維護一組控制位元,用 以組態哪些虛擬化事件將引發一 VM結束。該組控制 位元在本文中稱作重定向映射。在一具體實施例中-, 該重疋向映射包含於圖1所示VMCS 122中。當偵測到 發生一虛擬化事件時,將即刻查詢重定向映射,以尋 找一與該虛擬化事件相關之無條件結束位元。該位元 可指示該虛擬化事件是否無條件地引發一 VM結束。 2例而言,對於每一控制暫存器,重定向映射皆可包 含兩個位元,其中一個位元在來訪者要求讀取控制暫 存器内之資料時控制VM結束,另一個位元則在來訪 者要求將資料寫入至控制暫存器時控制VM結束。 此外,在一具體實施例中,對於每一指定資源(例如 1=21认令之CR0或CR4),重定向映射皆包括一用於 私不一遮罩攔位是否用於該資源之位元,及一用於指 不一陰影值攔位是否用於該資源之位元。 、圖5為處理程序之—具體實施例之流程圖,該處理程 使用重疋向映射以在VMX作業期間來控制硬體資源 例如-暫存器)之存取。該處理程序可由處理邏輯執行,處 哩邏輯可包含硬體(例如電路、專用邏輯、微程式碼等)、軟 -18- 1252427 體(例如在一通用電腦系統或一專用機器上執行之軟體)亦 或包含兩者之組合。 參見圖5,處理程序5〇〇開始於處理步騾5〇2,處理邏輯首 先識別是否因來訪者軟體要求存取硬體資源之一部分(例 如一控制暫存器)而引發一虛擬化事件發生。該要求或為一 自一特定暫存器之一或多個部分讀取資料之命令,或為一 將資料窝入至一特定暫存器之一或多個部分之命令。 在處理步驟504,處理邏輯將查詢重定向映射,以 決定是—否已設定與該虛擬化事件相關之無條件結束 位儿(決定步驟506)。若已設定該位元,處理邏輯將 觸發一 VM結束(處理步驟522)。舉例而言,在ia_32isa 中,重定向映射可包括若干位元,其可在寫入至 CR2、項取CR0、寫入至CR4等時無條件引發謂結束。 或者,若未設定該無條件結束位元,處理邏輯將進 一步決定是否一遮罩攔位將用於該暫存器(決定步驟 5〇8)。該決定係使用重定向映射中—指定位元做出。 舉例而言’加2 ISA中’重定向映射中可存在指示 下列事項之位元:是否有一遮罩用於cr〇,是否一 罩用於CR4 ’等等。若遮罩攔位不用於該暫存器,處 理邏輯將對所要求暫存器部分執行所要求之讀取或 寫入命,(處理步驟514)。反之,處理邏輯將讀取與 該暫存15中所要求部分對應之遮罩攔位位元(處理步 驟51〇)。該等位元稱作所要求之遮罩攔位位元。檢杳 所要求之遮罩攔位位元以決定是否已設定該等位; -19- 1252427 中的或多個位元(指示對應暫存器部分中有一少 個部份處於VMM控制之下;決定步驟512)。思夕 右所要求之遮罩攔位位元都未被設定(即允許 者軟體存取該暫存器中的全部所要求部分),列處理 邏輯將對該等暫存H部分執行所要求之讀取或寫入 =(處理步驟514)。否則,若已設定所要求遮罩攔 位中=元,處理邏輯將依據重定向映射中—指定位 兀決定是否將-陰影值攔位用於暫存器(決定曰:驟 幻6)。舉例而言,在 ^疋/驟 重疋向映射令可存 兀,以指示一陰影值是否用於CRO存取 '用 於CR4。存取等等。若陰影值攔位將不用於暫存器,产 理邏輯觸發一 VM結束(處理步驟522)。 ==攔,擬用於暫存器且由來訪者軟體所起 二:讀取命令(決定步驟517),則處理邏輯 項取對應於該等暫存器部分之陰影值攔位位元(盆在 所要求之遮罩攔位中已設定該等部份且因此處於 ΓΓ控Γ之下)(處理步驟518)。來自陰影值搁位之該 疋與來自實際暫存器之位元(其對應於所要求之 遮罩攔位中未設定且因此處於來訪者控制之下:: 疋)組合在—起。此後’將該等組合值傳回至來訪者 =古:自暫存器讀取在遮罩欄位及/或陰影值攔位 示之受保護資源中之位元值。 欄位擬用於暫存器但來訪者軟體所起始 乂為一寫入命令,則處理邏輯會比較要求寫入至 -20- 1252427 處於VMM控制下之暫存器位元之值與陰影值欄位中 對應位元之值(決定步驟520)。若上述兩個數值相 同,則寫入至處於來訪者控制下之所要求暫存器部分 (處理步驟51 9)。換言之’會寫入至處於來訪者控制 下之位兀;而處於VMM控制下之位元則保持不變。 在一具體實施例中,若假定在遮罩攔位及/或陰影值 攔位中未有表示之暫存器位元係處於來訪者控制之 下貝】亦可寫入至該等位元。在另一具體實施例中-, 因假定未表示之位元處於VMM控制之下,故未將資 料寫入至該等位元。否則,若在決定步驟52〇中所比 較的兩個值係不同,則處理邏輯觸發一 VM結束(處理 步驟522)。 在一具體實施例巾’由VMM預定義了用於韩選vm 結束之一組準則。該準則係以儲存於一遮罩攔位及一 陰影值欄位内之數值與來訪者軟體希望寫入至暫存 器之值的組合為基礎。圖3為處理程序3〇〇之一具體實
施例之流程圖,該處理程序使用一組準則來筛選VM 結束。該處理程序可由處理邏輯執行,處理邏輯可包 含硬體(例如電路、專用邏輯、微程式碼等)、軟體(例 如在一通用電腦系統或一專用機器上執行之軟體)亦 或包含兩者之組合。 參見圖3,在處理程序3〇〇中,處理邏輯首先決定來 訪者軟體之存取是否為一將資料寫入至一暫存器之 要求(決定步驟302)。若決定結果為「否」,即該存取 -21 - 1252427 係一讀取暫存器資料之要求,則使用下列運算式確定 該讀取要求之結果值: DEST= (MF AND SVF) OR (NOT MF AND CRVAL), 其中AND、NOT及OR係逐一位元型布林運算元,MF 係一遮罩攔位值,SVF係一陰影值襴位值,CRVAL則 係實際受保護暫存器之現行值。若暫存器中之一對應 位元受VMM控制,則設定遮罩欄位中之一位元。否 則,若暫存器中之一對應位元受來訪者軟體控制,則 遮罩欄位中之一對應位元等於零。陰影欄位中之一位 元具有一來訪者軟體期望在暫存器之對應位元中看 到之數值,其可不同於實際暫存器之對應位元之現行 值。 根據上述運算式,若所要求之位元係由來訪者軟體 所控制·,則自暫存器讀取資料;若所要求之位元係·由 VMM所控制,則自陰影值欄位讀取資料。 若處理邏輯在決定步驟302決定來訪者軟體之存取 係一寫入要求,則處理邏輯將依據下列公式來組合遮 罩攔位之值與陰影值欄位之值(處理步驟304): INT1 = MF AND SVF 〇 此外,處理邏輯亦使用下列運算式來組合遮罩欄位 之值與來訪者軟體希望寫入暫存器之值(處理步驟 306): INT2 = MF AND SRC, 其中SRC為來訪者希望寫入暫存器之值。 -22- 1252427 此後’處理邏輯在決定步驟3〇8内比較該等兩個紐 合值二若該等兩個組合相等(即,暫存器中之所有位 =係白由來訪者軟體所控制或皆由VMM所控制,且 陰衫值欄位中對應位元之值等於來訪者軟體希望寫 入暫存器之值),則處理邏輯將在處理步驟3〗2内執 下列運算式: CR= (MF AND CRVAL) 0R (N〇T AND SRC)。 根據該運算式,若暫存器中一位元係由來訪者軟體 所控制」則會將該位元更新為來訪者軟體希望寫入之 值。否則,暫存器t該位元之值將保持不變且不會被 更新。 ^ 暫存器中至 或者’方該荨兩個組合值不相等(即 少一位元係由VMM所控制且陰影值欄位中對應位元 之值不等於來訪者軟體希望寫入暫存器之值),則處 理邏輯將在處理步驟310内觸發結束。 應注意,處理程序300之說明因使用;個暫存器(例 如,IA-32ISA中之CR0暫存器為32位位元)與寬度為^ 位位元之遮罩攔位及陰影值欄位而得以簡化。然而, 凡熟習此項技藝之人士即知,本發明 知月之具體實施例亦 可適用於僅存取暫存器位元之有限子集或存取多個 暫存器之位元之讀取及寫入作業。此外’熟諳此技蓺 者應能瞭解’本發明亦可應用於各牵涉元件間不存: 位元一位元對應關係之情形(例如,婪、危宠 右遮罩内之位元 應用於受保護資源中多個位元)。 -23 - 1252427 至此,有關控制來訪者軟體存取硬體資源之方法及裝置 4說明已闡述完畢。吾人應瞭解,上述之說明為解說性而 非限制性之說明。在閱讀並理解上述說明後,熟諳此技蔹 者可得出許多其他具體實施例。因此,本發明之範疇應參 照後附之要求專利範圍及歸屬該等要求專利範圍之等效方 法與裝置之全部範疇確定。 【圖式簡單說明】 本發明係以附圖所示之實例形式,而非限定形式予 、兒月—在附圖中’類似之參考編號代表類似之元件。 圖1展不一可執行本發明之虛擬機器環境1〇〇之一 具體實施例; 圖2為一處理程序之一具體實施例之流程圖,該處 权序用於篩選來訪者軟體對一硬體資源(例如一 存器)之存取; 圖3為一處理程序之一具體實施例之流程圖,該處 私序用於使用一組準則來篩選VM結束; 圖4為一處理程序之一具體實施例之流程圖, 理程序用认 人免 :附加篩選來訪者軟體對一硬體資源(例如 一暫存器)之存取;及 圖5為一處、 使用一 狂序 < 一具體實施例之流程圖,該處理程序 勒/时重义向映射在VMX作業期間控制硬體資源(例如一 督孖奋)之存取。 【圖式代表符號說明】 100 ^ , 虛擬機器環境 -24- 虚擬機器抽象概念1 來訪者〇s 來訪者OS 來訪者應用軟體 來訪者應用軟體 虚擬機器監視器(VMM) 虚擬機為抽象2 平台硬體 _ 處理器 記憶體 虛擬機器控制結構(VMCS) 處理程序 自來訪者軟體接收一與一暫存器之一或多個部 -分相關之命令 - 自一遮罩欄位讀取對應之指示項 來訪者軟體是否存取所有暫存器部分? 對該等暫存器部分執行該命令 將控制權移至VMM 處理程序 該存取是否為一料寫入至暫存器之命令? INT1=MF AND SVF INT2=MF AND SRC INT1=INT2? VM結束 •25 · 1252427 312 CR=(MF AND CRVAL) OR (NOT MF AND SRC) 314 DEST=(MF AND SVF) OR (NOT MF AND CRVAL) 400 處理程序 402 使用一遮罩欄位内之對應指示項決定正在受到存 取之一或多個暫存器部分處於VMM控制之下 403 該存取是否為一寫入命令? 404 寫入至處於VMM控制下之暫存器部分之資料是 否與陰影值欄位之對應部分中之資料相同?- 405 _ 將資料寫入至處於來訪者控制下之受保護資源之 部分 406 將控制權移轉至VMM 412 存取處於VMM控制下之陰影值欄位部分 414 組D並返回儲存於陰影值欄位中控制部分中 - 中之資料及受保護資源中來詩者控制部分之資料 500 處理程序 502 識別一虛擬化事件之出現 504 查詢重定向映射 506 是否已設定重定向映射中對應於該虚擬化事件之 無條件結束位元? 508 ^ 口將用於遮罩欄位之位元設置用於該暫存器? 510 讀取遮罩獅巾料求暫存器部分之位元 512 邊寺遮罩欄仙之位元中是否有已設定之位元? 514 對該暫存器中所要求部分執行作業 516 用万、陰影值欄位〈位元是否設置用於該暫存器? -26 - 1252427 517 來訪者存取是否為一讀取命令? 518 根據遮罩自陰影值欄位及暫存器讀取資料 519 窝入允許來訪者存取之暫存器部分 520 擬寫入之資料是否與陰影值欄位中之資料相同? 522 VM結束 -27-
Claims (1)
- I252f?k9s=4 年 u 月) 拾、申請專利範園·· 1· -種藉來#者軟體而控制存取之方法,其包括· 夕自來訪者軟體接收—命令,該命令與1暫存器之 夕個邵分相關; 或 依據-遲罩欄位内相對應於該暫存器之—或 的-或多個指示項,決定該來 #刀 存器之-或多個部分;及 者“…存取該暫 軟體可存取該暫存器之-或多個部分之每 2根櫨Φ :…, 4存。…或多個部分之 2·根據h專利範圍第1 組指示项,該奸亍…-中㈣罩攔位包括一 々杜、 員内母一指示項皆對應於該暫存哭 < 一特疋邵分,並指千e S存口口 存器之特U分。°'允許該來㈣軟體存取該暫 3·=據U專利範圍第1項之方法,其中該暫存器之 4 , 每一部分皆代表該暫存器之-特定位元, •根據申請專利範圍第i項 暫存器。 -万法’其中該暫存器係 5.t據中請專利範圍第1^方法’其中與該暫存器之 夕個邵分相關之該命令 又 或多個部分之命令。將資料寫入至該暫存器 6·根據申請專利範園第5 、 之一或多個部分之該命ΓΓΙ其中執行有關該暫 —或多個部分。 7包括將資料寫入至該暫存 7_根據申請專利範圍第5项 万法,其進一步包括: 1252427 Μ年(f月相修正替換頁I 依據該遮罩欄位内> ^ <對應扣不項,決定該來訪者軟體 不可存取該暫存器之一 、 〜或多個邵分中至少一部分; :測要求寫入該暫存器之一或多個部分中至少一部分 々貝科不同於該來#者軟體期㈣存在該暫存器之 夕個部分中至少一部分中的值;及 ^ 將控制推移韓至一.^ , 得 虛铋機器監視器(VMM)。 •根據申請專利範圍第5 、 ^月炙万法,其進一步包括·· 依據該遮罩欄位内之對 對應扣不項,決疋該來訪者軟體 不可存取該暫存器之-或多個部分中至少一部分; 價測要求窝入該暫存器之一或多個部分中至少一部分 的資料相同於該來詩者軟體期望儲存在該暫存器之一或 多個部分中至少一部分中的值;及 將資料寫入至允許該來諸者軟體存取之該暫存器之一 或多個部分之任一部分。 9.根據申請專利範圍第7項之方法’其中偵測該資料不同於 期望儲存在孩暫存器之一或多個部分中的值包括:比較 該資料與一陰影值欄位之一或多個對應部分之值。乂 10·根據申請專利範圍第9項之方法,其進一步包括· 該VMM使用該資料來更新該陰影值欄位。 11·根據申請專利範圍第1項之方法,並中盥 、 ,、肀與琢暫存器之該部 分相關之命令係一自該暫存器之一戋多 4夕個4分碩取資料 之命令。 ' 12.根據申請專利範圍第1 1項之方法,其中該對兮暫广仰、 一或多個部分執行該命令包括自該智左 ' 弔存為 < —或多個部 1252427 I n 分讀取資料。 13.根料請專利_第"項之方法,其進—步包括. ?據該遮罩攔位内之一或多個對應指示項,決定該來 :者軟體不可存取該暫存器之_或多個部分中至少一部 存取允許該來訪者軟體存取之該暫存器之—或 -έκ yV · 個兽 分之任一部分 陰影值搁位之-或多個部分,該陰影值搁位 $夕個邵分相對應於該暫存器之—或多 一部分; 丁 組合儲存於該陰影值欄位之一或多 义夕個對應邵分的資; :、:存於允許該來訪者軟體存取之該暫存器之一或多, 分之任一部分的資料;及 將該組合資料傳回至該來訪者軟體。 4·—種藉來訪者軟體而控制存取之系統,其包括: 一記憶體;及 ~處理器,其與該記憶體相耦聯,用於:自來訪者; 體接收一與一暫存器之一或多個部分相關之命依1 :遮罩欄位内相對應於該暫存器之—或多個部分的一』 夕個彳日不項,決定該來訪者軟體是否可存取該暫存器: y或多個部分;並且,若該來訪者軟體可存取該暫存丨 '或多個邵分之每一部分,則執行有關該暫存器之-或多個部分之該命令。 •根據申請專利範圍第14項之系統,其中該遮罩欄位包41252427 、、从祁不, $ 相不貝皆對應於該暫 二…特定部分’並指示是否允許該來訪者軟體存取 邊暫存器之特定部分。 16. :據申請專利範圍第14項之系統,其中該暫存器 多個邵分中每一部分皆代表該暫存器之一特定位元。 17. 根據申請專利範圍第14項之系統’其中該暫存器係一 制暫存器。 二 18·根據巾請專利範圍第14項m其中與該暫存器之— 或多個部分相關之命令係一將資料寫入至該暫存器之— 或多個邵分之命令。 19. 根!申請專利範圍第18項之系、统,其中該執行有關該暫 存备<一或多個部分之該命令包括將資料窝入至該暫存 器之一或多個部分。 20. 根據申請專利範圍第18項之系統,其中該處理器亦用 於.依據孩遮罩攔位内之對應指示項,決定該來訪者軟 體不可存取該暫存器之一或多個部分中至少一部分;偵 測所要求寫入至該暫存器之一或多個部分中至少一部分 的資料不同於該來訪者軟體期望儲存在該暫存器之一或 多個邵分中至少一部分中的值;及將控制權移轉至—虛 擬機器監視器(VMM)。 21·根據申请專利範圍第1 8項之系統,其中該處理器亦用 於:依據該遮罩攔位内之對應指示項,決定該來訪者軟 m不可存取该暫存器之一或多個部分中至少一部分,·侦 測所要求寫入至該暫存器之一或多個部分中至少一部分 1252427 的資料相同於該來訪者軟體期望儲存在該暫存器之一或 多個部分中至少一部分中的值;及將資料寫入至已允許 該來訪者軟體存取之該暫存器之一或多個部分之任一部 分。 22.根據申请專利範圍第20項之系統,其中該處理器藉由比 較該資料與一陰影值攔位中一或多個對應部分的值,偵 測出該資料不同於期望儲存在該暫存器之一或多個部分 中的值。 23. 根據巾請專利範圍第18項之系統,纟中該處理器還使用 該資料來更新該陰影值攔位。 24. 根據申請專利範圍第18項之系統,其中與該暫存器之該 邵分相關之命令係一自該暫存器之一或多個部分讀取資 料之命令。 其中该執行有關該暫 自該暫存器之一或多 25·根據申請專利範圍第24項之系統, 存器之一或多個部分之該命令包括 個部分讀取資料。 6·根據中請專利範園第24項之系統,其中該處理器习 2依據該遮罩攔位内之—或多個對應指示項,決; 者軟體不可存取該暫存器之-或多個部分中至: :分,;存取已允許該來#者軟體存取之該暫存器之-二個# <任—部分;存取—陰影值欄位之一或多4 孩陰影值攔位之-或多個部分相對應於該暫存€ 、=f至少;組合儲存於該陰影值^ 〈―或多個對應部分的資料與儲存於該允許該來訪; 1252427 柳7月A日修必正替換頁 體存取之該暫存器之一或多個部 <任一部分的資料; 及將該組合資料傳回至該來訪者軟體。 〃 2H藉來諸者軟體而控制存取之機器可讀媒體,該機器 ^媒體包含指令’以當-處㈣統執行該等指令時, 騎指令可使該處理线實施-種方法,該方法包括: 自來詩者軟體接收-與-暫存器之1多個部分相關 之命令; 依據-遮罩攔位内相對應於該暫存器之一或多個部分 的:或多個指示項’決㈣㈣者軟體是否可存取該暫 存器之一或多個部分;及 一^來#者軟體可存取該暫存器之—或多個部分之每 —邵分’則執行有關該暫存器之部分之該命令。 28. 根據申請專利範圍第27項之機器可讀媒體,其中該遮罩 摘I括,组指不項,該組指示項内之每—指承項皆對 應於該暫存器之-特㈣分,並指示是否允許該來訪者 軟體存取該暫存器之特定部分。 29. :據申請專利範圍第27項之機器可讀媒體,其中該暫存 、、或夕個#分中每一邵分皆代表該暫存器之一特定 位元。 :據申Μ專利範圍第27項之機器可讀媒體,其中該暫存 裔係一控制暫存器。1252427 第〇92108399號專利申請案 中文圖式替換頁(94年11月)1252427 为年丨/月3日修(p正替換頁
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/124,641 US7127548B2 (en) | 2002-04-16 | 2002-04-16 | Control register access virtualization performance improvement in the virtual-machine architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200403586A TW200403586A (en) | 2004-03-01 |
TWI252427B true TWI252427B (en) | 2006-04-01 |
Family
ID=29248379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW092108399A TWI252427B (en) | 2002-04-16 | 2003-04-11 | Control register access virtualization performance improvement in the virtual-machine architecture |
Country Status (7)
Country | Link |
---|---|
US (1) | US7127548B2 (zh) |
EP (1) | EP1520227A2 (zh) |
KR (1) | KR100667146B1 (zh) |
CN (1) | CN1659518B (zh) |
AU (1) | AU2003224791A1 (zh) |
TW (1) | TWI252427B (zh) |
WO (1) | WO2003090070A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI497417B (zh) * | 2014-07-22 | 2015-08-21 | Nat Univ Tsing Hua | 虛擬機器之資料存取方法、資料存取系統與主控端模組 |
US9405565B2 (en) | 2005-07-27 | 2016-08-02 | Intel Corporation | Virtualization event processing in a layered virtualization architecuture |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US7124327B2 (en) * | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture |
US6996748B2 (en) * | 2002-06-29 | 2006-02-07 | Intel Corporation | Handling faults associated with operation of guest software in the virtual-machine architecture |
US7278030B1 (en) * | 2003-03-03 | 2007-10-02 | Vmware, Inc. | Virtualization system for computers having multiple protection mechanisms |
GB0318045D0 (en) * | 2003-08-01 | 2003-09-03 | Mjm Internat Ltd | Foundation garment |
US20050076186A1 (en) * | 2003-10-03 | 2005-04-07 | Microsoft Corporation | Systems and methods for improving the x86 architecture for processor virtualization, and software systems and methods for utilizing the improvements |
US7552426B2 (en) * | 2003-10-14 | 2009-06-23 | Microsoft Corporation | Systems and methods for using synthetic instructions in a virtual machine |
US7475002B1 (en) * | 2004-02-18 | 2009-01-06 | Vmware, Inc. | Method and apparatus for emulating multiple virtual timers in a virtual computer system when the virtual timers fall behind the real time of a physical computer system |
US7418584B1 (en) * | 2004-05-11 | 2008-08-26 | Advanced Micro Devices, Inc. | Executing system management mode code as virtual machine guest |
US7500244B2 (en) * | 2004-06-30 | 2009-03-03 | Intel Corporation | Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments |
US20060005190A1 (en) * | 2004-06-30 | 2006-01-05 | Microsoft Corporation | Systems and methods for implementing an operating system in a virtual machine environment |
US7562179B2 (en) | 2004-07-30 | 2009-07-14 | Intel Corporation | Maintaining processor resources during architectural events |
US8843727B2 (en) * | 2004-09-30 | 2014-09-23 | Intel Corporation | Performance enhancement of address translation using translation tables covering large address spaces |
US9753754B2 (en) * | 2004-12-22 | 2017-09-05 | Microsoft Technology Licensing, Llc | Enforcing deterministic execution of threads of guest operating systems running in a virtual machine hosted on a multiprocessor machine |
US8627315B2 (en) * | 2004-12-31 | 2014-01-07 | Intel Corporation | Apparatus and method for cooperative guest firmware |
US20070006178A1 (en) * | 2005-05-12 | 2007-01-04 | Microsoft Corporation | Function-level just-in-time translation engine with multiple pass optimization |
US7496495B2 (en) * | 2005-05-12 | 2009-02-24 | Microsoft Corporation | Virtual operating system device communication relying on memory access violations |
US7363463B2 (en) | 2005-05-13 | 2008-04-22 | Microsoft Corporation | Method and system for caching address translations from multiple address spaces in virtual machines |
US8839450B2 (en) * | 2007-08-02 | 2014-09-16 | Intel Corporation | Secure vault service for software components within an execution environment |
US7953980B2 (en) | 2005-06-30 | 2011-05-31 | Intel Corporation | Signed manifest for run-time verification of software program identity and integrity |
US7904903B2 (en) * | 2005-06-30 | 2011-03-08 | Intel Corporation | Selective register save and restore upon context switch using trap |
US8312452B2 (en) * | 2005-06-30 | 2012-11-13 | Intel Corporation | Method and apparatus for a guest to access a privileged register |
US7752436B2 (en) | 2005-08-09 | 2010-07-06 | Intel Corporation | Exclusive access for secure audio program |
US7555592B1 (en) * | 2005-08-23 | 2009-06-30 | Parallels Software International, Inc. | Kernel acceleration technology for virtual machine optimization |
US7581085B1 (en) * | 2005-09-08 | 2009-08-25 | Parallels Software International, Inc. | Fast stub and frame technology for virtual machine optimization |
US20070067590A1 (en) * | 2005-09-22 | 2007-03-22 | Uday Savagaonkar | Providing protected access to critical memory regions |
US7748037B2 (en) * | 2005-09-22 | 2010-06-29 | Intel Corporation | Validating a memory type modification attempt |
US7610431B1 (en) * | 2005-10-14 | 2009-10-27 | Sun Microsystems, Inc. | Configuration space compaction |
US8909946B2 (en) | 2005-11-15 | 2014-12-09 | Microsoft Corporation | Efficient power management of a system with virtual machines |
US7434003B2 (en) | 2005-11-15 | 2008-10-07 | Microsoft Corporation | Efficient operating system operation on a hypervisor |
US7506121B2 (en) * | 2005-12-30 | 2009-03-17 | Intel Corporation | Method and apparatus for a guest to access a memory mapped device |
US8607228B2 (en) | 2006-08-08 | 2013-12-10 | Intel Corporation | Virtualizing performance counters |
JP4756603B2 (ja) * | 2006-10-10 | 2011-08-24 | ルネサスエレクトロニクス株式会社 | データプロセッサ |
US8694712B2 (en) | 2006-12-05 | 2014-04-08 | Microsoft Corporation | Reduction of operational costs of virtual TLBs |
US8776041B2 (en) * | 2007-02-05 | 2014-07-08 | Microsoft Corporation | Updating a virtual machine monitor from a guest partition |
US7984483B2 (en) | 2007-04-25 | 2011-07-19 | Acxess, Inc. | System and method for working in a virtualized computing environment through secure access |
US8561060B2 (en) | 2007-04-26 | 2013-10-15 | Advanced Micro Devices, Inc. | Processor and method configured to determine an exit mechanism using an intercept configuration for a virtual machine |
US8032897B2 (en) | 2007-07-31 | 2011-10-04 | Globalfoundries Inc. | Placing virtual machine monitor (VMM) code in guest context to speed memory mapped input/output virtualization |
US8099718B2 (en) | 2007-11-13 | 2012-01-17 | Intel Corporation | Method and system for whitelisting software components |
US8307360B2 (en) * | 2008-01-22 | 2012-11-06 | Advanced Micro Devices, Inc. | Caching binary translations for virtual machine guest |
US20090300307A1 (en) * | 2008-05-30 | 2009-12-03 | International Business Machines Corporation | Protection and security provisioning using on-the-fly virtualization |
US8151099B2 (en) * | 2008-07-01 | 2012-04-03 | Caterpillar Inc. | Virtualized service tool and virtualized control tool |
US8516564B2 (en) * | 2008-07-18 | 2013-08-20 | International Business Machines Corporation | Secure user interaction using virtualization |
US10802990B2 (en) * | 2008-10-06 | 2020-10-13 | International Business Machines Corporation | Hardware based mandatory access control |
US8364601B2 (en) * | 2008-12-31 | 2013-01-29 | Intel Corporation | Methods and systems to directly render an image and correlate corresponding user input in a secure memory domain |
US20100180276A1 (en) * | 2009-01-15 | 2010-07-15 | Jiva Azeem S | Application partitioning across a virtualized environment |
JP4961459B2 (ja) * | 2009-06-26 | 2012-06-27 | 株式会社日立製作所 | 仮想計算機システムおよび仮想計算機システムにおける制御方法 |
US8286164B2 (en) | 2009-08-07 | 2012-10-09 | International Business Machines Corporation | Secure recursive virtualization |
JP5491102B2 (ja) * | 2009-08-27 | 2014-05-14 | ルネサスエレクトロニクス株式会社 | データプロセッサ |
JP5493125B2 (ja) * | 2010-02-05 | 2014-05-14 | 株式会社日立製作所 | 仮想化方法及び計算機 |
US20120060155A1 (en) * | 2010-09-02 | 2012-03-08 | Keys Gregory C | Method, system, and computer readable medium for workflow communication wherein instructions to a workflow application are written by the workflow application |
US9804870B2 (en) * | 2011-10-28 | 2017-10-31 | Intel Corporation | Instruction-set support for invocation of VMM-configured services without VMM intervention |
US9448867B2 (en) * | 2011-12-31 | 2016-09-20 | Intel Corporation | Processor that detects when system management mode attempts to reach program code outside of protected space |
US9223602B2 (en) * | 2012-12-28 | 2015-12-29 | Intel Corporation | Processors, methods, and systems to enforce blacklisted paging structure indication values |
US10162660B2 (en) * | 2015-12-03 | 2018-12-25 | International Business Machines Corporation | Application-level processor parameter management |
US10963280B2 (en) | 2016-02-03 | 2021-03-30 | Advanced Micro Devices, Inc. | Hypervisor post-write notification of control and debug register updates |
US10042571B2 (en) * | 2016-03-31 | 2018-08-07 | Intel Corporation | Techniques to provide run-time protections using immutable regions of memory |
CN107977251B (zh) * | 2016-10-21 | 2023-10-27 | 超威半导体(上海)有限公司 | 对在虚拟化系统中的共享寄存器的排他访问 |
US10180789B2 (en) | 2017-01-26 | 2019-01-15 | Advanced Micro Devices, Inc. | Software control of state sets |
US10558489B2 (en) | 2017-02-21 | 2020-02-11 | Advanced Micro Devices, Inc. | Suspend and restore processor operations |
US11281495B2 (en) | 2017-10-26 | 2022-03-22 | Advanced Micro Devices, Inc. | Trusted memory zone |
Family Cites Families (149)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3699532A (en) | 1970-04-21 | 1972-10-17 | Singer Co | Multiprogramming control for a data handling system |
US3996449A (en) | 1975-08-25 | 1976-12-07 | International Business Machines Corporation | Operating system authenticator |
US4162536A (en) | 1976-01-02 | 1979-07-24 | Gould Inc., Modicon Div. | Digital input/output system and method |
US4037214A (en) | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key register controlled accessing system |
US4247905A (en) | 1977-08-26 | 1981-01-27 | Sharp Kabushiki Kaisha | Memory clear system |
US4278837A (en) | 1977-10-31 | 1981-07-14 | Best Robert M | Crypto microprocessor for executing enciphered programs |
US4276594A (en) | 1978-01-27 | 1981-06-30 | Gould Inc. Modicon Division | Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same |
US4207609A (en) | 1978-05-08 | 1980-06-10 | International Business Machines Corporation | Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system |
JPS5823570B2 (ja) | 1978-11-30 | 1983-05-16 | 国産電機株式会社 | 液面検出装置 |
JPS5576447A (en) | 1978-12-01 | 1980-06-09 | Fujitsu Ltd | Address control system for software simulation |
US4307447A (en) | 1979-06-19 | 1981-12-22 | Gould Inc. | Programmable controller |
US4307214A (en) * | 1979-12-12 | 1981-12-22 | Phillips Petroleum Company | SC2 activation of supported chromium oxide catalysts |
US4319323A (en) | 1980-04-04 | 1982-03-09 | Digital Equipment Corporation | Communications device for data processing system |
US4419724A (en) | 1980-04-14 | 1983-12-06 | Sperry Corporation | Main bus interface package |
US4366537A (en) | 1980-05-23 | 1982-12-28 | International Business Machines Corp. | Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys |
US4403283A (en) | 1980-07-28 | 1983-09-06 | Ncr Corporation | Extended memory system and method |
DE3034581A1 (de) | 1980-09-13 | 1982-04-22 | Robert Bosch Gmbh, 7000 Stuttgart | Auslesesicherung bei einchip-mikroprozessoren |
JPS58140862A (ja) | 1982-02-16 | 1983-08-20 | Toshiba Corp | 相互排他方式 |
US4521852A (en) | 1982-06-30 | 1985-06-04 | Texas Instruments Incorporated | Data processing device formed on a single semiconductor substrate having secure memory |
JPS5960652A (ja) | 1982-09-30 | 1984-04-06 | Fujitsu Ltd | デ−タ処理装置 |
JPS59111561A (ja) | 1982-12-17 | 1984-06-27 | Hitachi Ltd | 複合プロセツサ・システムのアクセス制御方式 |
US4759064A (en) | 1985-10-07 | 1988-07-19 | Chaum David L | Blind unanticipated signature systems |
US4975836A (en) * | 1984-12-19 | 1990-12-04 | Hitachi, Ltd. | Virtual computer system |
JPS61206057A (ja) * | 1985-03-11 | 1986-09-12 | Hitachi Ltd | アドレス変換装置 |
FR2592510B1 (fr) | 1985-12-31 | 1988-02-12 | Bull Cp8 | Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire |
FR2601476B1 (fr) | 1986-07-11 | 1988-10-21 | Bull Cp8 | Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire |
FR2601535B1 (fr) | 1986-07-11 | 1988-10-21 | Bull Cp8 | Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission |
FR2601525B1 (fr) | 1986-07-11 | 1988-10-21 | Bull Cp8 | Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique |
FR2618002B1 (fr) | 1987-07-10 | 1991-07-05 | Schlumberger Ind Sa | Procede et systeme d'authentification de cartes a memoire electronique |
US5007082A (en) | 1988-08-03 | 1991-04-09 | Kelly Services, Inc. | Computer software encryption apparatus |
US5079737A (en) | 1988-10-25 | 1992-01-07 | United Technologies Corporation | Memory management unit for the MIL-STD 1750 bus |
US5434999A (en) | 1988-11-09 | 1995-07-18 | Bull Cp8 | Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal |
FR2640798B1 (fr) | 1988-12-20 | 1993-01-08 | Bull Cp8 | Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable |
JPH02171934A (ja) * | 1988-12-26 | 1990-07-03 | Hitachi Ltd | 仮想計算機システム |
JPH02208740A (ja) * | 1989-02-09 | 1990-08-20 | Fujitsu Ltd | 仮想計算機制御方式 |
US5442645A (en) | 1989-06-06 | 1995-08-15 | Bull Cp8 | Method for checking the integrity of a program or data, and apparatus for implementing this method |
JP2590267B2 (ja) | 1989-06-30 | 1997-03-12 | 株式会社日立製作所 | 仮想計算機における表示制御方式 |
US5022077A (en) | 1989-08-25 | 1991-06-04 | International Business Machines Corp. | Apparatus and method for preventing unauthorized access to BIOS in a personal computer system |
JP2825550B2 (ja) * | 1989-09-21 | 1998-11-18 | 株式会社日立製作所 | 多重仮想空間アドレス制御方法および計算機システム |
CA2010591C (en) | 1989-10-20 | 1999-01-26 | Phillip M. Adams | Kernels, description tables and device drivers |
CA2027799A1 (en) | 1989-11-03 | 1991-05-04 | David A. Miller | Method and apparatus for independently resetting processors and cache controllers in multiple processor systems |
US5075842A (en) | 1989-12-22 | 1991-12-24 | Intel Corporation | Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism |
US5108590A (en) | 1990-09-12 | 1992-04-28 | Disanto Dennis | Water dispenser |
US5230069A (en) * | 1990-10-02 | 1993-07-20 | International Business Machines Corporation | Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system |
US5317705A (en) | 1990-10-24 | 1994-05-31 | International Business Machines Corporation | Apparatus and method for TLB purge reduction in a multi-level machine system |
US5287363A (en) | 1991-07-01 | 1994-02-15 | Disk Technician Corporation | System for locating and anticipating data storage media failures |
US5437033A (en) | 1990-11-16 | 1995-07-25 | Hitachi, Ltd. | System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode |
US5255379A (en) | 1990-12-28 | 1993-10-19 | Sun Microsystems, Inc. | Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor |
US5453003A (en) | 1991-01-09 | 1995-09-26 | Pfefferle; William C. | Catalytic method |
US5319760A (en) | 1991-06-28 | 1994-06-07 | Digital Equipment Corporation | Translation buffer for virtual machines with address space match |
US5522075A (en) | 1991-06-28 | 1996-05-28 | Digital Equipment Corporation | Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces |
US5455909A (en) | 1991-07-05 | 1995-10-03 | Chips And Technologies Inc. | Microprocessor with operation capture facility |
JPH06236284A (ja) | 1991-10-21 | 1994-08-23 | Intel Corp | コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム |
US5627987A (en) | 1991-11-29 | 1997-05-06 | Kabushiki Kaisha Toshiba | Memory management and protection system for virtual memory in computer system |
WO1993013482A1 (en) | 1992-01-02 | 1993-07-08 | Amdahl Corporation | Computer system with two levels of guests |
US5574936A (en) * | 1992-01-02 | 1996-11-12 | Amdahl Corporation | Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system |
US5486529A (en) | 1992-04-16 | 1996-01-23 | Zeneca Limited | Certain pyridyl ketones for treating diseases involving leukocyte elastase |
US5421006A (en) | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US5237616A (en) | 1992-09-21 | 1993-08-17 | International Business Machines Corporation | Secure computer system having privileged and unprivileged memories |
US5293424A (en) | 1992-10-14 | 1994-03-08 | Bull Hn Information Systems Inc. | Secure memory card |
US5796835A (en) | 1992-10-27 | 1998-08-18 | Bull Cp8 | Method and system for writing information in a data carrier making it possible to later certify the originality of this information |
JP2765411B2 (ja) | 1992-11-30 | 1998-06-18 | 株式会社日立製作所 | 仮想計算機方式 |
US5668971A (en) | 1992-12-01 | 1997-09-16 | Compaq Computer Corporation | Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer |
JPH06187178A (ja) * | 1992-12-18 | 1994-07-08 | Hitachi Ltd | 仮想計算機システムの入出力割込み制御方法 |
US5483656A (en) | 1993-01-14 | 1996-01-09 | Apple Computer, Inc. | System for managing power consumption of devices coupled to a common bus |
ATE127194T1 (de) * | 1993-02-08 | 1995-09-15 | Lautenschlaeger Mepla Werke | Möbelscharnier. |
US5469557A (en) | 1993-03-05 | 1995-11-21 | Microchip Technology Incorporated | Code protection in microcontroller with EEPROM fuses |
FR2703800B1 (fr) | 1993-04-06 | 1995-05-24 | Bull Cp8 | Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre. |
FR2704341B1 (fr) | 1993-04-22 | 1995-06-02 | Bull Cp8 | Dispositif de protection des clés d'une carte à puce. |
JPH06348867A (ja) | 1993-06-04 | 1994-12-22 | Hitachi Ltd | マイクロコンピュータ |
FR2706210B1 (fr) | 1993-06-08 | 1995-07-21 | Bull Cp8 | Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants. |
US5555385A (en) * | 1993-10-27 | 1996-09-10 | International Business Machines Corporation | Allocation of address spaces within virtual machine compute system |
US5825880A (en) | 1994-01-13 | 1998-10-20 | Sudia; Frank W. | Multi-step digital signature method and system |
US5459869A (en) | 1994-02-17 | 1995-10-17 | Spilo; Michael L. | Method for providing protected mode services for device drivers and other resident software |
US5604805A (en) | 1994-02-28 | 1997-02-18 | Brands; Stefanus A. | Privacy-protected transfer of electronic information |
FR2717286B1 (fr) | 1994-03-09 | 1996-04-05 | Bull Cp8 | Procédé et dispositif pour authentifier un support de données destiné à permettre une transaction ou l'accès à un service ou à un lieu, et support correspondant. |
US5684881A (en) | 1994-05-23 | 1997-11-04 | Matsushita Electric Industrial Co., Ltd. | Sound field and sound image control apparatus and method |
US5539828A (en) | 1994-05-31 | 1996-07-23 | Intel Corporation | Apparatus and method for providing secured communications |
US5473692A (en) | 1994-09-07 | 1995-12-05 | Intel Corporation | Roving software license for a hardware agent |
JPH0883211A (ja) | 1994-09-12 | 1996-03-26 | Mitsubishi Electric Corp | データ処理装置 |
EP0706275B1 (en) * | 1994-09-15 | 2006-01-25 | International Business Machines Corporation | System and method for secure storage and distribution of data using digital signatures |
FR2725537B1 (fr) | 1994-10-11 | 1996-11-22 | Bull Cp8 | Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe |
US5903752A (en) | 1994-10-13 | 1999-05-11 | Intel Corporation | Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system |
US5606617A (en) | 1994-10-14 | 1997-02-25 | Brands; Stefanus A. | Secret-key certificates |
US5564040A (en) | 1994-11-08 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a server function in a logically partitioned hardware machine |
US5560013A (en) | 1994-12-06 | 1996-09-24 | International Business Machines Corporation | Method of using a target processor to execute programs of a source architecture that uses multiple address spaces |
US5555414A (en) * | 1994-12-14 | 1996-09-10 | International Business Machines Corporation | Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals |
US5615263A (en) | 1995-01-06 | 1997-03-25 | Vlsi Technology, Inc. | Dual purpose security architecture with protected internal operating system |
US5764969A (en) | 1995-02-10 | 1998-06-09 | International Business Machines Corporation | Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization |
FR2731536B1 (fr) | 1995-03-10 | 1997-04-18 | Schlumberger Ind Sa | Procede d'inscription securisee d'informations dans un support portable |
US5717903A (en) | 1995-05-15 | 1998-02-10 | Compaq Computer Corporation | Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device |
JP3451595B2 (ja) | 1995-06-07 | 2003-09-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ |
US5684948A (en) | 1995-09-01 | 1997-11-04 | National Semiconductor Corporation | Memory management circuit which provides simulated privilege levels |
US5633929A (en) | 1995-09-15 | 1997-05-27 | Rsa Data Security, Inc | Cryptographic key escrow system having reduced vulnerability to harvesting attacks |
US5737760A (en) | 1995-10-06 | 1998-04-07 | Motorola Inc. | Microcontroller with security logic circuit which prevents reading of internal memory by external program |
US6093213A (en) * | 1995-10-06 | 2000-07-25 | Advanced Micro Devices, Inc. | Flexible implementation of a system management mode (SMM) in a processor |
JP3693721B2 (ja) | 1995-11-10 | 2005-09-07 | Necエレクトロニクス株式会社 | フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法 |
US5657445A (en) | 1996-01-26 | 1997-08-12 | Dell Usa, L.P. | Apparatus and method for limiting access to mass storage devices in a computer system |
US5835594A (en) | 1996-02-09 | 1998-11-10 | Intel Corporation | Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage |
US6542919B1 (en) * | 1996-03-22 | 2003-04-01 | Koninklijke Philips Electronics N.V. | Operating system for use with protection domains in a single address space |
US5809546A (en) | 1996-05-23 | 1998-09-15 | International Business Machines Corporation | Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers |
US5729760A (en) | 1996-06-21 | 1998-03-17 | Intel Corporation | System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode |
US5944821A (en) | 1996-07-11 | 1999-08-31 | Compaq Computer Corporation | Secure software registration and integrity assessment in a computer system |
US6199152B1 (en) * | 1996-08-22 | 2001-03-06 | Transmeta Corporation | Translated memory protection apparatus for an advanced microprocessor |
US5740178A (en) | 1996-08-29 | 1998-04-14 | Lucent Technologies Inc. | Software for controlling a reliable backup memory |
US5937063A (en) | 1996-09-30 | 1999-08-10 | Intel Corporation | Secure boot |
US5844986A (en) | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US5935242A (en) | 1996-10-28 | 1999-08-10 | Sun Microsystems, Inc. | Method and apparatus for initializing a device |
US5852717A (en) | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
US5901225A (en) | 1996-12-05 | 1999-05-04 | Advanced Micro Devices, Inc. | System and method for performing software patches in embedded systems |
US5757919A (en) | 1996-12-12 | 1998-05-26 | Intel Corporation | Cryptographically protected paging subsystem |
US5953502A (en) | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
JP4000654B2 (ja) * | 1997-02-27 | 2007-10-31 | セイコーエプソン株式会社 | 半導体装置及び電子機器 |
US6044478A (en) * | 1997-05-30 | 2000-03-28 | National Semiconductor Corporation | Cache with finely granular locked-down regions |
US6175924B1 (en) * | 1997-06-20 | 2001-01-16 | International Business Machines Corp. | Method and apparatus for protecting application data in secure storage areas |
US6035374A (en) * | 1997-06-25 | 2000-03-07 | Sun Microsystems, Inc. | Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency |
GB9714181D0 (en) * | 1997-07-05 | 1997-09-10 | Bp Chem Int Ltd | Polymerisation catalyst |
US5978475A (en) * | 1997-07-18 | 1999-11-02 | Counterpane Internet Security, Inc. | Event auditing system |
US5919257A (en) | 1997-08-08 | 1999-07-06 | Novell, Inc. | Networked workstation intrusion detection system |
DE19735948C1 (de) * | 1997-08-19 | 1998-10-01 | Siemens Nixdorf Inf Syst | Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung |
US5935247A (en) | 1997-09-18 | 1999-08-10 | Geneticware Co., Ltd. | Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same |
US6108644A (en) * | 1998-02-19 | 2000-08-22 | At&T Corp. | System and method for electronic transactions |
US6131166A (en) * | 1998-03-13 | 2000-10-10 | Sun Microsystems, Inc. | System and method for cross-platform application level power management |
US7194092B1 (en) * | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
US6327652B1 (en) * | 1998-10-26 | 2001-12-04 | Microsoft Corporation | Loading and identifying a digital rights management operating system |
US6609199B1 (en) * | 1998-10-26 | 2003-08-19 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US6282650B1 (en) * | 1999-01-25 | 2001-08-28 | Intel Corporation | Secure public digital watermark |
US7111290B1 (en) * | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
US6560627B1 (en) * | 1999-01-28 | 2003-05-06 | Cisco Technology, Inc. | Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore |
US6188257B1 (en) * | 1999-02-01 | 2001-02-13 | Vlsi Technology, Inc. | Power-on-reset logic with secure power down capability |
US7225333B2 (en) * | 1999-03-27 | 2007-05-29 | Microsoft Corporation | Secure processor architecture for use with a digital rights management (DRM) system on a computing device |
US6615278B1 (en) * | 1999-03-29 | 2003-09-02 | International Business Machines Corporation | Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment |
US6684326B1 (en) * | 1999-03-31 | 2004-01-27 | International Business Machines Corporation | Method and system for authenticated boot operations in a computer system of a networked computing environment |
US6651171B1 (en) * | 1999-04-06 | 2003-11-18 | Microsoft Corporation | Secure execution of program code |
US6275933B1 (en) * | 1999-04-30 | 2001-08-14 | 3Com Corporation | Security system for a computerized apparatus |
US6529909B1 (en) * | 1999-08-31 | 2003-03-04 | Accenture Llp | Method for translating an object attribute converter in an information services patterns environment |
JP3710671B2 (ja) * | 2000-03-14 | 2005-10-26 | シャープ株式会社 | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 |
US6678825B1 (en) * | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
GB0020416D0 (en) * | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Trusted system |
US7631160B2 (en) * | 2001-04-04 | 2009-12-08 | Advanced Micro Devices, Inc. | Method and apparatus for securing portions of memory |
US6976136B2 (en) * | 2001-05-07 | 2005-12-13 | National Semiconductor Corporation | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller |
US7676430B2 (en) * | 2001-05-09 | 2010-03-09 | Lenovo (Singapore) Ptd. Ltd. | System and method for installing a remote credit card authorization on a system with a TCPA complaint chipset |
US7191464B2 (en) * | 2001-10-16 | 2007-03-13 | Lenovo Pte. Ltd. | Method and system for tracking a secure boot in a trusted computing environment |
US7103771B2 (en) * | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
US20030126453A1 (en) * | 2001-12-31 | 2003-07-03 | Glew Andrew F. | Processor supporting execution of an authenticated code instruction |
US7308576B2 (en) * | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module |
US7107460B2 (en) * | 2002-02-15 | 2006-09-12 | International Business Machines Corporation | Method and system for securing enablement access to a data security device |
US7343493B2 (en) * | 2002-03-28 | 2008-03-11 | Lenovo (Singapore) Pte. Ltd. | Encrypted file system using TCPA |
US7318141B2 (en) * | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
-
2002
- 2002-04-16 US US10/124,641 patent/US7127548B2/en not_active Expired - Lifetime
-
2003
- 2003-03-27 KR KR1020047016638A patent/KR100667146B1/ko not_active IP Right Cessation
- 2003-03-27 WO PCT/US2003/009482 patent/WO2003090070A2/en active Search and Examination
- 2003-03-27 AU AU2003224791A patent/AU2003224791A1/en not_active Abandoned
- 2003-03-27 EP EP03721481A patent/EP1520227A2/en not_active Withdrawn
- 2003-03-27 CN CN03813694.5A patent/CN1659518B/zh not_active Expired - Fee Related
- 2003-04-11 TW TW092108399A patent/TWI252427B/zh not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9405565B2 (en) | 2005-07-27 | 2016-08-02 | Intel Corporation | Virtualization event processing in a layered virtualization architecuture |
US10002012B2 (en) | 2005-07-27 | 2018-06-19 | Intel Corporation | Virtualization event processing in a layered virtualization architecture |
US10599455B2 (en) | 2005-07-27 | 2020-03-24 | Intel Corporation | Virtualization event processing in a layered virtualization architecture |
TWI497417B (zh) * | 2014-07-22 | 2015-08-21 | Nat Univ Tsing Hua | 虛擬機器之資料存取方法、資料存取系統與主控端模組 |
Also Published As
Publication number | Publication date |
---|---|
WO2003090070A2 (en) | 2003-10-30 |
WO2003090070A3 (en) | 2005-01-27 |
CN1659518B (zh) | 2010-05-05 |
KR20040101516A (ko) | 2004-12-02 |
TW200403586A (en) | 2004-03-01 |
KR100667146B1 (ko) | 2007-01-12 |
US7127548B2 (en) | 2006-10-24 |
CN1659518A (zh) | 2005-08-24 |
AU2003224791A8 (en) | 2003-11-03 |
AU2003224791A1 (en) | 2003-11-03 |
EP1520227A2 (en) | 2005-04-06 |
US20030217250A1 (en) | 2003-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI252427B (en) | Control register access virtualization performance improvement in the virtual-machine architecture | |
US10489317B2 (en) | Aggregation of interrupts using event queues | |
JP5571201B2 (ja) | ハードウェアモードおよびセキュリティフラグに基づく、読み出される命令用のメモリエリアの制限 | |
US8479196B2 (en) | Nested virtualization performance in a computer system | |
JP5736044B2 (ja) | アダプタに関する操作パラメータの選択的設定の制御 | |
JP5717847B2 (ja) | コンピューティング環境のイベントを管理する方法、これを実行するためのコンピュータ・プログラム、およびコンピュータ・システム | |
JP5079246B2 (ja) | 仮想マシン環境におけるマルチレベルインターセプト処理のためのシステムおよび方法 | |
JP6202543B2 (ja) | 動的アドレス変換テーブルを管理する方法、システムおよびコンピュータ・プログラム | |
JP5547436B2 (ja) | 仮想処理環境内のデータの収集を容易にするためのコンピュータ・プログラム、コンピュータによって実行される方法、およびコンピュータ・システム(中央演算処理装置測定機能の仮想化) | |
JP5719435B2 (ja) | メッセージ信号割り込みのi/oアダプタ・イベント通知への変換 | |
JP6284130B2 (ja) | ローカル・クリア制御 | |
GB2478726A (en) | Instruction decoder for a processor able to deal with N-bit length data and 2N-bit length data using a set of registers. | |
TW200941349A (en) | Alternate address space to permit virtual machine monitor access to guest virtual address space | |
JP2013534666A (ja) | アダプタのアドレス・スペースへのゲスト・アクセスのための方法、システム、およびコンピュータ・プログラム | |
US8458438B2 (en) | System, method and computer program product for providing quiesce filtering for shared memory | |
TW200937293A (en) | Known good code for on-chip device management | |
US8205032B2 (en) | Virtual machine control structure identification decoder | |
US9086906B2 (en) | Apparatus and method for guest and root register sharing in a virtual machine | |
US9396142B2 (en) | Virtualizing input/output interrupts | |
US20090089553A1 (en) | Multi-threaded processing | |
TWI467475B (zh) | 無關於特權位準的區段暫存器讀與寫的系統、設備及方法 | |
TW200949535A (en) | Device emulation support within a host data processing apparatus | |
US11169838B2 (en) | Hypercall implementation in a virtualized computer system | |
JP2018531462A6 (ja) | 例外処理 | |
JP2018531462A (ja) | 例外処理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |