JP4156611B2 - 64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法 - Google Patents

64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法 Download PDF

Info

Publication number
JP4156611B2
JP4156611B2 JP2005171364A JP2005171364A JP4156611B2 JP 4156611 B2 JP4156611 B2 JP 4156611B2 JP 2005171364 A JP2005171364 A JP 2005171364A JP 2005171364 A JP2005171364 A JP 2005171364A JP 4156611 B2 JP4156611 B2 JP 4156611B2
Authority
JP
Japan
Prior art keywords
mode
processor
page
architecture
bit
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
Application number
JP2005171364A
Other languages
English (en)
Japanese (ja)
Other versions
JP2006018819A5 (enExample
JP2006018819A (ja
Inventor
アントニオ ベガ レーン
ピー.トラウト エリック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006018819A publication Critical patent/JP2006018819A/ja
Publication of JP2006018819A5 publication Critical patent/JP2006018819A5/ja
Application granted granted Critical
Publication of JP4156611B2 publication Critical patent/JP4156611B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45554Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1004Compatibility, e.g. with legacy hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)
JP2005171364A 2004-06-30 2005-06-10 64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法 Expired - Fee Related JP4156611B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/883,496 US7260702B2 (en) 2004-06-30 2004-06-30 Systems and methods for running a legacy 32-bit x86 virtual machine on a 64-bit x86 processor

Publications (3)

Publication Number Publication Date
JP2006018819A JP2006018819A (ja) 2006-01-19
JP2006018819A5 JP2006018819A5 (enExample) 2008-02-07
JP4156611B2 true JP4156611B2 (ja) 2008-09-24

Family

ID=35457210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005171364A Expired - Fee Related JP4156611B2 (ja) 2004-06-30 2005-06-10 64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法

Country Status (5)

Country Link
US (1) US7260702B2 (enExample)
EP (1) EP1628215A3 (enExample)
JP (1) JP4156611B2 (enExample)
KR (1) KR20060046262A (enExample)
CN (1) CN100530102C (enExample)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189230B2 (en) * 2004-03-31 2015-11-17 Intel Corporation Method and system to provide concurrent user-level, non-privileged shared resource thread creation and execution
US7478388B1 (en) * 2004-04-21 2009-01-13 Vmware, Inc. Switching between multiple software entities using different operating modes of a processor in a computer system
US20060070065A1 (en) * 2004-09-29 2006-03-30 Zimmer Vincent J Memory support for heterogeneous virtual machine guests
US20060143517A1 (en) * 2004-12-22 2006-06-29 Microsoft Corporation Replicated virtual machine
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
US7886126B2 (en) * 2005-01-14 2011-02-08 Intel Corporation Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system
CN100388195C (zh) * 2006-02-22 2008-05-14 北京金山软件有限公司 一种64位视窗操作系统下获取函数参数的方法及系统
WO2007115425A1 (en) 2006-03-30 2007-10-18 Intel Corporation Method and apparatus for supporting heterogeneous virtualization
US7451298B2 (en) * 2006-08-03 2008-11-11 Apple Inc. Processing exceptions from 64-bit application program executing in 64-bit processor with 32-bit OS kernel by switching to 32-bit processor mode
US7555628B2 (en) 2006-08-15 2009-06-30 Intel Corporation Synchronizing a translation lookaside buffer to an extended paging table
US7802252B2 (en) * 2007-01-09 2010-09-21 International Business Machines Corporation Method and apparatus for selecting the architecture level to which a processor appears to conform
US9652210B2 (en) 2007-08-28 2017-05-16 Red Hat, Inc. Provisioning a device with multiple bit-size versions of a software component
US8832679B2 (en) * 2007-08-28 2014-09-09 Red Hat, Inc. Registration process for determining compatibility with 32-bit or 64-bit software
US8127296B2 (en) * 2007-09-06 2012-02-28 Dell Products L.P. Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration
US7840783B1 (en) * 2007-09-10 2010-11-23 Netlogic Microsystems, Inc. System and method for performing a register renaming operation utilizing hardware which is capable of operating in at least two modes utilizing registers of multiple widths
US8276132B1 (en) * 2007-11-12 2012-09-25 Nvidia Corporation System and method for representing and managing a multi-architecture co-processor application program
US8281294B1 (en) * 2007-11-12 2012-10-02 Nvidia Corporation System and method for representing and managing a multi-architecture co-processor application program
CN100555225C (zh) * 2008-03-17 2009-10-28 中国科学院计算技术研究所 一种支持x86虚拟机的risc处理器装置及方法
CN101609397B (zh) * 2008-06-16 2012-07-04 安凯(广州)微电子技术有限公司 基于无线手持式设备的微内存系统内存交换失效方法
CN101673254B (zh) * 2008-08-15 2011-08-17 北京北大众志微系统科技有限责任公司 嵌入式x86处理器应用于通用片上总线的方法、系统芯片
US20100100692A1 (en) * 2008-10-21 2010-04-22 International Business Machines Corporation Exploiting Register High-Words
US8413136B2 (en) 2009-05-08 2013-04-02 Microsoft Corporation Application virtualization
CN101620547B (zh) * 2009-07-03 2012-05-30 中国人民解放军国防科学技术大学 X86计算机虚拟化的物理中断处理方法
US20120185688A1 (en) * 2011-01-13 2012-07-19 Google Inc. Processor mode locking
JP5862408B2 (ja) 2012-03-27 2016-02-16 富士通株式会社 エミュレーション装置、及びエミュレーションプログラム
CN102662745B (zh) * 2012-04-18 2015-01-21 国家电网公司 一种虚拟机管理系统与方法
WO2014105011A1 (en) * 2012-12-26 2014-07-03 Intel Corporation Coalescing adjacent gather/scatter operations
US9916185B2 (en) * 2014-03-18 2018-03-13 International Business Machines Corporation Managing processing associated with selected architectural facilities
US9588774B2 (en) * 2014-03-18 2017-03-07 International Business Machines Corporation Common boot sequence for control utility able to be initialized in multiple architectures
US9582295B2 (en) 2014-03-18 2017-02-28 International Business Machines Corporation Architectural mode configuration
CN105094870A (zh) * 2014-05-13 2015-11-25 中标软件有限公司 64位Linux操作系统兼容32位应用软件的方法
GB2522290B (en) * 2014-07-14 2015-12-09 Imagination Tech Ltd Running a 32-bit operating system on a 64-bit machine
US9958932B2 (en) * 2014-11-20 2018-05-01 Apple Inc. Processor including multiple dissimilar processor cores that implement different portions of instruction set architecture
US11403099B2 (en) * 2015-07-27 2022-08-02 Sony Interactive Entertainment LLC Backward compatibility by restriction of hardware resources
US10235219B2 (en) 2015-07-27 2019-03-19 Sony Interactive Entertainment America Llc Backward compatibility by algorithm matching, disabling features, or throttling performance
US9727356B2 (en) * 2015-08-24 2017-08-08 International Business Machines Corporation Scaling past the java virtual machine thread limit
US9928115B2 (en) 2015-09-03 2018-03-27 Apple Inc. Hardware migration between dissimilar cores
US20170177482A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Computing system having multi-level system memory capable of operating in a single level system memory mode
US9898307B2 (en) 2015-12-21 2018-02-20 Intel Corporation Starting application processors of a virtual machine
US10275239B2 (en) 2016-03-30 2019-04-30 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10303488B2 (en) * 2016-03-30 2019-05-28 Sony Interactive Entertainment Inc. Real-time adjustment of application-specific operating parameters for backwards compatibility
US10915333B2 (en) * 2016-03-30 2021-02-09 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10552172B2 (en) * 2017-08-24 2020-02-04 Vmware, Inc. Virtual appliance supporting multiple instruction set architectures
CN109918188A (zh) * 2019-03-27 2019-06-21 网易(杭州)网络有限公司 游戏模式的切换方法、装置、电子设备及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2001A (en) * 1841-03-12 Sawmill
US4965720A (en) * 1988-07-18 1990-10-23 International Business Machines Corporation Directed address generation for virtual-address data processors
US5182805A (en) * 1989-07-14 1993-01-26 Ncr Corporation Method and system for determining copy-on-write condition
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
US5732405A (en) * 1992-10-02 1998-03-24 Motorola, Inc. Method and apparatus for performing a cache operation in a data processing system
US5644755A (en) * 1995-02-24 1997-07-01 Compaq Computer Corporation Processor with virtual system mode
US6412043B1 (en) * 1999-10-01 2002-06-25 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US7124286B2 (en) 2000-01-14 2006-10-17 Advanced Micro Devices, Inc. Establishing an operating mode in a processor
US6807617B2 (en) * 2001-04-02 2004-10-19 Advanced Micro Devices, Inc. Processor, method and apparatus with descriptor table storing segment descriptors of varying size
US6671791B1 (en) * 2001-06-15 2003-12-30 Advanced Micro Devices, Inc. Processor including a translation unit for selectively translating virtual addresses of different sizes using a plurality of paging tables and mapping mechanisms
EP1331539B1 (en) * 2002-01-16 2016-09-28 Texas Instruments France Secure mode for processors supporting MMU and interrupts
US20030212878A1 (en) * 2002-05-07 2003-11-13 Chen-Hanson Ting Scaleable microprocessor architecture

Also Published As

Publication number Publication date
US7260702B2 (en) 2007-08-21
CN100530102C (zh) 2009-08-19
JP2006018819A (ja) 2006-01-19
EP1628215A3 (en) 2009-01-21
US20060005200A1 (en) 2006-01-05
EP1628215A2 (en) 2006-02-22
KR20060046262A (ko) 2006-05-17
CN1716203A (zh) 2006-01-04

Similar Documents

Publication Publication Date Title
JP4156611B2 (ja) 64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法
US7558723B2 (en) Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices
JP5079246B2 (ja) 仮想マシン環境におけるマルチレベルインターセプト処理のためのシステムおよび方法
US8612633B2 (en) Virtual machine fast emulation assist
US7555596B2 (en) Systems and methods for attaching a virtual machine virtual hard disk to a host machine
EP3125113B1 (en) Systems and methods for initializing multiple virtual processors within a single virtual machine
EP1524596B1 (en) Systems and methods for using synthetic instructions in a virtual machine
US7580826B2 (en) Systems and methods for development of emulated devices in a virtual machine environment
US20080065854A1 (en) Method and apparatus for accessing physical memory belonging to virtual machines from a user level monitor
US20090265708A1 (en) Information Processing Apparatus and Method of Controlling Information Processing Apparatus
KR20140018316A (ko) 가상 디스크 스토리지 기술
TW200813833A (en) Launching hypervisor under running operating system
JP4316882B2 (ja) エミュレートされるコンピューティング環境におけるプロセッサ制御の論理的置換のためのシステムおよび方法
EP4187387A1 (en) Inter-process communication method and apparatus, and computer storage medium
Im et al. On-demand virtualization for live migration in bare metal cloud
Early ESPRIT LTR 21917 (Pegasus II) Deliverable 2.1. 2 Pentium Port Report
HK1097927A (en) Systems and methods for multi-level intercept processing in a virtual machine environment

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071218

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071218

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080521

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: 20080613

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080709

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4156611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130718

Year of fee payment: 5

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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