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 PDF

Info

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
Application number
TW092108399A
Other languages
English (en)
Other versions
TW200403586A (en
Inventor
Steve Bennet
Andrew V Anderson
Erik Cota-Robles
Stalinselvaraj Jeyasingh
Alain Kagi
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 TW200403586A publication Critical patent/TW200403586A/zh
Application granted granted Critical
Publication of TWI252427B publication Critical patent/TWI252427B/zh

Links

Classifications

    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/468Specific 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)

  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項之系統,其中該遮罩欄位包4
    1252427 、、从祁不, $ 相不貝皆對應於該暫 二…特定部分’並指示是否允許該來訪者軟體存取 邊暫存器之特定部分。 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正替換頁
TW092108399A 2002-04-16 2003-04-11 Control register access virtualization performance improvement in the virtual-machine architecture TWI252427B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US7707341B1 (en) 2004-05-11 2010-04-27 Advanced Micro Devices, Inc. Virtualizing an interrupt controller
US20060005190A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for implementing an operating system in a virtual machine environment
US7500244B2 (en) * 2004-06-30 2009-03-03 Intel Corporation Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments
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
WO2006069493A1 (en) * 2004-12-31 2006-07-06 Intel Corporation An apparatus and method for cooperative guest firmware
US7496495B2 (en) * 2005-05-12 2009-02-24 Microsoft Corporation Virtual operating system device communication relying on memory access violations
US20070006178A1 (en) * 2005-05-12 2007-01-04 Microsoft Corporation Function-level just-in-time translation engine with multiple pass optimization
US7363463B2 (en) 2005-05-13 2008-04-22 Microsoft Corporation Method and system for caching address translations from multiple address spaces in virtual machines
US7953980B2 (en) 2005-06-30 2011-05-31 Intel Corporation Signed manifest for run-time verification of software program identity and integrity
US8312452B2 (en) * 2005-06-30 2012-11-13 Intel Corporation Method and apparatus for a guest to access a privileged register
US7904903B2 (en) * 2005-06-30 2011-03-08 Intel Corporation Selective register save and restore upon context switch using trap
US8839450B2 (en) 2007-08-02 2014-09-16 Intel Corporation Secure vault service for software components within an execution environment
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)

* Cited by examiner, † Cited by third party
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
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
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
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
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
US5319760A (en) 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
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
AU3424293A (en) * 1992-01-02 1993-07-28 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
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
US5737760A (en) 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
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
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6282650B1 (en) * 1999-01-25 2001-08-28 Intel Corporation Secure public digital watermark
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
US7111290B1 (en) * 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
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

Cited By (4)

* Cited by examiner, † Cited by third party
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
KR20040101516A (ko) 2004-12-02
US7127548B2 (en) 2006-10-24
EP1520227A2 (en) 2005-04-06
US20030217250A1 (en) 2003-11-20
CN1659518A (zh) 2005-08-24
AU2003224791A8 (en) 2003-11-03
TW200403586A (en) 2004-03-01
AU2003224791A1 (en) 2003-11-03
CN1659518B (zh) 2010-05-05
WO2003090070A3 (en) 2005-01-27
KR100667146B1 (ko) 2007-01-12

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) 仮想マシン環境におけるマルチレベルインターセプト処理のためのシステムおよび方法
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.
JP6284130B2 (ja) ローカル・クリア制御
TW200941349A (en) Alternate address space to permit virtual machine monitor access to guest virtual address space
TW200411537A (en) Methods and systems to manage machine state in virtual machine operations
JP2013534666A (ja) アダプタのアドレス・スペースへのゲスト・アクセスのための方法、システム、およびコンピュータ・プログラム
US8458438B2 (en) System, method and computer program product for providing quiesce filtering for shared memory
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
JP6920286B2 (ja) 例外処理
JP2018531462A6 (ja) 例外処理
JP3170472B2 (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
US11169838B2 (en) Hypercall implementation in a virtualized computer system
US7426630B1 (en) Arbitration of window swap operations
JPWO2020182498A5 (zh)

Legal Events

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