JP5746275B2 - バーチャルマシン動作においてマシン状態を管理する方法及びシステム - Google Patents
バーチャルマシン動作においてマシン状態を管理する方法及びシステム Download PDFInfo
- Publication number
- JP5746275B2 JP5746275B2 JP2013146594A JP2013146594A JP5746275B2 JP 5746275 B2 JP5746275 B2 JP 5746275B2 JP 2013146594 A JP2013146594 A JP 2013146594A JP 2013146594 A JP2013146594 A JP 2013146594A JP 5746275 B2 JP5746275 B2 JP 5746275B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- processor
- vmcs
- value
- machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
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
- 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
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
処理されるVM移行動作を特定し、
1つ以上の状態アクションインジケータを特定し、
前記1つ以上の状態アクションインジケータの1つ以上の値を使用して、必要に応じてマシン状態の1つ以上の関連の要素について少なくとも1つのアクションを決定することを有する方法。
特定するときに、前記1つ以上の状態アクションインジケータは、前記VM移行動作と、前記マシン状態の前記1つ以上の関連の要素と、前記マシン状態の第2の要素とのうち少なくとも1つに関連する方法。
使用するときに、前記少なくとも1つのアクションは、前記マシン状態の前記1つ以上の関連の要素のロードと、前記マシン状態の前記1つ以上の関連の要素の格納と、アクションを行わないこととのうち少なくとも1つを有する方法。
特定するときに、前記1つ以上の状態アクションインジケータは、
バーチャルマシン制御構造(VMCS)の1つ以上の読み取り値と、
1つ以上の固定値と、
前記マシン状態の前記1つ以上の関連の要素と、
前記マシン状態の第2の要素と、
前記VMの状態に関連する要素と、
バーチャルマシンモニタ(VMM)の状態に関連する要素と、
制御インジケータ値と、
VMCSのフィールド値と
のうち少なくとも1つに基づいた計算値と
のうち少なくとも1つである方法。
特定するときに、前記1つ以上の状態アクションインジケータは、前記マシン状態の前記少なくとも1つの関連の要素を記述するデータ構造と、制御ベクトルの1つ以上のビットとのうち少なくとも1つである方法。
使用するときに、少なくとも1つのアクションのそれぞれは、
バーチャルマシン制御構造(VMCS)の1つ以上のフィールドに前記マシン状態の前記1つ以上の関連の要素を格納することと、
前記VMCSの1つ以上のフィールドに1つ以上の固定値を格納することと、
前記VMCSの1つ以上のフィールドに1つ以上の計算値を格納することと
のうち少なくとも1つを実行する方法。
前記1つ以上の計算値を格納するときに、前記1つ以上の計算値は、
前記マシン状態の要素と、
バーチャルマシン制御構造(VMCS)の値と、
制御インジケータと
のうち少なくとも1つの値を検査し、
前記検査した値を変換して、前記1つ以上の計算値を作ることにより決定される方法。
使用するときに、少なくとも1つのアクションのそれぞれは、
バーチャルマシン制御構造の1つ以上のフィールドから前記マシン状態の前記1つ以上の関連の要素をロードすることと、
前記マシン状態の前記1つ以上の関連の要素に、1つ以上の計算されたマシン状態の値をロードすることと、
前記マシン状態の前記1つ以上の関連の要素に、1つ以上の固定値をロードすることと
のうち少なくとも1つを実行する方法。
前記1つ以上の計算されたマシン状態の値をロードするときに、前記1つ以上の計算されたマシン状態の値は、
前記マシン状態の要素と、
前記バーチャルマシン制御構造(VMCS)の値と、
制御インジケータと
のうち少なくとも1つの値を検査し、
前記検査した値を変換して、前記1つ以上の計算されたマシン状態の値を作ることにより決定される方法。
前記VM移行動作を特定するときに、前記VM移行動作は、VMエントリーとVMエグジットとのうち少なくとも1つである方法。
VMと、
バーチャルマシンモニタ(VMM)と、
コンピュータ装置と
を有し、
VM移行のときに、コンピュータ装置は1つ以上の状態アクションインジケータを決定し、前記1つ以上の状態インジケータは前記コンピュータ装置により使用され、前記VM移行が終了する前に、必要に応じて、前記コンピュータ装置の状態の1つ以上の関連の要素を格納及び/又はロードするように前記コンピュータ装置にさせる少なくとも1つのアクションを決定するシステム。
前記コンピュータ装置は、
バーチャルマシン制御構造(VMCS)から1つ以上のフィールド値を取得することと、
1つ以上の固定値を決定することと、
1つ以上の計算値を計算することと
のうち少なくとも1つにより、前記1つ以上の状態アクションインジケータの1つ以上の値を決定するシステム。
前記コンピュータ装置は、2つのセットの制御ビットを有するバーチャルマシン制御構造(VMCS)にアクセスし、
第1のセットの制御ビットは、前記VMへのエントリーのときに、格納するコンピュータ装置の状態の要素と、ロードするコンピュータ装置の状態の要素とを特定するために、前記コンピュータ装置により使用され、
第2のセットの制御ビットは、前記VMからのエグジットのときに、格納するコンピュータ装置の状態の要素と、ロードするコンピュータ装置の状態の要素とを特定するために、前記コンピュータ装置により使用されるシステム。
格納するときに、前記コンピュータ装置の状態の前記1つ以上の関連の要素は、
バーチャルマシン制御構造(VMCS)の1つ以上のフィールドに、前記コンピュータ装置の状態の前記1つ以上の関連の要素を格納し、
前記VMCSの前記1つ以上のフィールドに1つ以上の固定値を格納し、
前記VMCSの前記1つ以上のフィールドに1つ以上の計算値を格納することを更に有するシステム。
前記1つ以上の計算値を格納するときに、前記1つ以上の計算値は、
前記計算装置の状態の要素と、
前記VMCSの値と、
制御インジケータと
のうち少なくとも1つの値を検査し、
前記検査した値を変換して、前記1つ以上の計算値を作ることにより決定されるシステム。
ロードするときに、前記コンピュータ装置の状態の前記1つ以上の関連の要素は、
前記コンピュータ装置の状態の前記1つ以上の関連の要素で、バーチャルマシン制御構造の1つ以上のフィールドから前記コンピュータ装置の状態の前記1つ以上の関連の要素にロードし、
前記コンピュータ装置の状態の前記1つ以上の関連の要素に1つ以上の計算値をロードし、
前記コンピュータ装置の状態の前記1つ以上の関連の要素に1つ以上の固定値をロードすることを更に有するシステム。
前記1つ以上の計算値をロードするときに、前記1つ以上の計算値は、
前記コンピュータ装置の状態の要素と、
前記VMCSの値と、
制御インジケータ値と
のうち少なくとも1つの値を検査し、
前記検査した値を変換し、前記少なくとも1つの計算値を作ることにより決定されるシステム。
前記命令が実行されると、
バーチャルマシン(VM)移行の必要性を検知し、
1つ以上の状態アクションインジケータと、1つ以上の状態アクションインジケータ値とを決定し、
前記1つ以上の決定された状態アクションインジケータ値に基づいて、マシン状態の前記1つ以上の関連の要素で少なくとも1つのアクションを実行することを実行する少なくとも1つの構成要素を有する機械を生じるもの。
検知するときに、VM移行は、バーチャルマシンモニタ(VMM)からのVMエグジットと、VMへのVMエントリーとのうち少なくとも1つであるもの。
前記1つ以上の状態アクションインジケータを決定するときに、前記少なくとも1つの状態アクションインジケータは、
バーチャルマシン制御構造(VMCS)から少なくとも1つのインジケータ値を読み取ることと、
1つ以上の固定値を決定することと、
1つ以上の計算値を計算することと
のうち少なくとも1つを実行することにより決定されるもの。
計算するときに、前記1つ以上の計算値は、
前記マシン状態の前記1つ以上の関連の要素を使用することと、
前記マシン状態の第2の要素を使用することと、
前記VMの状態に関連する要素を使用することと、
前記VMMの状態に関連する要素を使用することと、
制御インジケータ値を使用することと、
前記VMCSのフィールド値を使用することと
のうち少なくとも1つを実行することにより決定されるもの。
実行するときに、前記少なくとも1つのアクションは、
マシン状態の前記1つ以上の関連の要素を格納することと、
1つ以上の固定格納値を格納することと、
1つ以上の計算格納値を格納することと、
バーチャルマシン制御構造(VMCS)の1つ以上のフィールドからマシン状態の前記1つ以上の関連の要素に1つ以上の値をロードすることと、
マシン状態の前記1つ以上の関連の要素に1つ以上の固定値をロードすることと、
マシン状態の前記1つ以上の関連の要素に1つ以上の計算値をロードすることと
のうち少なくとも1つを実行することにより実行されるもの。
前記少なくとも1つのアクションが実行された後に、前記VM移行を終了することを更に有するもの。
Claims (7)
- バーチャルマシン(VM)動作を管理するプロセッサであって、
VMエントリーとVMエグジットとのうち少なくとも1つであるVM移行に応じて、複数の状態アクションインジケータのそれぞれの値を決定するロジックであり、各状態アクションインジケータは、マシン状態の複数の要素の1つの値に関連し、各状態アクションインジケータは、1つ以上の制御ビットを含み、前記複数の状態アクションインジケータのそれぞれの値は、固定されたもの、計算されたもの、又はVMの実行環境を制御するためのVM制御構造(VMCS)から読み取られたものであるロジックを有し、
前記ロジックは、前記複数の状態アクションインジケータのそれぞれの値に基づいて、複数のアクションのうちどれが前記マシン状態の関連の要素で行われるかを更に決定するプロセッサ。 - 前記複数のアクションは、メモリから前記マシン状態の1つ以上の関連の要素をロードすることと、メモリに前記マシン状態の1つ以上の関連の要素を格納することと、アクションを行わないこととのうち少なくとも1つを含む、請求項1に記載のプロセッサ。
- 前記複数の状態アクションインジケータは、
バーチャルマシン制御構造(VMCS)の1つ以上の読み取り値と、
1つ以上の固定値と、
1つ以上の計算値と
のうち少なくとも1つにより決定される、請求項1に記載のプロセッサ。 - 各アクションは、
バーチャルマシン制御構造(VMCS)の1つ以上のフィールドに前記マシン状態の関連の要素を格納することと、
前記VMCSの1つ以上のフィールドに1つ以上の固定値を格納することと、
前記VMCSの1つ以上のフィールドに1つ以上の計算値を格納することと
のうち少なくとも1つを実行する、請求項1に記載のプロセッサ。 - 前記1つ以上の計算値は、
前記マシン状態の要素と、
バーチャルマシン制御構造(VMCS)の値と、
制御インジケータと
のうち少なくとも1つの値を検査し、
前記検査した値を変換して、前記1つ以上の計算値を作ることにより決定される、請求項4に記載のプロセッサ。 - 各アクションは、
バーチャルマシン制御構造(VMCS)の1つ以上のフィールドから前記マシン状態の関連の要素をロードすることと、
前記VMCSの1つ以上のフィールドから1つ以上の計算されたマシン状態の値をロードすることと、
前記VMCSの1つ以上のフィールドから1つ以上の固定値をロードすることと
のうち少なくとも1つを実行する、請求項1に記載のプロセッサ。 - 前記1つ以上の計算されたマシン状態の値は、
前記マシン状態の要素と、
前記バーチャルマシン制御構造(VMCS)の値と、
制御インジケータと
のうち少なくとも1つの値を検査し、
前記検査した値を変換して、前記1つ以上の計算されたマシン状態の値を作ることにより決定される、請求項6に記載のプロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/324,591 | 2002-12-19 | ||
US10/324,591 US7793286B2 (en) | 2002-12-19 | 2002-12-19 | Methods and systems to manage machine state in virtual machine operations |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011266500A Division JP5384605B2 (ja) | 2002-12-19 | 2011-12-06 | バーチャルマシン動作においてマシン状態を管理する方法及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013214325A JP2013214325A (ja) | 2013-10-17 |
JP5746275B2 true JP5746275B2 (ja) | 2015-07-08 |
Family
ID=32593494
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004565223A Expired - Fee Related JP4937514B2 (ja) | 2002-12-19 | 2003-12-04 | バーチャルマシン動作においてマシン状態を管理する方法及びシステム |
JP2009028629A Expired - Fee Related JP5068778B2 (ja) | 2002-12-19 | 2009-02-10 | バーチャルマシン動作においてマシン状態を管理する方法及びシステム |
JP2011266500A Expired - Fee Related JP5384605B2 (ja) | 2002-12-19 | 2011-12-06 | バーチャルマシン動作においてマシン状態を管理する方法及びシステム |
JP2013146594A Expired - Fee Related JP5746275B2 (ja) | 2002-12-19 | 2013-07-12 | バーチャルマシン動作においてマシン状態を管理する方法及びシステム |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004565223A Expired - Fee Related JP4937514B2 (ja) | 2002-12-19 | 2003-12-04 | バーチャルマシン動作においてマシン状態を管理する方法及びシステム |
JP2009028629A Expired - Fee Related JP5068778B2 (ja) | 2002-12-19 | 2009-02-10 | バーチャルマシン動作においてマシン状態を管理する方法及びシステム |
JP2011266500A Expired - Fee Related JP5384605B2 (ja) | 2002-12-19 | 2011-12-06 | バーチャルマシン動作においてマシン状態を管理する方法及びシステム |
Country Status (8)
Country | Link |
---|---|
US (1) | US7793286B2 (ja) |
JP (4) | JP4937514B2 (ja) |
KR (1) | KR100737666B1 (ja) |
CN (2) | CN100472454C (ja) |
AU (1) | AU2003298951A1 (ja) |
DE (1) | DE10393679B9 (ja) |
TW (1) | TWI253585B (ja) |
WO (1) | WO2004061659A2 (ja) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8631066B2 (en) | 1998-09-10 | 2014-01-14 | Vmware, Inc. | Mechanism for providing virtual machines for use by multiple users |
US7516453B1 (en) | 1998-10-26 | 2009-04-07 | Vmware, Inc. | Binary translator with precise exception synchronization mechanism |
US7130949B2 (en) * | 2003-05-12 | 2006-10-31 | International Business Machines Corporation | Managing input/output interruptions in non-dedicated interruption hardware environments |
US20050044408A1 (en) * | 2003-08-18 | 2005-02-24 | Bajikar Sundeep M. | Low pin count docking architecture for a trusted platform |
US8079034B2 (en) | 2003-09-15 | 2011-12-13 | Intel Corporation | Optimizing processor-managed resources based on the behavior of a virtual machine monitor |
US20050132122A1 (en) * | 2003-12-16 | 2005-06-16 | Rozas Carlos V. | Method, apparatus and system for monitoring system integrity in a trusted computing environment |
US7802085B2 (en) * | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
US7356735B2 (en) * | 2004-03-30 | 2008-04-08 | Intel Corporation | Providing support for single stepping a virtual machine in a virtual machine environment |
US7418584B1 (en) * | 2004-05-11 | 2008-08-26 | Advanced Micro Devices, Inc. | Executing system management mode code as virtual machine guest |
US7490070B2 (en) * | 2004-06-10 | 2009-02-10 | Intel Corporation | Apparatus and method for proving the denial of a direct proof signature |
WO2006011994A2 (en) * | 2004-06-26 | 2006-02-02 | Transvirtual Systems, Llc | System for emulating wang vs programs |
US20060004667A1 (en) * | 2004-06-30 | 2006-01-05 | Microsoft Corporation | Systems and methods for collecting operating system license revenue using an emulated computing environment |
US7562179B2 (en) | 2004-07-30 | 2009-07-14 | Intel Corporation | Maintaining processor resources during architectural events |
US20060064699A1 (en) * | 2004-09-21 | 2006-03-23 | Bonk Ted J | Method and system for processing resource allocations |
US8924728B2 (en) | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information |
WO2006069493A1 (en) * | 2004-12-31 | 2006-07-06 | Intel Corporation | An apparatus and method for cooperative guest firmware |
US7904903B2 (en) * | 2005-06-30 | 2011-03-08 | Intel Corporation | Selective register save and restore upon context switch using trap |
CN100420202C (zh) * | 2005-10-20 | 2008-09-17 | 联想(北京)有限公司 | 计算机管理系统以及计算机管理方法 |
US7877485B2 (en) * | 2005-12-02 | 2011-01-25 | International Business Machines Corporation | Maintaining session states within virtual machine environments |
US20090106754A1 (en) * | 2005-12-10 | 2009-04-23 | Benjamin Liu | Handling a device related operation in a virtualization enviroment |
US7900204B2 (en) * | 2005-12-30 | 2011-03-01 | Bennett Steven M | Interrupt processing in a layered virtualization architecture |
US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
WO2007115425A1 (en) * | 2006-03-30 | 2007-10-18 | Intel Corporation | Method and apparatus for supporting heterogeneous virtualization |
US8607228B2 (en) | 2006-08-08 | 2013-12-10 | Intel Corporation | Virtualizing performance counters |
CN101154130B (zh) * | 2006-09-30 | 2012-07-04 | 联想(北京)有限公司 | 一种虚拟机系统及其电源管理方法 |
CN101206582B (zh) * | 2006-12-22 | 2010-10-06 | 联想(北京)有限公司 | 一种虚拟机系统及其处理方法 |
US8291410B2 (en) * | 2006-12-29 | 2012-10-16 | Intel Corporation | Controlling virtual machines based on activity state |
US7765374B2 (en) * | 2007-01-25 | 2010-07-27 | Microsoft Corporation | Protecting operating-system resources |
US8380987B2 (en) * | 2007-01-25 | 2013-02-19 | Microsoft Corporation | Protection agents and privilege modes |
US8296775B2 (en) * | 2007-01-31 | 2012-10-23 | Microsoft Corporation | Efficient context switching of virtual processors by managing physical register states in a virtualized environment |
CN101267334B (zh) * | 2007-03-13 | 2011-01-26 | 联想(北京)有限公司 | 一种动态分配设备的方法及装置 |
US8099274B2 (en) * | 2007-03-30 | 2012-01-17 | International Business Machines Corporation | Facilitating input/output processing of one or more guest processing systems |
US7975267B2 (en) * | 2007-03-30 | 2011-07-05 | Bennett Steven M | Virtual interrupt processing in a layered virtualization architecture |
US8046540B2 (en) * | 2007-04-26 | 2011-10-25 | Sap Ag | Shared closures on demand |
US20090007100A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Suspending a Running Operating System to Enable Security Scanning |
CN101334751B (zh) * | 2007-06-29 | 2010-04-14 | 联想(北京)有限公司 | 虚拟机监视器识别客户操作系统中进程的方法及装置 |
US8151264B2 (en) * | 2007-06-29 | 2012-04-03 | Intel Corporation | Injecting virtualization events in a layered virtualization architecture |
DE102007053474A1 (de) | 2007-11-09 | 2009-05-14 | Giesecke & Devrient Gmbh | Datenträger und Verfahren zum Betreiben eines Mikroprozessors eines Datenträgers |
US8261028B2 (en) * | 2007-12-31 | 2012-09-04 | Intel Corporation | Cached dirty bits for context switch consistency checks |
US8839237B2 (en) * | 2007-12-31 | 2014-09-16 | Intel Corporation | Method and apparatus for tamper resistant communication in a virtualization enabled platform |
US20100115509A1 (en) * | 2008-10-31 | 2010-05-06 | International Business Machines Corporation | Power optimization via virtualization opportunity |
JP4961459B2 (ja) * | 2009-06-26 | 2012-06-27 | 株式会社日立製作所 | 仮想計算機システムおよび仮想計算機システムにおける制御方法 |
US20110153909A1 (en) * | 2009-12-22 | 2011-06-23 | Yao Zu Dong | Efficient Nested Virtualization |
CN101916207B (zh) * | 2010-08-28 | 2013-10-09 | 华为技术有限公司 | 桌面虚拟化环境下的节能方法、装置及系统 |
US9223611B2 (en) | 2010-12-28 | 2015-12-29 | Microsoft Technology Licensing, Llc | Storing and resuming application runtime state |
CN102609314A (zh) * | 2012-01-18 | 2012-07-25 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机量化管理方法和系统 |
US9146762B2 (en) * | 2012-08-23 | 2015-09-29 | Citrix Systems, Inc. | Specialized virtual machine to virtualize hardware resource for guest virtual machines |
JP5608797B2 (ja) * | 2013-07-31 | 2014-10-15 | 株式会社日立製作所 | 仮想化プログラム、仮想計算機システム及び計算機システム制御方法 |
DE112015006934T5 (de) * | 2015-09-25 | 2018-06-14 | Intel Corporation | Verschachtelte Virtualisierung für virtuelle Maschinenexits |
US20210026950A1 (en) * | 2016-03-07 | 2021-01-28 | Crowdstrike, Inc. | Hypervisor-based redirection of system calls and interrupt-based task offloading |
US10243746B2 (en) | 2017-02-27 | 2019-03-26 | Red Hat, Inc. | Systems and methods for providing I/O state protections in a virtualized environment |
US11580234B2 (en) | 2019-06-29 | 2023-02-14 | Intel Corporation | Implicit integrity for cryptographic computing |
US11403234B2 (en) | 2019-06-29 | 2022-08-02 | Intel Corporation | Cryptographic computing using encrypted base addresses and used in multi-tenant environments |
US11575504B2 (en) | 2019-06-29 | 2023-02-07 | Intel Corporation | Cryptographic computing engine for memory load and store units of a microarchitecture pipeline |
CN111273969B (zh) * | 2020-01-20 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 状态切换方法、装置、设备和存储介质 |
US11580035B2 (en) | 2020-12-26 | 2023-02-14 | Intel Corporation | Fine-grained stack protection using cryptographic computing |
US11669625B2 (en) | 2020-12-26 | 2023-06-06 | Intel Corporation | Data type based cryptographic computing |
Family Cites Families (94)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JPS5576447A (en) | 1978-12-01 | 1980-06-09 | Fujitsu Ltd | Address control system for software simulation |
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 |
US4521852A (en) * | 1982-06-30 | 1985-06-04 | Texas Instruments Incorporated | Data processing device formed on a single semiconductor substrate having secure memory |
JPS59111561A (ja) | 1982-12-17 | 1984-06-27 | Hitachi Ltd | 複合プロセツサ・システムのアクセス制御方式 |
JPS6057438A (ja) * | 1983-09-08 | 1985-04-03 | Hitachi Ltd | 仮想計算機システム制御装置 |
JPS61184644A (ja) * | 1985-02-12 | 1986-08-18 | Hitachi Ltd | 仮想計算機システム制御方式 |
US4740893A (en) * | 1985-08-07 | 1988-04-26 | International Business Machines Corp. | Method for reducing the time for switching between programs |
JPH0814795B2 (ja) * | 1986-01-14 | 1996-02-14 | 株式会社日立製作所 | マルチプロセッサ仮想計算機システム |
JPH0754470B2 (ja) * | 1986-03-24 | 1995-06-07 | 株式会社日立製作所 | 仮想計算機システムの制御方法 |
JP2523653B2 (ja) * | 1987-07-08 | 1996-08-14 | 株式会社日立製作所 | 仮想計算機システム |
JPS6474632A (en) * | 1987-09-16 | 1989-03-20 | Fujitsu Ltd | Control transfer system for virtual computer |
US5079737A (en) * | 1988-10-25 | 1992-01-07 | United Technologies Corporation | Memory management unit for the MIL-STD 1750 bus |
US5781753A (en) * | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
US5016161A (en) * | 1989-04-12 | 1991-05-14 | Sun Microsystems, Inc. | Method and apparatus for the flow control of devices |
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 |
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 |
JP2902746B2 (ja) * | 1990-07-27 | 1999-06-07 | 富士通株式会社 | 仮想計算機制御方式 |
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 |
JPH04308940A (ja) * | 1991-04-05 | 1992-10-30 | Hitachi Ltd | 仮想計算機システムにおける資源の自動割当て管理方式 |
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 |
US5421006A (en) * | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
JPH0695898A (ja) * | 1992-09-16 | 1994-04-08 | Hitachi Ltd | 仮想計算機の制御方法および仮想計算機システム |
US5293424A (en) * | 1992-10-14 | 1994-03-08 | Bull Hn Information Systems Inc. | Secure memory card |
JP2765411B2 (ja) * | 1992-11-30 | 1998-06-18 | 株式会社日立製作所 | 仮想計算機方式 |
EP0600112A1 (de) | 1992-11-30 | 1994-06-08 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff |
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. |
JPH06348867A (ja) * | 1993-06-04 | 1994-12-22 | Hitachi Ltd | マイクロコンピュータ |
JPH0793221A (ja) * | 1993-09-28 | 1995-04-07 | Hitachi Ltd | 仮想計算機システム及びその制御方法 |
US5459869A (en) * | 1994-02-17 | 1995-10-17 | Spilo; Michael L. | Method for providing protected mode services for device drivers and other resident software |
US5684881A (en) * | 1994-05-23 | 1997-11-04 | Matsushita Electric Industrial Co., Ltd. | Sound field and sound image control apparatus and method |
US5473692A (en) * | 1994-09-07 | 1995-12-05 | Intel Corporation | Roving software license for a hardware agent |
US5539828A (en) * | 1994-05-31 | 1996-07-23 | Intel Corporation | Apparatus and method for providing secured communications |
US5978481A (en) * | 1994-08-16 | 1999-11-02 | Intel Corporation | Modem compatible method and apparatus for encrypting data that is transparent to software applications |
US6058478A (en) * | 1994-09-30 | 2000-05-02 | Intel Corporation | Apparatus and method for a vetted field upgrade |
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 |
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 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ |
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エレクトロニクス株式会社 | フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法 |
EP0880840A4 (en) * | 1996-01-11 | 2002-10-23 | Mrj Inc | DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY |
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 |
US5978892A (en) | 1996-05-03 | 1999-11-02 | Digital Equipment Corporation | Virtual memory allocation in a virtual address space having an inaccessible gap |
US6205550B1 (en) * | 1996-06-13 | 2001-03-20 | Intel Corporation | Tamper resistant methods and apparatus |
US6175925B1 (en) * | 1996-06-13 | 2001-01-16 | Intel Corporation | Tamper resistant player for scrambled contents |
US6178509B1 (en) * | 1996-06-13 | 2001-01-23 | Intel Corporation | Tamper resistant methods and apparatus |
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 |
US6055637A (en) * | 1996-09-27 | 2000-04-25 | Electronic Data Systems Corporation | System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential |
US5844986A (en) * | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US5937063A (en) * | 1996-09-30 | 1999-08-10 | Intel Corporation | Secure boot |
JPH10134008A (ja) * | 1996-11-05 | 1998-05-22 | Mitsubishi Electric Corp | 半導体装置およびコンピュータシステム |
US5852717A (en) * | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
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 |
US6272637B1 (en) * | 1997-04-14 | 2001-08-07 | Dallas Semiconductor Corporation | Systems and methods for protecting access to encrypted information |
US6075938A (en) * | 1997-06-10 | 2000-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Virtual machine monitors for scalable multiprocessors |
US5987557A (en) * | 1997-06-19 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU) |
US6014745A (en) * | 1997-07-17 | 2000-01-11 | Silicon Systems Design Ltd. | Protection for customer programs (EPROM) |
DE19735948C1 (de) * | 1997-08-19 | 1998-10-01 | Siemens Nixdorf Inf Syst | Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung |
US6282657B1 (en) * | 1997-09-16 | 2001-08-28 | Safenet, Inc. | Kernel mode protection |
US6148379A (en) * | 1997-09-19 | 2000-11-14 | Silicon Graphics, Inc. | System, method and computer program product for page sharing between fault-isolated cells in a distributed shared memory system |
US6182089B1 (en) * | 1997-09-23 | 2001-01-30 | Silicon Graphics, Inc. | Method, system and computer program product for dynamically allocating large memory pages of different sizes |
US6085296A (en) * | 1997-11-12 | 2000-07-04 | Digital Equipment Corporation | Sharing memory pages and page tables among computer processes |
US6192455B1 (en) * | 1998-03-30 | 2001-02-20 | Intel Corporation | Apparatus and method for preventing access to SMRAM space through AGP addressing |
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
US6795966B1 (en) * | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US6505279B1 (en) * | 1998-08-14 | 2003-01-07 | Silicon Storage Technology, Inc. | Microcontroller system having security circuitry to selectively lock portions of a program memory address space |
US6339815B1 (en) * | 1998-08-14 | 2002-01-15 | Silicon Storage Technology, Inc. | Microcontroller system having allocation circuitry to selectively allocate and/or hide portions of a program memory address space |
US6230248B1 (en) * | 1998-10-12 | 2001-05-08 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for pre-validating regions in a virtual addressing scheme |
EP1030237A1 (en) | 1999-02-15 | 2000-08-23 | Hewlett-Packard Company | Trusted hardware device in a computer |
US6272533B1 (en) * | 1999-02-16 | 2001-08-07 | Hendrik A. Browne | Secure computer system and method of providing secure access to a computer system including a stand alone switch operable to inhibit data corruption on a storage device |
US6321314B1 (en) * | 1999-06-09 | 2001-11-20 | Ati International S.R.L. | Method and apparatus for restricting memory access |
US6158546A (en) * | 1999-06-25 | 2000-12-12 | Tenneco Automotive Inc. | Straight through muffler with conically-ended output passage |
US6301646B1 (en) * | 1999-07-30 | 2001-10-09 | Curl Corporation | Pointer verification system and method |
US6374317B1 (en) * | 1999-10-07 | 2002-04-16 | Intel Corporation | Method and apparatus for initializing a computer interface |
US6292874B1 (en) * | 1999-10-19 | 2001-09-18 | Advanced Technology Materials, Inc. | Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges |
WO2001063567A2 (en) * | 2000-02-25 | 2001-08-30 | Identix Incorporated | Secure transaction system |
US20010037450A1 (en) * | 2000-03-02 | 2001-11-01 | Metlitski Evgueny A. | System and method for process protection |
US6990579B1 (en) | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
US6507904B1 (en) | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US6795905B1 (en) | 2000-03-31 | 2004-09-21 | Intel Corporation | Controlling accesses to isolated memory using a memory controller for isolated execution |
GB0022949D0 (en) * | 2000-09-19 | 2000-11-01 | Sgs Thomson Microelectronics | Processing instruction words |
US7818808B1 (en) * | 2000-12-27 | 2010-10-19 | Intel Corporation | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor |
-
2002
- 2002-12-19 US US10/324,591 patent/US7793286B2/en active Active
-
2003
- 2003-10-21 TW TW092129097A patent/TWI253585B/zh not_active IP Right Cessation
- 2003-12-04 CN CNB2003801065018A patent/CN100472454C/zh not_active Expired - Fee Related
- 2003-12-04 KR KR1020057011344A patent/KR100737666B1/ko not_active IP Right Cessation
- 2003-12-04 DE DE10393679.3T patent/DE10393679B9/de not_active Expired - Fee Related
- 2003-12-04 CN CN2009100098598A patent/CN101488097B/zh not_active Expired - Fee Related
- 2003-12-04 AU AU2003298951A patent/AU2003298951A1/en not_active Abandoned
- 2003-12-04 JP JP2004565223A patent/JP4937514B2/ja not_active Expired - Fee Related
- 2003-12-04 WO PCT/US2003/038728 patent/WO2004061659A2/en active Application Filing
-
2009
- 2009-02-10 JP JP2009028629A patent/JP5068778B2/ja not_active Expired - Fee Related
-
2011
- 2011-12-06 JP JP2011266500A patent/JP5384605B2/ja not_active Expired - Fee Related
-
2013
- 2013-07-12 JP JP2013146594A patent/JP5746275B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2004061659A3 (en) | 2005-07-28 |
CN1726470A (zh) | 2006-01-25 |
AU2003298951A8 (en) | 2004-07-29 |
JP2009163751A (ja) | 2009-07-23 |
DE10393679B9 (de) | 2015-12-10 |
DE10393679B4 (de) | 2008-05-29 |
WO2004061659A2 (en) | 2004-07-22 |
US20040123288A1 (en) | 2004-06-24 |
JP5068778B2 (ja) | 2012-11-07 |
TW200411537A (en) | 2004-07-01 |
CN101488097A (zh) | 2009-07-22 |
CN101488097B (zh) | 2013-12-25 |
JP2013214325A (ja) | 2013-10-17 |
DE10393679T5 (de) | 2005-10-20 |
TWI253585B (en) | 2006-04-21 |
CN100472454C (zh) | 2009-03-25 |
JP5384605B2 (ja) | 2014-01-08 |
KR20050085766A (ko) | 2005-08-29 |
US7793286B2 (en) | 2010-09-07 |
JP4937514B2 (ja) | 2012-05-23 |
JP2006510120A (ja) | 2006-03-23 |
KR100737666B1 (ko) | 2007-07-09 |
JP2012074074A (ja) | 2012-04-12 |
AU2003298951A1 (en) | 2004-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5746275B2 (ja) | バーチャルマシン動作においてマシン状態を管理する方法及びシステム | |
US7434003B2 (en) | Efficient operating system operation on a hypervisor | |
US8166276B2 (en) | Translate and verify instruction for a processor | |
US10318407B2 (en) | Allocating a debug instruction set based on the current operating state in a multi-instruction-set data processing apparatus | |
KR100667146B1 (ko) | 가상 머신 아키텍처 내에서의 제어 레지스터 액세스가상화 성능 개선 | |
US8032897B2 (en) | Placing virtual machine monitor (VMM) code in guest context to speed memory mapped input/output virtualization | |
US8352670B2 (en) | Execute-only memory and mechanism enabling execution from execute-only memory for minivisor | |
EP2115582B1 (en) | Controlling instruction execution in a processing environment | |
US20110197190A1 (en) | Virtualization method and virtual machine | |
EP2955634B1 (en) | Paravirtualization-based interface for memory management in virtual machines | |
US8887139B2 (en) | Virtual system and method of analyzing operation of virtual system | |
JP7538950B2 (ja) | コンピュータデバイス、例外処理方法および割り込み処理方法 | |
JP5778296B2 (ja) | 仮想計算機システム、仮想化機構、及びデータ管理方法 | |
US6802063B1 (en) | 64-bit open firmware implementation and associated api | |
US10248451B2 (en) | Using hypervisor trapping for protection against interrupts in virtual machine functions | |
US20100083269A1 (en) | Algorithm for fast list allocation and free | |
KR101109984B1 (ko) | 에뮬레이팅된 처리 환경에서 실행을 용이하게 하는 방법, 시스템 및 컴퓨터 판독가능 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130712 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140715 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141014 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150507 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5746275 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |