JP2010128943A - Information processing apparatus and method of controlling the same - Google Patents

Information processing apparatus and method of controlling the same Download PDF

Info

Publication number
JP2010128943A
JP2010128943A JP2008304833A JP2008304833A JP2010128943A JP 2010128943 A JP2010128943 A JP 2010128943A JP 2008304833 A JP2008304833 A JP 2008304833A JP 2008304833 A JP2008304833 A JP 2008304833A JP 2010128943 A JP2010128943 A JP 2010128943A
Authority
JP
Japan
Prior art keywords
virtual machine
bios
processing apparatus
information processing
address
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.)
Pending
Application number
JP2008304833A
Other languages
Japanese (ja)
Inventor
Hiroshi Nakajima
宏 中嶋
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008304833A priority Critical patent/JP2010128943A/en
Publication of JP2010128943A publication Critical patent/JP2010128943A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To execute a system even if an image for executing a system created by another apparatus is used. <P>SOLUTION: An SMBIOS (System Management Basic Input/Output System), an extended BIOS (Ext. BIOS), and a VIDEO BIOS on the physical address space of a virtual machine and an SMBIOS, an extended BIOS (Ext. BIOS) and a VIDEO BIOS on the physical address space of an actual machine are mapped to the same addresses. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、ハイパーバイザ上で仮想マシンが動作する技術に関し、特に仮想マシンがI/Oデバイスと通信を行う情報処理装置、および情報処理装置の制御方法に関する。   The present invention relates to a technique for operating a virtual machine on a hypervisor, and more particularly to an information processing apparatus in which a virtual machine communicates with an I / O device, and a control method for the information processing apparatus.

現在、ハードウェアとユーザが使用するソフト環境(仮想マシン)とを切り分ける、仮想マシン技術が注目されている。   Currently, virtual machine technology that separates hardware from a software environment (virtual machine) used by a user is attracting attention.

仮想マシン技術では、ハイパーバイザがハードウェアと仮想マシンとの間の調停を行っている。   In virtual machine technology, a hypervisor mediates between hardware and a virtual machine.

仮想マシンシステムにおいて、マイクロハイパーバイザとサービス仮想マシンとを備え、既存のオペレーティングシステムを修正しないでゲスト仮想マシンとして実行されることが開示されている(特許文献1参照)。
特開2008−523511号公報
It is disclosed that a virtual machine system includes a micro hypervisor and a service virtual machine and is executed as a guest virtual machine without modifying an existing operating system (see Patent Document 1).
JP 2008-523511 A

上述した技術では、既存のオペレーティングシステムを修正しないでゲスト仮想マシンとして使用することができる。ところが、システムBIOS以外のSMBIOS、拡張BIOS、VIDEO BIOS等はインストール時にメモリ空間に割り当てられる。そのため、コンピュータ毎にSMBIOS、拡張BIOS、VIDEO BIOS等が割り当てられるアドレスが異なることがあり、別のコンピュータで作られたイメージを用いてシステムを起動することができない。   With the above-described technology, an existing operating system can be used as a guest virtual machine without modification. However, SMBIOS other than the system BIOS, expansion BIOS, VIDEO BIOS, and the like are allocated to the memory space at the time of installation. For this reason, the addresses to which SMBIOS, expansion BIOS, VIDEO BIOS, etc. are assigned may be different for each computer, and the system cannot be started up using an image created by another computer.

本発明の目的は、別な装置で作られたシステムを実行するためのイメージを用いてもシステムを実行することが可能な情報処理装置および情報処理装置の制御方法を提供することにある。   An object of the present invention is to provide an information processing apparatus and a control method for the information processing apparatus that can execute the system using an image for executing the system created by another apparatus.

本発明の一例に係わる情報処理装置は、ハイパーバイザ上で仮想マシンが動作する情報処理装置であって、前記情報処理装置に設けられたI/Oデバイスと、システムBIOS(Basic Input/Output System)と異なるBIOSとをメモリ空間に割り当てる割り当て手段と、デバイスプロファイルと前記I/Oデバイスの構成とに応じて前記仮想マシンのアドレス空間に対してI/Oデバイスを割り当てるための情報と、前記仮想マシンのアドレス空間上の前記システムBIOSと異なるBIOSのアドレスを前記割り当て手段が割り当てたアドレスと同一のアドレスに割り当てるための情報とを含むデバイスモデルを作成するデバイスマネージャと、前記仮想マシンが前記割り当てられたI/OデバイスにMMIOアクセスするためのアドレス変換、前記割り当てられたI/Oデバイスと前記仮想マシンとの間でDMA転送を行うためのアドレス変換、および前記仮想マシンが前記システムBIOSと異なるBIOSにアクセスするためのアドレス変換を行うためのアドレス変換回路を有する半導体回路とを具備し、前記ハイパーバイザは、前記デバイスモデルに基づいて前記仮想マシンのメモリ空間に前記I/Oデバイスを割り当て、前記仮想マシンは、前記割り当てられたI/Oデバイスに対してMMIOアクセスを行う、前記割り当てられたI/Oデバイスとの間でDMA転送を行う、または前記システムBIOSと異なるBIOSにアクセスする場合、前記アドレス変換回路を用いてアクセスすることを特徴とする。   An information processing apparatus according to an example of the present invention is an information processing apparatus in which a virtual machine operates on a hypervisor, and includes an I / O device provided in the information processing apparatus and a system BIOS (Basic Input / Output System). Allocating means for allocating a different BIOS to a memory space, information for allocating an I / O device to an address space of the virtual machine according to a device profile and the configuration of the I / O device, and the virtual machine A device manager for creating a device model including information for assigning a BIOS address different from the system BIOS in the address space to the same address as the address assigned by the assigning means, and the virtual machine is assigned Address translation for MMIO access to I / O devices, Address conversion for performing DMA transfer between the allocated I / O device and the virtual machine, and address conversion circuit for performing address conversion for the virtual machine to access a BIOS different from the system BIOS The hypervisor allocates the I / O device to the memory space of the virtual machine based on the device model, and the virtual machine allocates the I / O device to the allocated I / O device. In the case of performing MMIO access, performing DMA transfer with the assigned I / O device, or accessing a BIOS different from the system BIOS, the address conversion circuit is used for access.

本発明によれば、別な装置で作られたシステムを実行するためのイメージを用いてもシステムを実行することが可能になる。   According to the present invention, it is possible to execute the system using an image for executing the system made by another apparatus.

本発明の実施の形態を以下に図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1に示すように、本発明の一実施形態に係わる情報処理装置としてのクライアントコンピュータおよびサーバを含むシステム構成を示すブロック図である。
図1に示すように、コンピュータ10は、仮想マシンモニタ(ハイパーバイザ)230、仮想マシンマネージャ210、デバイスマネージャ220、仮想マシン200、ATAコントローラ104A、LANコントローラ110、USBコントローラ113、IEEE1394コントローラ116、PCIデバイス114、GPU(Graphycs Processor Unit)105/サウンドコントローラ106、ハードディスクドライブ111等を有する。
As shown in FIG. 1, it is a block diagram showing a system configuration including a client computer and a server as information processing apparatuses according to an embodiment of the present invention.
As shown in FIG. 1, the computer 10 includes a virtual machine monitor (hypervisor) 230, a virtual machine manager 210, a device manager 220, a virtual machine 200, an ATA controller 104A, a LAN controller 110, a USB controller 113, an IEEE 1394 controller 116, and a PCI. A device 114, a GPU (Graphycs Processor Unit) 105 / sound controller 106, a hard disk drive 111, and the like.

仮想マシンモニタ230は、LANコントローラ110、USBコントローラ113、IEEE1394コントローラ116、PCIデバイス114、GPU(Graphycs Processor Unit)105/サウンドコントローラ106等のハードウェアを管理し、仮想マシンモニタ230上で動作する各仮想マシン200に対してリソース割り当てを行う。また仮想マシンモニタ230は、仮想マシン200の実行スケジュールと仮想マシンからのI/O要求をハードウェアへ振り分ける。   The virtual machine monitor 230 manages hardware such as the LAN controller 110, the USB controller 113, the IEEE 1394 controller 116, the PCI device 114, the GPU (Graphycs Processor Unit) 105 / sound controller 106, and the like, and operates on the virtual machine monitor 230. Resource allocation is performed for the virtual machine 200. The virtual machine monitor 230 distributes the execution schedule of the virtual machine 200 and the I / O request from the virtual machine to the hardware.

仮想マシンマネージャ210は、仮想マシンモニタ230上で動作する仮想マシン200の起動制御等を行う。デバイスマネージャ220は、仮想マシン200の起動前にハードウェアの管理を行う。また、デバイスマネージャは、仮想マシンの起動後に、I/Oデバイスとの通信制御等も行う。また、仮想マシンマネージャ210は、仮想マシンから参照され、初期のオペレーティングシステムのロード起動指示、ACPI(電源管理、I/Oコントロール)を行う。   The virtual machine manager 210 performs activation control of the virtual machine 200 operating on the virtual machine monitor 230 and the like. The device manager 220 manages hardware before the virtual machine 200 is activated. The device manager also performs communication control with the I / O device after the virtual machine is activated. Further, the virtual machine manager 210 is referred from the virtual machine, and performs an initial operating system load start instruction and ACPI (power management, I / O control).

なお、仮想マシンモニタ230、仮想マシンマネージャ210、デバイスマネージャ220、および仮想マシン200は、プロセッサ上で動作するソフトウエアモジュールである。   The virtual machine monitor 230, the virtual machine manager 210, the device manager 220, and the virtual machine 200 are software modules that operate on the processor.

LANコントローラ110は、本コンピュータをLAN(Local Area Network)に接続するためのネットワークインターフェースである。USBコントローラ113は、USBバスに接続されたキーボード13、タッチパッド16、HDD/フラッシュメモリ113A等のUSBデバイスとの通信を制御するコントローラである。IEEE1394コントローラ116は、IEEE1394バスに接続された外部デバイスとの通信を制御するコントローラである。PCIデバイス114は,PCIバスに接続されたデバイスである。GPU105は、ディスプレイを制御する表示コントローラである。このGPU105はビデオメモリ(VRAM)を有しており、OS/アプリケーションプログラムによってビデオメモリに描画された表示データから、ディスプレイに表示すべき表示イメージを形成する映像信号を生成する。サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカに出力する。   The LAN controller 110 is a network interface for connecting the computer to a LAN (Local Area Network). The USB controller 113 is a controller that controls communication with USB devices such as the keyboard 13, the touch pad 16, and the HDD / flash memory 113 </ b> A connected to the USB bus. The IEEE 1394 controller 116 is a controller that controls communication with an external device connected to the IEEE 1394 bus. The PCI device 114 is a device connected to the PCI bus. The GPU 105 is a display controller that controls the display. The GPU 105 has a video memory (VRAM), and generates a video signal that forms a display image to be displayed on a display from display data drawn in the video memory by an OS / application program. The sound controller 106 is a sound source device and outputs audio data to be reproduced to a speaker.

ATAコントローラ104Aは、ハードディスクドライブ111の標準規格であるATAに対応し、ハードディスクドライブ111と通信を行ってデータの書き込みおよび読み出しを行うコントローラである。   The ATA controller 104A corresponds to ATA, which is a standard for the hard disk drive 111, and is a controller that communicates with the hard disk drive 111 to write and read data.

HDD111には、コンピュータ10をユーザに提供した時点で、オペレーティングシステム,ドライバ、アプリケーションを実行するためのインストールイメージ111Aが格納されている。通常は、このプリインストールイメージ111Aを用いて、オペレーティングシステムを起動した後、ドライバ、アプリケーションの実行を行うことによってコンピュータ10を使用する(非仮想マシンモード)。コンピュータ10を仮想環境で使用する際、このプリインストールイメージ111Aを仮想マシンとして実行し、他のサービスOSがバックグランドで同時に実行される(仮想マシンモード)。モードの切り替えは仮想マシンマネージャ210によって行われる。仮想マシンマネージャ210は起動時にどちらのモードで使用するかをユーザに尋ね、ユーザの指示に応じて仮想マシンモードおよび非仮想マシンモードの何れかでシステムを起動する。   The HDD 111 stores an installation image 111A for executing an operating system, a driver, and an application when the computer 10 is provided to the user. Normally, the computer 10 is used by executing the driver and application after starting the operating system using the preinstall image 111A (non-virtual machine mode). When the computer 10 is used in a virtual environment, the preinstall image 111A is executed as a virtual machine, and other service OSs are executed simultaneously in the background (virtual machine mode). The mode switching is performed by the virtual machine manager 210. The virtual machine manager 210 asks the user which mode to use when starting up, and starts up the system in either the virtual machine mode or the non-virtual machine mode in accordance with the user's instruction.

なお、仮想マシンモードで動作する際は、仮想マシンとH/Wを制御する仮想マシンモニタ(ハイパーバイザ)と、仮想マシンに対してデバイスI/Oのリソース割り当て等を行うデバイスマネージャと、仮想マシンイメージをロードするローダが動作する。また、
次に、図2を参照して、本コンピュータのシステム構成について説明する。
When operating in the virtual machine mode, a virtual machine monitor (hypervisor) that controls the virtual machine and H / W, a device manager that allocates device I / O resources to the virtual machine, and the virtual machine The loader that loads the image works. Also,
Next, the system configuration of the computer will be described with reference to FIG.

本コンピュータは、図2に示されているように、CPU101、ノースブリッジ102、主メモリ103、サウスブリッジ104、グラフィクス・プロセッシング・ユニット(GPU)105、ビデオメモリ(VRAM)105A、サウンドコントローラ106、BIOS−ROM109、LANコントローラ110、ハードディスクドライブ(HDD)111、DVDドライブ112、PCIデバイス114、モデム115、IEEE 1394コントローラ116、およびエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)117等を備えている。   As shown in FIG. 2, the computer includes a CPU 101, a north bridge 102, a main memory 103, a south bridge 104, a graphics processing unit (GPU) 105, a video memory (VRAM) 105A, a sound controller 106, a BIOS. -ROM 109, LAN controller 110, hard disk drive (HDD) 111, DVD drive 112, PCI device 114, modem 115, IEEE 1394 controller 116, embedded controller / keyboard controller IC (EC / KBC) 117, etc.

CPU101は本コンピュータ10の動作を制御するプロセッサであり、ハードディスクドライブ(HDD)111から主メモリ103にロードされる、各種アプリケーションプログラムを実行する。また、CPU101は、BIOS−ROM109に格納されたシステムBIOS(Basic Input Output System)も実行する。BIOSはハードウェア制御のためのプログラムである。   The CPU 101 is a processor that controls the operation of the computer 10 and executes various application programs loaded from the hard disk drive (HDD) 111 to the main memory 103. The CPU 101 also executes a system BIOS (Basic Input Output System) stored in the BIOS-ROM 109. The BIOS is a program for hardware control.

ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリー・コントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介してGPU105との通信を実行する機能も有している。   The north bridge 102 is a bridge device that connects the local bus of the CPU 101 and the south bridge 104. The north bridge 102 also includes a memory controller that controls access to the main memory 103. The north bridge 102 also has a function of executing communication with the GPU 105 via a PCI EXPRESS standard serial bus or the like.

GPU105は、本コンピュータ10のディスプレイモニタとして使用されるディスプレイ117を制御する表示コントローラである。このGPU105によって生成される表示信号はディスプレイ117に送られる。   The GPU 105 is a display controller that controls a display 117 used as a display monitor of the computer 10. A display signal generated by the GPU 105 is sent to the display 117.

サウスブリッジ104は、LPC(Low Pin Count)バス上のレガシーデバイス18を含む各デバイス、およびPCI(Peripheral Component Interconnect)バス上の各デバイスを制御する。また、サウスブリッジ104は、ハードディスクドライブ(HDD)111およびDVDドライブ112を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。   The south bridge 104 controls each device including the legacy device 18 on an LPC (Low Pin Count) bus and each device on a PCI (Peripheral Component Interconnect) bus. The south bridge 104 includes an IDE (Integrated Drive Electronics) controller for controlling the hard disk drive (HDD) 111 and the DVD drive 112. Further, the south bridge 104 has a function of executing communication with the sound controller 106.

サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18に出力する。USBコントローラ113は、USB規格のシリアルバスを介して外部機器との通信を実行する。IEEE 1394コントローラ116は、IEEE 1394規格のシリアルバスを介して外部機器との通信を実行する。モデム115は、電話回線を介してなどのアナログ回線を通じてデータ通信を行うための信号変換装置である。   The sound controller 106 is a sound source device and outputs audio data to be reproduced to the speaker 18. The USB controller 113 executes communication with an external device via a USB standard serial bus. The IEEE 1394 controller 116 performs communication with an external device via an IEEE 1394 standard serial bus. The modem 115 is a signal conversion device for performing data communication through an analog line such as a telephone line.

エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)116は、電力管理のためのエンベデッドコントローラと、キーボード(KB)13およびタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)116は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10をパワーオン/パワーオフする機能を有している。さらに、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)116は、リモコンユニットインタフェース20との通信を実行する機能を有している。   The embedded controller / keyboard controller IC (EC / KBC) 116 is a one-chip microcomputer in which an embedded controller for power management and a keyboard controller for controlling the keyboard (KB) 13 and the touch pad 16 are integrated. . The embedded controller / keyboard controller IC (EC / KBC) 116 has a function of powering on / off the computer 10 in accordance with the operation of the power button 14 by the user. Further, the embedded controller / keyboard controller IC (EC / KBC) 116 has a function of executing communication with the remote control unit interface 20.

上記デバイスの内、GPU105,LANコントローラ110、HDD11およびDVDが接続されるIDE(Integrated Drive Electronics)コントローラ、USBコントローラ113,IEEE1394コントローラ116,モデム115、その他PCIデバイス114などは、PCIデバイスとして接続されている。CPU101からは、PCIの規格に沿った形で上記デバイスにアクセスし、動作する。   Among the above devices, GPU 105, LAN controller 110, IDE (Integrated Drive Electronics) controller to which HDD 11 and DVD are connected, USB controller 113, IEEE 1394 controller 116, modem 115, and other PCI devices 114 are connected as PCI devices. Yes. From the CPU 101, the device is accessed and operated in accordance with the PCI standard.

本コンピュータは、インテル(登録商標)のダイレクトI/Oテクノロジー(VT−d)」をサポートした装置である。VT−dでは,I/Oを仮想化する技術である。VT−dは、特に,チップ・セット、I/Oコントローラ,メモリー・コントローラの部分を担っている。   This computer is a device that supports Intel (registered trademark) direct I / O technology (VT-d). VT-d is a technology for virtualizing I / O. The VT-d is particularly responsible for the chip set, I / O controller, and memory controller.

I/Oデバイスの仮想化にはいくつかの手法があるが、VT−dをサポートしている本装置では、パススルー・モデルを用いて、I/Oデバイスを仮想化する。パススルー・モデルでは、仮想マシンモニタがI/Oデバイスを直接仮想マシンに割り当てることができる。例えば、仮想マシンごとに専用のSCSIカードやネットワーク・カードなどを用意し、それらを1つずつ仮想マシンに割り当てる。また、デバイスマネージャは、PCIデバイスの初期化制御を行う。   There are several methods for virtualizing the I / O device. In this apparatus that supports VT-d, the I / O device is virtualized using a pass-through model. In the pass-through model, the virtual machine monitor can assign an I / O device directly to the virtual machine. For example, a dedicated SCSI card or network card is prepared for each virtual machine, and these are assigned to the virtual machine one by one. The device manager also controls initialization of the PCI device.

以下に、仮想マシンの起動、およびI/Oデバイスの割り当てについて説明する。
図3は、H/Wデバイスを管理するデバイスマネージャの構成および仮想マシン、仮想マシンモニタとの関連を示す。
図4、図5、図6、図7は、コンピュータ10の起動(電源ONによる)から仮想マシン実行までの動作フローを示す。
Hereinafter, activation of a virtual machine and allocation of an I / O device will be described.
FIG. 3 shows the configuration of the device manager that manages the H / W device and the relationship with the virtual machine and the virtual machine monitor.
4, 5, 6, and 7 show an operation flow from the startup of the computer 10 (by turning on the power) to the execution of the virtual machine.

ユーザがパワーボタンを押下操作することによってウェイクアップイベントが発生すると、CPU102はBIOS−ROM109に搭載されているBIOSによってPOST(Power-On Self Test)処理を実行する(ステップS11)。POST処理が終了すると、起動したブートローダは、通常ならばOSをロードするが、このPCは、ブートローダは、仮想マシンマネージャ210、デバイスマネージャ220、仮想マシンモニタ230をロード、起動する(ステップS14)。   When a wake-up event occurs when the user presses the power button, the CPU 102 executes a POST (Power-On Self Test) process by the BIOS installed in the BIOS-ROM 109 (step S11). When the POST process is completed, the boot loader that is started normally loads the OS, but this PC loads and starts the virtual machine manager 210, the device manager 220, and the virtual machine monitor 230 (step S14).

ここで、仮想マシンの起動指示(通常のOS起動と同じ)があると、仮想マシンマネージャ210は、起動するユーザ情報を決定する(ステップS15)。PCのIDや、予め設定されたユーザ名などからユーザを決定すると、仮想マシンマネージャ210は、ハードディスクドライブからインストールイメージ111Aを取得する(ステップS21)。なお、すべてロードするのではなく、仮想マシンが初期起動するために必要なローダ、システムファイル、ドライバ等をロードする。同時に仮想マシンマネージャは、デバイスマネージャ220にユーザに適したデバイスを構築するように指示する。   Here, when there is a virtual machine activation instruction (same as normal OS activation), the virtual machine manager 210 determines user information to be activated (step S15). When the user is determined from the PC ID, a preset user name, or the like, the virtual machine manager 210 acquires the installation image 111A from the hard disk drive (step S21). Instead of loading everything, a loader, a system file, a driver, and the like necessary for initial startup of the virtual machine are loaded. At the same time, the virtual machine manager instructs the device manager 220 to construct a device suitable for the user.

デバイスマネージャ220は、ユーザ情報からデバイスプロファイル250をロードし(ステップS31)、デバイスプロファイルに応じたデバイスモデル211を構成する(ステップS32)。デバイスプロファイル250の例を図8に示す。デバイスモデルの構成は、デバイスモデル生成部221がBIOSのACPI情報からコンピュータ10が持つ実際のHWデバイス情報を取得し、プロファイル情報と照合して構成する。例えば、ACPI情報にUSBデバイスが存在することが記述されていた場合、プロファイル情報にDeviceTypeがUSBであるリストがあるか探し、リストに存在する場合にはそのUSBデバイスを仮想マシンが使用するように図9のデバイスモデル構成リストを構成する。ACPI情報にデバイスが存在していても、デバイスプロファイルに同じタイプのデバイスが存在しない場合には、デバイスモデル構成リストには追加しない。また、デバイスプロファイルにあって、ACPI情報にない場合も同様である。すべてのデバイスについて確認が終了すると図10に示すような仮想デバイスモデルが構成される。図10に示すように、ホストブリッジ270にバス0を介してグラフィクス・プロセッシング・ユニット105V、USBコントローラ113V、およびPCI−PCIブリッジ280が接続されている。PCI-PCIブリッジ280にバス1を介してIEEE1394コントローラ116Vが接続されている。バス1にPCI−PCIブリッジ290を介してISAバスが接続されている。ISAバスにキーボード/マウスコントローラ117Vが接続されている。   The device manager 220 loads the device profile 250 from the user information (step S31), and configures the device model 211 corresponding to the device profile (step S32). An example of the device profile 250 is shown in FIG. The device model is configured by the device model generation unit 221 acquiring actual HW device information that the computer 10 has from the ACPI information of the BIOS and collating it with profile information. For example, if it is described in the ACPI information that a USB device exists, the profile information is searched for a list in which DeviceType is USB, and if it exists in the list, the USB device is used by the virtual machine. The device model configuration list of FIG. 9 is configured. Even if a device exists in the ACPI information, if a device of the same type does not exist in the device profile, it is not added to the device model configuration list. The same applies when the device profile is not included in the ACPI information. When confirmation is completed for all devices, a virtual device model as shown in FIG. 10 is configured. As shown in FIG. 10, a graphics processing unit 105V, a USB controller 113V, and a PCI-PCI bridge 280 are connected to the host bridge 270 via a bus 0. An IEEE 1394 controller 116 </ b> V is connected to the PCI-PCI bridge 280 via the bus 1. An ISA bus is connected to the bus 1 via a PCI-PCI bridge 290. A keyboard / mouse controller 117V is connected to the ISA bus.

図10に示す仮想デバイスモデルを作成するにあたって、デバイスマネージャ220は、実コンピュータのデバイス(バスNo.、デバイスID, Function ID)と同じになるように構成し、そこに新に追加するデバイスがあれば、デバイスIDが重ならないように追加、隠蔽すべきデバイスがあればそのデバイスを削除する。これにより、プリインストールイメージのオペレーティングシステムおよびドライバを再構成せずに仮想環境で起動できるようになる。   In creating the virtual device model shown in FIG. 10, the device manager 220 is configured to be the same as a real computer device (bus No., device ID, function ID), and there is a device to be newly added there. For example, if there is a device that should be added or hidden so that device IDs do not overlap, that device is deleted. As a result, the operating system and driver of the preinstall image can be started in a virtual environment without reconfiguration.

デバイスマネージャ220は、図9に示すデバイスモデル構成リストに従って、仮想マシンモニタ230に対しデバイスの登録を行う(ステップS33)。登録の際、デバイスマネージャ220は、PCIデバイスBUS番号、PCIデバイスDevice番号、PCIデバイスFunction番号、使用するI/Oポートアドレス(PIOおよびMMIO)、仮想I/Oポートアドレス(PIOおよびMMIO)のIOMAP情報、また、割込み番号(IRQ)、仮想割込み番号(VIRQ)を仮想マシンモニタ230に通知する。   The device manager 220 registers a device in the virtual machine monitor 230 according to the device model configuration list shown in FIG. 9 (step S33). At the time of registration, the device manager 220 uses the PCI device BUS number, PCI device device number, PCI device function number, I / O port address (PIO and MMIO) to be used, and IOMAP of the virtual I / O port address (PIO and MMIO). The virtual machine monitor 230 is notified of the information, interrupt number (IRQ), and virtual interrupt number (VIRQ).

また、デバイスマネージャ220は、仮想マシン上のSMBIOS、拡張BIOS、およびVIDEO BIOSのアドレス空間を、実マシンのメモリ空間に割り当てられているSMBIOS、拡張BIOS、およびVIDEO BIOSのアドレスと一致するようにするための情報をデバイスモデルに加える。   Further, the device manager 220 matches the address space of the SMBIOS, the extended BIOS, and the VIDEO BIOS on the virtual machine with the address of the SMBIOS, the extended BIOS, and the VIDEO BIOS assigned to the memory space of the real machine. Add information to the device model.

SMBIOSはユーザ、オペレーティングシステム、アプリケーション等がコンピュータに特有な情報を不揮発性メモリに格納した情報のコピーであり、オペレーティングシステム、アプリケーション等はSMBIOSに格納されている情報を利用することができる。SMBIOSはC000h〜FFFFHの範囲にマッピングされる。拡張BIOSは、PCIスロット等に装着された拡張カード上に内蔵されたBIOSである。拡張BIOSブート時にメモリ上のC000h〜DFFFHの範囲にマッピングされる。VIDEO BIOSは、GPU105が設けられた拡張カードに設けられたVideo Video BIOSに高速にアクセスするためにC000h〜DFFFhにマッピングされたシャドーである。   The SMBIOS is a copy of information in which information specific to a computer is stored in a nonvolatile memory by a user, operating system, application, etc., and the operating system, application, etc. can use the information stored in the SMBIOS. SMBIOS is mapped to the range of C000h to FFFFH. The expansion BIOS is a BIOS built in an expansion card installed in a PCI slot or the like. It is mapped to the range of C000h to DFFFH on the memory when the extended BIOS is booted. The VIDEO BIOS is a shadow mapped to C000h to DFFFh in order to access the Video Video BIOS provided in the expansion card provided with the GPU 105 at high speed.

登録が終了すると、デバイスマネージャ220は、仮想マシンマネージャ210に仮想マシン200の起動を指示する(ステップS34)。仮想マシンマネージャ210は、指示に応じてサーバ240からダウンロードした仮想マシンを起動する(ステップS22)。起動した仮想マシン200は、オペレーティングシステム(OS)起動時の初期化の課程で、デバイスドライバのロード(ステップS23)、デバイスドライバの初期化を実行する(ステップS24)。そして、オペレーティングシステムの起動後、仮想マシン内でアプリケーションが起動する(ステップS25)。デバイスドライバの初期化時やアプリケーションからPIOアクセスがあった場合、仮想マシンモニタは、アクセスをトラップする(ステップS27)。   When the registration is completed, the device manager 220 instructs the virtual machine manager 210 to start the virtual machine 200 (step S34). The virtual machine manager 210 starts the virtual machine downloaded from the server 240 according to the instruction (step S22). The activated virtual machine 200 loads the device driver (step S23) and initializes the device driver (step S24) in the initialization process when starting the operating system (OS). Then, after the operating system is activated, the application is activated in the virtual machine (step S25). When the device driver is initialized or when there is a PIO access from an application, the virtual machine monitor traps the access (step S27).

仮想マシンモニタ230は、このIOMAPの登録により、仮想マシン200からPCIデバイスへのPCIコンフィグレーション空間へのアクセスやポートI/Oへのアクセスまたは割込みが発生した場合、アクセスをトラップし(ステップS27)、登録のアドレスへ変換してアクセスする。   The virtual machine monitor 230 traps access when an access to the PCI configuration space from the virtual machine 200 to the PCI device, an access to the port I / O, or an interrupt occurs due to the registration of the IOMAP (step S27). , Convert to the registered address and access.

I/Oポートへのアクセスのうち、PCIコンフィグレーション空間へのアクセスの場合、仮想マシンモニタ230は、デバイスマネージャ220をコールし、デバイスマネージャ220がPCIコンフィグレーション空間へのアクセスを代行する。このアクセスの代行の場合、二つのアクセス方法が有る。そのため、デバイスマネージャは、PCIコンフィグレーションにアクセスするデバイスを特定する(ステップS35)。そして、特定したデバイスがパススルーデバイスへのアクセスであるか否かを判別する(ステップS36)。パススルーデバイスへのアクセスであると判断した場合(ステップS36のYES)、、実際のPCIデバイスのコンフィグレーション空間にアクセスする(ステップS37)。また、パススルーデバイスへのアクセスでは無いと判断した場合(ステップS36のNO)、そのコンフィグレーション空間をコピーしたダミーのエリアがデバイスマネージャ220内にあり、直接アクセスする必要がないデバイス、他の仮想マシンと共有しているデバイスは、ダミーのエリアに対してREAD/WRITEを行う。   In the case of access to the PCI configuration space among the access to the I / O port, the virtual machine monitor 230 calls the device manager 220, and the device manager 220 substitutes access to the PCI configuration space. In the case of this access proxy, there are two access methods. Therefore, the device manager specifies a device that accesses the PCI configuration (step S35). Then, it is determined whether or not the identified device is an access to a pass-through device (step S36). If it is determined that the access is to the pass-through device (YES in step S36), the actual PCI device configuration space is accessed (step S37). If it is determined that the access is not to the pass-through device (NO in step S36), there is a dummy area in the device manager 220 that is a copy of the configuration space, and there is no need for direct access to other devices and other virtual machines. The shared device performs READ / WRITE on the dummy area.

また、MMIOおよびDMA転送については、仮想マシンからの要求に対して、アドレス変換ユニット260がアドレス変換情報に従って、仮想物理アドレスからマシンアドレスへ変換しアクセスする。このアドレス変換ユニット260は、メモリー・コントローラが設けられているデバイスに設けられる。アドレス変換ユニット260は、I/Oメモリ管理ユニット(IOMMU)261とDMARU(DMA Remapping Unit)262とを有する。I/Oメモリ管理ユニット(IOMMU)261は、仮想マシン200が主メモリ上のMMIOエリアにアクセスする場合に用いられる。この場合、仮想マシン側からは通常のデバイスを使用しているのと何ら変わらないので、仮想マシンのデバイスドライバを直接利用して仮想マシンから利用できるようになる。   As for MMIO and DMA transfer, the address translation unit 260 translates a virtual physical address to a machine address and accesses the request from the virtual machine according to the address translation information. The address conversion unit 260 is provided in a device provided with a memory controller. The address translation unit 260 includes an I / O memory management unit (IOMMU) 261 and a DMARU (DMA Remapping Unit) 262. The I / O memory management unit (IOMMU) 261 is used when the virtual machine 200 accesses an MMIO area on the main memory. In this case, since the virtual machine side is not different from using a normal device, the virtual machine device driver can be used directly from the virtual machine.

また、DMARU262は、仮想マシン200に割り当てられているメモリ空間とDMA転送する場合に用いられる。図11はアドレス変換の様子を示す。図11に示すように、仮想マシン物理アドレス空間上のページメモリ、並びにPCIデバイス1、PCIデバイス2、およびPCIデバイス3のMMIOエリアと、実マシンアドレス空間上のページメモリ、並びにPCIデバイス1、PCIデバイス2、およびPCIデバイス3のMMIOエリアとの変換が、仮想マシンモニタ、I/Oメモリ管理ユニット(IOMMU)261、DMARU(DMA Remapping Unit)262とよって行われる。   The DMARU 262 is used when performing DMA transfer with a memory space allocated to the virtual machine 200. FIG. 11 shows the state of address conversion. As shown in FIG. 11, the page memory in the virtual machine physical address space, and the MMIO areas of the PCI device 1, PCI device 2, and PCI device 3, the page memory in the real machine address space, and the PCI device 1, PCI. Conversion between the device 2 and the MMIO area of the PCI device 3 is performed by a virtual machine monitor, an I / O memory management unit (IOMMU) 261, and a DMARU (DMA Remapping Unit) 262.

図11に示すように、仮想マシンの物理アドレス空間上のSMBIOS、拡張BIOS(Ext. BIOS)、およびVIDEO BIOSと実マシンの物理アドレス空間上のSMBIOS、拡張BIOS(Ext. BIOS)、およびVIDEO BIOSとは、アドレス変換ユニット260経由で等化的に1:1のアドレスにマッピングされている。   As shown in FIG. 11, the SMBIOS, the extended BIOS (Ext. BIOS), and the VIDEO BIOS on the physical address space of the virtual machine, the SMBIOS, the extended BIOS (Ext. BIOS), and the VIDEO BIOS on the physical address space of the real machine. Is equivalently mapped to a 1: 1 address via the address translation unit 260.

IBM PCの標準的なアーキテクチャでは、セグメント000h〜9FFFhまでがRAM、A000H〜BFFFHまでがビデオメモリやビデオBIOS、C000H〜FFFH迄が拡張BIOS等の予約領域として設計されている。   In the standard architecture of IBM PC, segments 000h to 9FFFh are designed as RAM, A000H to BFFFH are reserved as video memory and video BIOS, and C000H to FFFH are reserved areas such as extended BIOS.

上述したSMBIOS、拡張BIOS、およびVIDEO BIOSは、アプリケーションがオペレーティングシステムがインストール時にそれぞれの使用する領域がマッピングされる。従って、SMBIOS、拡張BIOS、およびVIDEO BIOSのアドレスが仮想マシンでのアドレス空間と実マシン上でのアドレス空間のアドレスが異なると、アプリケーションやオペレーティングシステムはSMBIOS、拡張BIOS、およびVIDEO BIOSにアクセスすることができなくなる。   In the above-described SMBIOS, extended BIOS, and VIDEO BIOS, areas used by the application when the operating system is installed are mapped. Therefore, if the address of the SMBIOS, the extended BIOS, and the VIDEO BIOS is different from the address space on the virtual machine and the address space on the real machine, the application or operating system can access the SMBIOS, the extended BIOS, and the VIDEO BIOS. Can not be.

上述したように、仮想マシンでのアドレス空間と実マシン上でのアドレス空間のアドレスを等化にマッピングすることで、実マシンと同じ内容を仮想マシンから参照、実行することができるようになる。   As described above, by mapping the address space on the virtual machine and the address space on the real machine to equalization, the same contents as the real machine can be referenced and executed from the virtual machine.

また、仮想マシンは、起動時にPCIやレガシーデバイスのプローブ(検索)を行う時に、デバイスへアクセスすると、実マシンのデバイスではなく、図10の仮想デバイスモデルのデバイスへアクセスし、そのモデルのデバイス構成で仮想マシンは起動する。   In addition, when a virtual machine accesses a device when performing a probe (search) for a PCI or a legacy device at startup, the virtual machine accesses the device of the virtual device model in FIG. 10 instead of the device of the real machine, and the device configuration of the model The virtual machine starts up.

コンピュータ10側に仮想マシンモニタ、デバイスマネージャによって仮想マシンに直接マッピング可能なデバイスを割り当て、実メモリ空間と仮想マシン内でのメモリ空間とのアドレス変換をハードウエアで行うことによって、仮想マシンのI/O性能、操作性が飛躍的に向上する。その結果、マルチメディアを扱うアプリケーションやCADなどの高速描画行うの動作が可能となる。   By assigning a virtual machine monitor on the computer 10 side, a device that can be directly mapped to the virtual machine by the device manager, and performing address conversion between the real memory space and the memory space in the virtual machine by hardware, I / O of the virtual machine O performance and operability are dramatically improved. As a result, it is possible to perform an operation of performing high-speed drawing such as an application that handles multimedia and CAD.

また、仮想マシンのI/Oエミュレーションが不要になり、エミュレーションが対応していないなどの理由で使用できなかったデバイスが、仮想マシンのデバイスドライバを直接利用して仮想マシンから利用できるようになる。   In addition, I / O emulation of the virtual machine becomes unnecessary, and a device that could not be used because the emulation is not supported can be used from the virtual machine by directly using the device driver of the virtual machine.

ユーザ毎にデバイスプロファイルを用意することによって、使用できるI/Oデバイスが指定でき、OS(仮想マシン)からは認識できるI/Oが限られ、ユーザがデバイスドライバをインストールなどして故意にデバイスを有効しようとしても不可能ため、情報漏洩等の防止に役立つセキュリティ対策ができる。   By preparing a device profile for each user, I / O devices that can be used can be specified, and the I / O that can be recognized from the OS (virtual machine) is limited. Since it is impossible even if it tries to be effective, it is possible to take security measures that help prevent information leakage.

仮想マシンのイメージを別のサーバでロード・起動することにより、ユーザ毎の環境設定がコンピュータのH/Wを変えてもインストール、再設定の作業をせずに利用できる。   By loading and starting the virtual machine image on another server, the environment setting for each user can be used without installation or reconfiguration even if the H / W of the computer is changed.

なお、上記実施形態では、ハードディスクドライブ111に格納されているインストールイメージを用いてシステムを起動する例を説明した。しかし、図12に示すように、ハードディスクドライブとは異なる不揮発性メモリなどの外部メディア241に格納されているインストールイメージ242を用いて、仮想マシン、デバイスマネージャ、仮想マシンマネージャ210を起動するようにしても良い。これにより、HDDに仮想マシンモニタ、デバイスマネージャ等のイメージをインストールする必要はなく、HDDは完全に、プリインストールの内容のままで実行する。   In the above embodiment, the example in which the system is activated using the installation image stored in the hard disk drive 111 has been described. However, as shown in FIG. 12, a virtual machine, a device manager, and a virtual machine manager 210 are started using an installation image 242 stored in an external medium 241 such as a non-volatile memory different from the hard disk drive. Also good. As a result, it is not necessary to install an image such as a virtual machine monitor or a device manager on the HDD, and the HDD is completely executed with the preinstalled contents.

なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment.

本発明の一実施形態に係わる情報処理装置としてのクライアントコンピュータおよびサーバの構成を示すブロック図。The block diagram which shows the structure of the client computer as an information processing apparatus concerning one Embodiment of this invention, and a server. 図1に示すクライアントコンピュータのシステム構成を示すブロック図。The block diagram which shows the system configuration | structure of the client computer shown in FIG. デバイスを管理するデバイスマネージャの構成および仮想マシン、仮想マシンモニタとの関連を示すブロック図。The block diagram which shows the structure of the device manager which manages a device, and the relationship with a virtual machine and a virtual machine monitor. クライアントコンピュータの起動から仮想マシン実行までの動作フローを示すフローチャートを示す図。The figure which shows the flowchart which shows the operation | movement flow from starting of a client computer to virtual machine execution. クライアントコンピュータの起動から仮想マシン実行までの動作フローを示すフローチャートを示す図。The figure which shows the flowchart which shows the operation | movement flow from starting of a client computer to virtual machine execution. クライアントコンピュータの起動から仮想マシン実行までの動作フローを示す図。The figure which shows the operation | movement flow from starting of a client computer to virtual machine execution. クライアントコンピュータの起動から仮想マシン実行までの動作フローを示す図。The figure which shows the operation | movement flow from starting of a client computer to virtual machine execution. デバイスプロファイルの例を示す図。The figure which shows the example of a device profile. デバイスモデル構成リストの例を示す図。The figure which shows the example of a device model structure list. 仮想デバイスモデルの構成例を示す図。The figure which shows the structural example of a virtual device model. アドレス空間の変換例を示す図。The figure which shows the example of a conversion of address space. サーバが仮想マシンモニタ上の仮想マシンとして動作する例を示す図。The figure which shows the example which a server operate | moves as a virtual machine on a virtual machine monitor.

符号の説明Explanation of symbols

200…仮想マシン,210…仮想マシンマネージャ,221…デバイスモデル生成部,220…デバイスマネージャ,230…仮想マシンモニタ,240…サーバ,241…HDD,242…ソフトウェアイメージ,260…アドレス変換ユニット,261…IOメモリ管理ユニット,262…DMARU,270…ホストブリッジ,280…PCIブリッジ。   DESCRIPTION OF SYMBOLS 200 ... Virtual machine, 210 ... Virtual machine manager, 221 ... Device model production | generation part, 220 ... Device manager, 230 ... Virtual machine monitor, 240 ... Server, 241 ... HDD, 242 ... Software image, 260 ... Address conversion unit, 261 ... IO memory management unit, 262 ... DMARU, 270 ... host bridge, 280 ... PCI bridge.

Claims (10)

ハイパーバイザ上で仮想マシンが動作する情報処理装置であって、
前記情報処理装置に設けられたI/Oデバイスと、システムBIOS(Basic Input/Output System)と異なるBIOSとをメモリ空間に割り当てる割り当て手段と、
デバイスプロファイルと前記I/Oデバイスの構成とに応じて前記仮想マシンのアドレス空間に対してI/Oデバイスを割り当てるための情報と、前記仮想マシンのアドレス空間上の前記システムBIOSと異なるBIOSのアドレスを前記割り当て手段が割り当てたアドレスと同一のアドレスに割り当てるための情報とを含むデバイスモデルを作成するデバイスマネージャと、
前記仮想マシンが前記割り当てられたI/OデバイスにMMIOアクセスするためのアドレス変換、前記割り当てられたI/Oデバイスと前記仮想マシンとの間でDMA転送を行うためのアドレス変換、および前記仮想マシンが前記システムBIOSと異なるBIOSにアクセスするためのアドレス変換を行うためのアドレス変換回路を有する半導体回路とを具備し、
前記ハイパーバイザは、前記デバイスモデルに基づいて前記仮想マシンのメモリ空間に前記I/Oデバイスを割り当て、
前記仮想マシンは、前記割り当てられたI/Oデバイスに対してMMIOアクセスを行う、前記割り当てられたI/Oデバイスとの間でDMA転送を行う、または前記システムBIOSと異なるBIOSにアクセスする場合、前記アドレス変換回路を用いてアクセスすることを特徴とする情報処理装置。
An information processing apparatus in which a virtual machine operates on a hypervisor,
An allocating means for allocating an I / O device provided in the information processing apparatus and a BIOS different from a system BIOS (Basic Input / Output System) to a memory space;
Information for allocating an I / O device to the address space of the virtual machine according to a device profile and the configuration of the I / O device, and a BIOS address different from the system BIOS on the address space of the virtual machine A device manager that creates a device model including information for assigning to the same address as the address assigned by the assigning means;
Address translation for MMIO access to the assigned I / O device by the virtual machine, Address translation for performing DMA transfer between the assigned I / O device and the virtual machine, and the virtual machine Comprises a semiconductor circuit having an address conversion circuit for performing address conversion for accessing a BIOS different from the system BIOS,
The hypervisor allocates the I / O device to the memory space of the virtual machine based on the device model,
When the virtual machine performs MMIO access to the allocated I / O device, performs DMA transfer with the allocated I / O device, or accesses a BIOS different from the system BIOS, An information processing apparatus that is accessed using the address conversion circuit.
前記仮想マシンを前記ハイパーバイザ上で動作させるためのイメージをロードする手段を更に具備することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, further comprising means for loading an image for operating the virtual machine on the hypervisor. 前記情報処理装置は、インストールされているオペレーティングシステムおよびアプリケーションプログラムを前記仮想マシンとして動作させる仮想マシンモードと、前記オペレーティングシステムおよびアプリケーションプログラムを非仮想マシンとして動作させる非仮想マシンモードとを有し、
前記情報処理装置は、前記仮想マシンモードと前記非仮想マシンとを切り替えるための手段を更に具備することを特徴とする請求項1に記載の情報処理装置。
The information processing apparatus has a virtual machine mode for operating an installed operating system and application program as the virtual machine, and a non-virtual machine mode for operating the operating system and application program as a non-virtual machine,
The information processing apparatus according to claim 1, further comprising means for switching between the virtual machine mode and the non-virtual machine.
前記割り当て手段は、前記システムBIOSと異なるBIOSをC000h〜FFFFHに割り当てることを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the assigning unit assigns a BIOS different from the system BIOS to C000h to FFFFH. 前記システムBIOSと異なるBIOSは、SMBIOS(System Management Basic Input/Output System)、拡張BIOS、およびVIDEO BIOSであることを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the BIOS different from the system BIOS is a system management basic input / output system (SMBIOS), an extended BIOS, and a VIDEO BIOS. ハイパーバイザ上で仮想マシンが動作する情報処理装置の制御方法であって、
前記情報処理装置に設けられたI/Oデバイスと、システムBIOS(Basic Input/Output System)と異なるBIOSとをメモリ空間に割り当て、
デバイスプロファイルと前記情報処理装置に設けられたI/Oデバイス構成とに応じて、前記仮想マシンのメモリ空間に対してI/Oデバイスを割り当てる情報と、前記仮想マシンのアドレス空間上の前記システムBIOSと異なるBIOSのアドレスを前記割り当て手段が割り当てたアドレスと同一のアドレスに割り当てるための情報とを含むデバイスモデルを作成し、
前記ハイパーバイザが、前記デバイスモデルに基づいて前記仮想マシンのメモリ空間に前記I/Oデバイスおよび前記システムBIOSと異なるBIOSを割り当て、
前記仮想マシンは、前記割り当てられたI/Oデバイスに対してMMIOアクセスを行う、前記割り当てられたI/Oデバイスとの間でDMA転送を行う、または前記システムBIOSと異なるBIOSにアクセスする場合、前記仮想マシンが前記割り当てられたI/OデバイスにMMIOアクセスするためのアドレス変換、および前記割り当てられたI/Oデバイスまたは前記システムBIOSと異なるBIOSと前記仮想マシンとの間でDMA転送を行うためのアドレス変換を行うためのアドレス変換回路を用いて前記アクセスまたは前記DMA転送を行うことを特徴とする情報処理装置の制御方法。
A method for controlling an information processing apparatus in which a virtual machine operates on a hypervisor,
An I / O device provided in the information processing apparatus and a BIOS different from a system BIOS (Basic Input / Output System) are allocated to a memory space;
Information for allocating an I / O device to a memory space of the virtual machine according to a device profile and an I / O device configuration provided in the information processing apparatus, and the system BIOS on the virtual machine address space A device model including information for assigning a different BIOS address to the same address as the address assigned by the assigning means,
The hypervisor allocates a BIOS different from the I / O device and the system BIOS to the memory space of the virtual machine based on the device model,
When the virtual machine performs MMIO access to the allocated I / O device, performs DMA transfer with the allocated I / O device, or accesses a BIOS different from the system BIOS, Address translation for the virtual machine to make MMIO access to the assigned I / O device, and DMA transfer between the assigned I / O device or a BIOS different from the system BIOS and the virtual machine A method for controlling an information processing apparatus, wherein the access or the DMA transfer is performed using an address conversion circuit for performing address conversion.
前記仮想マシンを前記ハイパーバイザ上で動作させるためのイメージをロードし、
前記ロードしたイメージを用いて前記仮想マシンを前記ハイパーバイザ上で動作させることを特徴とする請求項6に記載の情報処理装置の制御方法。
Load an image to run the virtual machine on the hypervisor;
The method according to claim 6, wherein the virtual machine is operated on the hypervisor using the loaded image.
前記情報処理装置は、インストールされているオペレーティングシステムおよびアプリケーションプログラムを前記仮想マシンとして動作させる仮想マシンモードと、前記オペレーティングシステムおよびアプリケーションプログラムを非仮想マシンとして動作させる非仮想マシンモードとを有し、
システムの起動時に前記仮想マシンモードと前記非仮想マシンとを切り替える
ことを特徴とする請求項6に記載の情報処理装置の制御方法。
The information processing apparatus has a virtual machine mode for operating an installed operating system and application program as the virtual machine, and a non-virtual machine mode for operating the operating system and application program as a non-virtual machine,
The information processing apparatus control method according to claim 6, wherein the virtual machine mode and the non-virtual machine are switched when the system is started.
前記システムBIOSと異なるBIOSをC000h〜FFFFHに割り当てることを特徴とする請求項6に記載の情報処理装置の制御方法。   The information processing apparatus control method according to claim 6, wherein a BIOS different from the system BIOS is assigned to C000h to FFFFH. 前記システムBIOSと異なるBIOSは、SMBIOS(System Management Basic Input/Output System)、拡張BIOS、およびVIDEO BIOSであることを特徴とする請求項6に記載の情報処理装置の制御方法。   7. The information processing apparatus control method according to claim 6, wherein the BIOS different from the system BIOS is a system management basic input / output system (SMBIOS), an extended BIOS, and a VIDEO BIOS.
JP2008304833A 2008-11-28 2008-11-28 Information processing apparatus and method of controlling the same Pending JP2010128943A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008304833A JP2010128943A (en) 2008-11-28 2008-11-28 Information processing apparatus and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008304833A JP2010128943A (en) 2008-11-28 2008-11-28 Information processing apparatus and method of controlling the same

Publications (1)

Publication Number Publication Date
JP2010128943A true JP2010128943A (en) 2010-06-10

Family

ID=42329271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008304833A Pending JP2010128943A (en) 2008-11-28 2008-11-28 Information processing apparatus and method of controlling the same

Country Status (1)

Country Link
JP (1) JP2010128943A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014170385A (en) * 2013-03-04 2014-09-18 Fujitsu Ltd Virtual machine management device, method and program
US9558364B2 (en) 2012-02-23 2017-01-31 Mitsubishi Electric Corporation Computing machine, access management method, and access management program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0333937A (en) * 1989-06-30 1991-02-14 Hitachi Ltd Display control system in virtual machine
JPH04205151A (en) * 1990-11-30 1992-07-27 Hitachi Ltd Keyboard control system for virtual computer
JPH0546406A (en) * 1991-08-19 1993-02-26 Hitachi Ltd Virtual computer emulation system
JPH06222998A (en) * 1993-01-25 1994-08-12 Seiko Epson Corp Executing method for virtual computer system
JPH1069393A (en) * 1996-06-19 1998-03-10 Hokkaido Nippon Denki Software Kk Virtual computer emulator, virtual computer emulating method, and recording medium where virtual computer emultating program is recorded
JPH113236A (en) * 1997-06-12 1999-01-06 Hokkaido Nippon Denki Software Kk Virtual computer emulation device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0333937A (en) * 1989-06-30 1991-02-14 Hitachi Ltd Display control system in virtual machine
JPH04205151A (en) * 1990-11-30 1992-07-27 Hitachi Ltd Keyboard control system for virtual computer
JPH0546406A (en) * 1991-08-19 1993-02-26 Hitachi Ltd Virtual computer emulation system
JPH06222998A (en) * 1993-01-25 1994-08-12 Seiko Epson Corp Executing method for virtual computer system
JPH1069393A (en) * 1996-06-19 1998-03-10 Hokkaido Nippon Denki Software Kk Virtual computer emulator, virtual computer emulating method, and recording medium where virtual computer emultating program is recorded
JPH113236A (en) * 1997-06-12 1999-01-06 Hokkaido Nippon Denki Software Kk Virtual computer emulation device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558364B2 (en) 2012-02-23 2017-01-31 Mitsubishi Electric Corporation Computing machine, access management method, and access management program
JP2014170385A (en) * 2013-03-04 2014-09-18 Fujitsu Ltd Virtual machine management device, method and program

Similar Documents

Publication Publication Date Title
JP4665040B2 (en) Computer and access control method
JP2009259108A (en) Information processing apparatus and method of controlling information processing apparatus
CN106537340B (en) Input/output acceleration apparatus and method of virtualized information handling system
RU2639693C1 (en) Method for resource processing, operating system and device
US8595723B2 (en) Method and apparatus for configuring a hypervisor during a downtime state
KR102269452B1 (en) Supporting multiple operating system environments in computing device without contents conversion
TWI512479B (en) Assigning processors to memory mapped configuration
US8856781B2 (en) Method and apparatus for supporting assignment of devices of virtual machines
CN107430570B (en) Additional secure execution environment with SR-IOV and xHCI-IOV
US20180336158A1 (en) Systems and methods for data transfer with coherent and non-coherent bus topologies and attached external memory
JP2011100431A (en) Device and method for controlling virtual machine
JP2012009013A (en) Unified storage device based on partial virtualized machine
US10503922B2 (en) Systems and methods for hardware-based security for inter-container communication
US10235195B2 (en) Systems and methods for discovering private devices coupled to a hardware accelerator
JP2011526714A (en) Memory management for hypervisor loading
JP6242502B2 (en) Virtual computer system control method and virtual computer system
US20180335956A1 (en) Systems and methods for reducing data copies associated with input/output communications in a virtualized storage environment
JP4692912B2 (en) Resource allocation system and resource allocation method
US10776145B2 (en) Systems and methods for traffic monitoring in a virtualized software defined storage architecture
JP2010128943A (en) Information processing apparatus and method of controlling the same
US11829772B2 (en) Heterogeneous compute domains with an embedded operating system in an information handling system
CN118312226A (en) UEFI firmware starting method and system based on RISCV server CPU
JP4292220B2 (en) Virtual computer system
JP4548514B2 (en) Control method of virtual computer system

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100713