JP2001344185A - Information processing device and i/o emulation control method - Google Patents

Information processing device and i/o emulation control method

Info

Publication number
JP2001344185A
JP2001344185A JP2000163036A JP2000163036A JP2001344185A JP 2001344185 A JP2001344185 A JP 2001344185A JP 2000163036 A JP2000163036 A JP 2000163036A JP 2000163036 A JP2000163036 A JP 2000163036A JP 2001344185 A JP2001344185 A JP 2001344185A
Authority
JP
Japan
Prior art keywords
address
setting
cpu
change
trap
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
JP2000163036A
Other languages
Japanese (ja)
Inventor
Hiroyuki Oda
博幸 尾田
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 JP2000163036A priority Critical patent/JP2001344185A/en
Publication of JP2001344185A publication Critical patent/JP2001344185A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To securely emulate the operation of an I/O device capable of dynamically mapping an I/O address with a software. SOLUTION: An I/O trap SMI is utilized as a program interface for starting an I/O emulation routine, and a software SMI to be periodically published is utilized as a program interface for starting an I/O address change detecting routine. The I/O address change detecting routine monitors a changeover of the I/O address of an I/O device 14 by an operating system, and when the I/O address is changed, the I/O address change detecting routine automatically renews a value of the I/O base address set in a trap address setting register 156 of an I/O trap SMI generating circuit 151 in response to the change of the I/O address.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明はI/Oデバイスの
動作をソフトウェアによってエミュレーションすること
が可能な情報処理装置およびI/Oエミュレーション制
御方法に関する。
The present invention relates to an information processing apparatus capable of emulating the operation of an I / O device by software and an I / O emulation control method.

【0002】[0002]

【従来の技術】近年、コンピュータシステムの通信イン
タフェースの改良や、多機能化等に伴い、パーソナルコ
ンピュータ等の情報処理装置においては、従来からのレ
ガシーI/Oデバイスに加え、新たなI/Oデバイスの
実装が要求され始めている。このような新たなI/Oデ
バイスとしては、例えばUSBインタフェースやIEE
E1394インタフェース、あるいは携帯電話インタフ
ェースなどのコントローラなどが挙げられる。
2. Description of the Related Art In recent years, with the improvement of the communication interface of a computer system and the increase in the number of functions, in information processing apparatuses such as personal computers, new I / O devices have been added in addition to conventional legacy I / O devices. The implementation of is beginning to be required. As such a new I / O device, for example, a USB interface or IEEE
Examples include a controller such as an E1394 interface or a mobile phone interface.

【0003】ところで、従来より、情報処理技術の分野
においては、特定のハードウェアの機能をソフトウェア
によってエミュレーションするというエミュレーション
技術が知られている。このエミュレーションは、例えば
I/Oデバイスの特定のI/Oポートに生じたバグを解
消したり、あるいは実際には存在しないI/Oポートの
機能を擬似的に提供するといった用途に有効である。
By the way, in the field of information processing technology, an emulation technology for emulating specific hardware functions by software has been known. This emulation is effective for, for example, solving a bug occurring in a specific I / O port of an I / O device or providing a function of an I / O port that does not actually exist.

【0004】[0004]

【発明が解決しようとする課題】しかし、最近のI/O
デバイスはPCI仕様のものが多く、適用するエミュレ
ーション方法によっては正しいエミュレーション動作を
実行できないなどの不具合が発生する危険があった。P
CI仕様のI/OデバイスはI/Oアドレスを動的にマ
ッピング可能に構成されており、オペレーティングシス
テムによってI/Oアドレスマップの切り替えが行われ
ることがあるからである。
SUMMARY OF THE INVENTION However, recent I / O
Many devices have PCI specifications, and depending on the emulation method to be applied, there is a danger that problems such as a failure to execute a correct emulation operation may occur. P
This is because an I / O device conforming to the CI specification is configured so that an I / O address can be dynamically mapped, and an I / O address map may be switched by an operating system.

【0005】本発明は上述の事情に鑑みてなされたもの
であり、I/Oアドレスを動的にマッピング可能なI/
Oデバイスの動作を確実にエミュレーションすることが
可能な情報処理装置およびI/Oエミュレーション制御
方法を提供することを目的とする。
The present invention has been made in view of the above circumstances, and has been made in consideration of an I / O address capable of dynamically mapping an I / O address.
An object of the present invention is to provide an information processing apparatus and an I / O emulation control method capable of reliably emulating the operation of an O device.

【0006】[0006]

【課題を解決するための手段】上述の課題を解決するた
め、本発明は、I/Oデバイスに対してI/Oアドレス
を動的にマッピング可能な情報処理装置であって、CP
Uと、前記I/OデバイスのI/Oアドレスが割り込み
起動用のI/Oアドレスとして設定され、前記割り込み
起動用のI/Oアドレスを示す前記CPUからのI/O
アクセスをトラップして前記CPUに第1の割り込み信
号を発行する手段と、前記第1の割り込み信号によって
起動され、前記I/Oアドレスで指定されたI/Oデバ
イスの動作をエミュレーションするI/Oエミュレーシ
ョン手段と、前記CPUによる前記I/Oデバイスに対
するI/Oアドレスの設定変更を監視する手段と、前記
I/Oデバイスに対するI/Oアドレスの設定変更に応
じて、前記割り込み起動用のI/Oアドレスの値を更新
する手段とを具備することを特徴とする。
In order to solve the above-mentioned problems, the present invention relates to an information processing apparatus capable of dynamically mapping an I / O address to an I / O device.
U and the I / O address of the I / O device are set as an I / O address for interrupt activation, and the I / O address from the CPU indicating the I / O address for interrupt activation.
Means for trapping an access and issuing a first interrupt signal to the CPU; and I / O activated by the first interrupt signal and emulating an operation of an I / O device specified by the I / O address. Emulation means, means for monitoring a change in the setting of an I / O address for the I / O device by the CPU, and I / O for starting the interrupt in response to the change in the setting of the I / O address for the I / O device. Means for updating the value of the O address.

【0007】この情報処理装置においては、エミュレー
ション対象となるI/OデバイスのI/Oアドレスが割
り込み起動用のI/Oアドレスとして設定されており、
その割り込み起動用のI/Oアドレスを示すI/Oアク
セスがCPUから発行されると、それがトラップされて
CPUに第1の割り込み信号が発行される。この第1の
割り込み信号によりI/Oエミュレーション手段が自動
起動され、CPUからのI/Oアドレスで指定されたI
/Oデバイスの動作がエミュレーションされる。この方
式においては、I/Oエミュレーション手段を割り込み
プログラムによって実現できるため、アプリケーション
プログラムやドライバ等を変更することなくI/Oの動
作を容易にエミュレーションすることができるが、割り
込み起動用のI/Oアドレスはエミュレーション対象の
I/Oアドレスに一致させることが必要となる。
In this information processing apparatus, an I / O address of an I / O device to be emulated is set as an I / O address for interrupt activation.
When an I / O access indicating the I / O address for interrupt activation is issued from the CPU, the trap is trapped and a first interrupt signal is issued to the CPU. The I / O emulation means is automatically started by the first interrupt signal, and the I / O emulation means specified by the I / O address from the CPU is started.
The operation of the / O device is emulated. In this method, since the I / O emulation means can be realized by an interrupt program, the operation of the I / O can be easily emulated without changing an application program, a driver, or the like. The address needs to match the emulation target I / O address.

【0008】そこで、本発明では、エミュレーション対
象のI/Oアドレスがオペレーティングシステムによっ
て切り替えられても、それに追従して割り込み起動用の
I/Oアドレスを変更できるように、I/Oアドレスの
設定変更を監視する手段と、I/Oデバイスに対するI
/Oアドレスの設定変更に応じて、割り込み起動用のI
/Oアドレスの値を更新する手段とが設けられている。
これら手段より、割り込み起動用のI/Oアドレスの値
を、I/Oデバイスに割り当てられるI/Oアドレスに
合わせることが可能となり、I/Oデバイスの動作を確
実にエミュレーションすることが可能となる。
Therefore, according to the present invention, even if the I / O address to be emulated is switched by the operating system, the setting change of the I / O address can be changed so that the I / O address for interrupt activation can be changed accordingly. Means for monitoring the I / O device
In response to the change in the setting of the / O address, I
Means for updating the value of the / O address.
By these means, the value of the I / O address for interrupt activation can be adjusted to the I / O address assigned to the I / O device, and the operation of the I / O device can be reliably emulated. .

【0009】前記I/Oアドレスの設定変更を監視する
手段としては、I/Oデバイスのコンフィグレーション
空間に設定されたI/Oベースアドレスの値を定期的に
ポーリングする手段を利用することができる。この場
合、ポーリング時には、前記I/Oデバイスが動作禁止
状態であるか否かを判別し、I/Oデバイスが動作禁止
状態である場合には第1の割り込み信号の発行を禁止す
ることが好ましい。これにより、無駄な割り込みが発生
するのを防止することができる。
As means for monitoring a change in the setting of the I / O address, means for periodically polling the value of the I / O base address set in the configuration space of the I / O device can be used. . In this case, at the time of polling, it is preferable to determine whether or not the I / O device is in the operation prohibited state, and to prohibit issuing the first interrupt signal when the I / O device is in the operation prohibited state. . As a result, it is possible to prevent a useless interrupt from occurring.

【0010】また、前記第2の割り込み信号を、I/O
デバイスのコンフィグレーション空間に属する所定のア
ドレスを示すCPUからのコンフィグレーションアクセ
スをトラップすることによって発生する仕組みを設け、
これによって監視手段を起動することも可能である。こ
れにより、ポーリングを利用する場合のようなタイマ割
り込みなどの手法が不要となり、システム性能を高める
ことが可能となる。
[0010] Further, the second interrupt signal is transmitted to an I / O
A mechanism is generated by trapping a configuration access from a CPU indicating a predetermined address belonging to a device configuration space,
Thereby, it is also possible to activate the monitoring means. This eliminates the need for a technique such as a timer interrupt as in the case of using polling, thereby improving system performance.

【0011】[0011]

【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。図1には、本発明の一実施形態に係
わる情報処理装置の構成が示されている。この情報処理
装置は例えばノートブックタイプのパーソナルコンピュ
ータなどのコンピュータシステムであり、CPU11、
ホスト−PCIブリッジ12、主メモリ13、I/Oデ
バイス14、システムコントローラ15、PCI−IS
Aブリッジ16、およびBIOS−ROM17を内蔵し
ている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a configuration of an information processing apparatus according to an embodiment of the present invention. The information processing apparatus is a computer system such as a notebook personal computer, for example, and includes a CPU 11,
Host-PCI bridge 12, main memory 13, I / O device 14, system controller 15, PCI-IS
An A-bridge 16 and a BIOS-ROM 17 are incorporated.

【0012】CPU11は本システム全体の動作制御お
よびデータ処理を実行する。このCPU11としては、
システム管理割り込みSMI(SMI;System Man
agement Interrupt)をサポートするものが利用され
る。即ち、CPU11はオペレーティングシステムやア
プリケーション等を実行するための通常動作モードに加
え、システム管理モード(SMM;System Ma
nagement mode)と称されるシステム管理
機能を実現するための動作モードを有している。
The CPU 11 controls the operation of the entire system and executes data processing. As the CPU 11,
System management interrupt SMI (SMI; System Man)
Those that support agement interrupts are used. That is, in addition to the normal operation mode for executing the operating system, the application, and the like, the CPU 11 includes a system management mode (SMM; System Ma).
The system has an operation mode for realizing a system management function called a “management mode”.

【0013】システム管理割込み(SMI;System
Management Interrupt)がCPU11に発行された
時、CPU11の動作モードは、通常動作モード(リア
ルモード、プロテクトモード、または仮想86モード)
から、SMMにスイッチされる。SMMでは、I/Oデ
バイスの動作をエミュレーションするためのI/Oエミ
ュレーションルーチンなどのシステム管理プログラムが
実行される。
System management interrupt (SMI; System)
When a Management Interrupt is issued to the CPU 11, the operation mode of the CPU 11 is the normal operation mode (real mode, protect mode, or virtual 86 mode).
Is switched to SMM. In the SMM, a system management program such as an I / O emulation routine for emulating the operation of an I / O device is executed.

【0014】SMIはマスク不能割込みNMIの一種で
あるが、通常のNMIやマスク可能割込みINTRより
も優先度の高い、最優先度の割り込みである。このSM
Iを発行することによって、システム管理プログラム
を、実行中のアプリケーションプログラムやオペレーテ
ィングシステムの環境に依存せずに起動することができ
る。
The SMI is a type of non-maskable interrupt NMI, but is the highest priority interrupt having a higher priority than a normal NMI or maskable interrupt INTR. This SM
By issuing I, the system management program can be started without depending on the environment of the running application program or the operating system.

【0015】ホスト−PCIブリッジ12はCPUバス
1とPCIバス2との間をつなぐブリッジLSIであ
り、ここには主メモリ13を制御するためのメモリコン
トローラも内蔵されている。I/Oデバイス14はPC
I仕様のI/Oデバイス(PCIデバイス)であり、本
システムにおいては、I/Oエミュレーションプログラ
ムによるエミュレーション処理の対象となるターゲット
デバイスとなる。このI/Oデバイス14は、そのI/
Oアドレスを動的にマッピング可能に構成されている。
I/Oデバイス14内には、コンフィグレーションレジ
スタ群およびI/Oレジスタ群が内蔵されている。I/
Oレジスタ群に割り当てるべきI/Oアドレス空間は、
I/Oデバイス14内のコンフィグレーションレジスタ
群内に定義されたI/Oベースアドレスレジスタの値
(I/Oベースアドレス)に従って決定される。このI
/Oベースアドレスの値は、オペレーティングシステム
によって必要に応じて動的に書き換えられる。
The host-PCI bridge 12 is a bridge LSI for connecting between the CPU bus 1 and the PCI bus 2, and has a built-in memory controller for controlling the main memory 13. I / O device 14 is PC
It is an I / O device (PCI device) of the I specification. In this system, it is a target device to be emulated by an I / O emulation program. This I / O device 14 is
The O address is configured to be dynamically mappable.
The I / O device 14 includes a configuration register group and an I / O register group. I /
The I / O address space to be assigned to the O register group is
It is determined according to the value of the I / O base address register (I / O base address) defined in the configuration register group in the I / O device 14. This I
The value of the / O base address is dynamically rewritten by the operating system as needed.

【0016】システムコントローラ15には、CPU1
1へのSMI信号の発生を制御するためのハードウェア
などが組み込まれている。システムコントローラ15は
実際には前述のホスト−PCIブリッジ12や後述のP
CI−ISAブリッジ16に内蔵することができる。
The system controller 15 includes a CPU 1
For example, hardware for controlling the generation of the SMI signal to S.1 is incorporated. The system controller 15 actually communicates with the host-PCI bridge 12 described above and a P
It can be built in the CI-ISA bridge 16.

【0017】PCI−ISAブリッジ16はPCIバス
2とISAバス3間をつなぐブリッジLSIである。I
SAバス3には、BIOS−ROM17が接続されてい
る。BIOS−ROM17は、システムBIOS(Bas
ic I/O System )を記憶するためのものであり、
プログラム書き替えが可能なようにフラッシュメモリに
よって構成されている。システムBIOSは、このシス
テム内の各種ハードウェアをアクセスするファンクショ
ン実行ルーチンを体系化したものであり、リアルモード
で動作するように構成されている。このシステムBIO
Sには、システムのパワーオン時に実行されるIRTル
ーチンと、各種ハードウェア制御のためのBIOSドラ
イバ群が含まれている。各BIOSドライバは、ハード
ウェア制御のための複数の機能をオペレーティングシス
テムやアプリケーションプログラムに提供するためにそ
れら機能に対応する複数のファンクション実行ルーチン
群を含んでいる。
The PCI-ISA bridge 16 is a bridge LSI connecting the PCI bus 2 and the ISA bus 3. I
A BIOS-ROM 17 is connected to the SA bus 3. The BIOS-ROM 17 stores the system BIOS (Bas
ic I / O System),
It is composed of a flash memory so that the program can be rewritten. The system BIOS systematizes a function execution routine for accessing various hardware in the system, and is configured to operate in a real mode. This system BIO
S includes an IRT routine executed when the system is powered on, and a group of BIOS drivers for various hardware controls. Each BIOS driver includes a plurality of function execution routine groups corresponding to the functions for providing a plurality of functions for hardware control to an operating system or an application program.

【0018】また、BIOS−ROM17には、SMI
サービスルーチンなどのSMMの中で実行されるシステ
ム管理プログラム(SMM−BIOS)も格納されてい
る。システム管理プログラムには、前述のI/Oエミュ
レーションルーチンや、オペレーティングシステムによ
るI/Oデバイス14のI/Oアドレスの切り替えを監
視するためのI/Oアドレス変更検出ルーチンなどが含
まれている。
The BIOS-ROM 17 contains an SMI
A system management program (SMM-BIOS) executed in the SMM such as a service routine is also stored. The system management program includes the above-described I / O emulation routine, an I / O address change detection routine for monitoring switching of the I / O address of the I / O device 14 by the operating system, and the like.

【0019】次に、システムコントローラ15に設けら
れたSMI発生制御のためのハードウェア構成について
説明する。
Next, the hardware configuration for controlling SMI generation provided in the system controller 15 will be described.

【0020】システムコントローラ15は、図示のよう
に、I/OトラップSMI発生回路151、ソフトウェ
アSMI発生回路152、他の要因によるSMI発生回
路153、OR回路154、およびSMIステータスレ
ジスタ155を備えている。I/OトラップSMI発生
回路151はI/OトラップSMI信号を発生させるた
めの回路であり、予め決められたアドレス範囲に属すP
CIバス2上のI/OアドレスをトラップしてI/Oト
ラップSMI信号を発生する。このI/OトラップSM
I発生回路151は、図示のように、トラップアドレス
設定レジスタ156、I/Oトラップ回路157、およ
びマスクレジスタ158から構成されている。
As shown, the system controller 15 includes an I / O trap SMI generation circuit 151, a software SMI generation circuit 152, an SMI generation circuit 153 due to other factors, an OR circuit 154, and an SMI status register 155. . The I / O trap SMI generation circuit 151 is a circuit for generating an I / O trap SMI signal, and includes a P / S signal belonging to a predetermined address range.
The I / O address on the CI bus 2 is trapped to generate an I / O trap SMI signal. This I / O trap SM
As shown, the I generation circuit 151 includes a trap address setting register 156, an I / O trap circuit 157, and a mask register 158.

【0021】トラップアドレス設定レジスタ156はC
PU11がリード/ライト可能なレジスタであり、PC
Iバス2に接続されている。このトラップアドレス設定
レジスタ156は、エミュレーション対象となるI/O
デバイス14のI/Oベースアドレスを割り込み起動用
のI/Oアドレス(トラップアドレス)として保持す
る。このI/Oベースアドレスは、例えばシステムのパ
ワーオン時にIRTルーチンによってトラップアドレス
設定レジスタ156に設定される。また、システム起動
後にオペレーティングシステムによってI/Oデバイス
14のI/Oベースアドレスが変更された場合には、そ
れを検出したI/Oアドレス変更検出ルーチンによって
トラップアドレス設定レジスタ156の内容がI/Oデ
バイス14のI/Oベースアドレスに合わせて書き換え
られる。
The trap address setting register 156 stores C
PU11 is a readable / writable register.
It is connected to the I bus 2. The trap address setting register 156 stores the I / O to be emulated.
The I / O base address of the device 14 is held as an I / O address (trap address) for interrupt activation. This I / O base address is set in the trap address setting register 156 by the IRT routine when the system is powered on, for example. When the I / O base address of the I / O device 14 is changed by the operating system after the system is started, the contents of the trap address setting register 156 are changed by the I / O address change detection routine that detects the change. It is rewritten according to the I / O base address of the device 14.

【0022】I/Oトラップ回路157はIOリード/
ライトサイクルにおいてPCIバス2上に出力されるI
/Oアドレスとトラップアドレス設定レジスタ156の
I/Oベースアドレスとを比較し、I/OアドレスがI
/Oベースアドレスによって指定されるアドレス範囲に
属する時にI/OトラップSMI信号を発生する。
The I / O trap circuit 157 has an IO read /
I output on PCI bus 2 in a write cycle
The I / O address is compared with the I / O base address of the trap address setting register 156, and the I / O address is
Generates an I / O trap SMI signal when it belongs to the address range specified by the / O base address.

【0023】マスクレジスタ158は、CPU11がリ
ード/ライト可能なレジスタであり、PCIバス2に接
続されている。このマスクレジスタ158は、I/Oト
ラップSMI信号の発生を許可または禁止するためのマ
スクデータを保持する。
The mask register 158 is a register readable and writable by the CPU 11, and is connected to the PCI bus 2. This mask register 158 holds mask data for permitting or prohibiting the generation of the I / O trap SMI signal.

【0024】ソフトウェアSMI発生回路152はタイ
マおよび制御レジスタを有しており、制御レジスタで指
定される所定のタイムアウト時間間隔でソフトウェアS
MIを定期的に発生する。OR回路154は、I/Oト
ラップSMI発生回路151、ソフトウェアSMI発生
回路152、および他の要因によるSMI発生回路15
3のいずれかがSMI信号を発生した時、そのSMI信
号をCPU11に供給する。SMIステータスレジスタ
155は、SMI発生要因を示すステータスデータを保
持するためのものであり、I/OトラップSMI発生回
路151、ソフトウェアSMI発生回路152、および
他の要因によるSMI発生回路153それぞれの出力を
保持する。
The software SMI generation circuit 152 has a timer and a control register, and the software SMI generation circuit 152 generates the software SMI at a predetermined time-out time interval specified by the control register.
MI is periodically generated. The OR circuit 154 includes an I / O trap SMI generation circuit 151, a software SMI generation circuit 152, and the SMI generation circuit 15 due to other factors.
3 generates an SMI signal, and supplies the SMI signal to the CPU 11. The SMI status register 155 holds status data indicating an SMI generation factor, and outputs the outputs of the I / O trap SMI generation circuit 151, the software SMI generation circuit 152, and the SMI generation circuit 153 due to other factors. Hold.

【0025】図2には、I/Oエミュレーションルーチ
ンおよびI/Oアドレス変更検出ルーチンと、それらを
起動するためのプログラム・インタフェースとの関係が
示されている。図2に示されているように、I/Oトラ
ップSMIはI/Oエミュレーションルーチンを起動す
るためのプログラム・インタフェースとして利用され、
またソフトウェアSMIは、I/Oアドレス変更検出ル
ーチンを起動するためのプログラム・インタフェースと
して利用される。
FIG. 2 shows the relationship between the I / O emulation routine and the I / O address change detection routine and the program interface for activating them. As shown in FIG. 2, the I / O trap SMI is used as a program interface for starting an I / O emulation routine,
The software SMI is used as a program interface for activating an I / O address change detection routine.

【0026】次に、図3を参照して、本実施形態で用い
られるI/Oエミュレーションの仕組みについて説明す
る。
Next, the mechanism of I / O emulation used in this embodiment will be described with reference to FIG.

【0027】オペレーティングシステムまたはアプリケ
ーションプログラムがエミュレーション対象のI/Oア
ドレスを指定するINまたはOUT命令を実行すると、
I/OトラップSMI発生回路151からI/Oトラッ
プSMIが発行され、これによってSMM−BIOSの
I/Oエミュレーションルーチンが起動される。I/O
エミュレーションルーチンは、I/Oデバイス14の特
定のI/Oポート(I/Oレジスタ)の機能をエミュレ
ーションするものであり、最初にCPU11内のレジス
タ値を参照してエミュレーション対象のI/Oポートを
指定するINまたはOUT命令であることを確認する。
そして、エミュレーション対象のI/Oポートを指定す
るINまたはOUT命令であった場合には、I/Oエミ
ュレーションルーチンは、エミュレーション対象のI/
Oポートの動作に対応する予め決められたエミュレーシ
ョン処理を実行し、実際のハードウェアの代わりにオペ
レーティングシステムまたはアプリケーションプログラ
ムに対してデータを返すなどの処理を行う。なお、エミ
ュレーション対象のI/Oポートを指定するINまたは
OUT命令に対してはハードウェア、つまりI/Oデバ
イス14は機能しない。
When an operating system or an application program executes an IN or OUT instruction for specifying an I / O address to be emulated,
An I / O trap SMI is issued from the I / O trap SMI generating circuit 151, whereby the I / O emulation routine of the SMM-BIOS is started. I / O
The emulation routine emulates the function of a specific I / O port (I / O register) of the I / O device 14, and first refers to the register value in the CPU 11 to determine the I / O port to be emulated. Confirm that it is the specified IN or OUT instruction.
If the instruction is an IN or OUT instruction designating an I / O port to be emulated, the I / O emulation routine executes the I / O port to be emulated.
A predetermined emulation process corresponding to the operation of the O port is executed, and a process of returning data to an operating system or an application program instead of actual hardware is performed. Note that the hardware, that is, the I / O device 14 does not function for an IN or OUT instruction that specifies an I / O port to be emulated.

【0028】エミュレーション処理が完了すると、I/
Oエミュレーションルーチンの割り込み元のオペレーテ
ィングシステムまたはアプリケーションプログラムに制
御が戻される。
When the emulation processing is completed, I /
Control is returned to the operating system or application program that interrupted the O emulation routine.

【0029】次に、図4のフローチャートを参照して、
I/Oアドレス変更検出ルーチンの処理について説明す
る。
Next, referring to the flowchart of FIG.
The processing of the I / O address change detection routine will be described.

【0030】前述したように、I/Oアドレス変更検出
ルーチンはソフトウェアSMIによって定期的に起動さ
れる。I/Oアドレス変更検出ルーチンは、まず、エミ
ュレーション対象となるI/Oデバイス14のコンフィ
グレーションレジスタをリードアクセスし、そこに設定
されているI/Oデバイス14のI/Oベースアドレス
の値をエミュレーション対象のI/Oアドレスとして取
得する(ステップS101)。たとえI/Oベースアド
レスの値が書き換えられていても、コンフィグレーショ
ンレジスタのコンフィグレーションアドレスは変わらな
いため、現在のI/OベースアドレスをI/Oデバイス
14から正常に取得することができる。
As described above, the I / O address change detection routine is periodically started by the software SMI. In the I / O address change detection routine, first, the configuration register of the I / O device 14 to be emulated is read-accessed, and the value of the I / O base address of the I / O device 14 set therein is emulated. It is acquired as a target I / O address (step S101). Even if the value of the I / O base address is rewritten, the current I / O base address can be normally acquired from the I / O device 14 because the configuration address of the configuration register does not change.

【0031】次いで、I/Oアドレス変更検出ルーチン
は、取得したI/Oベースアドレスが予め決められた無
効アドレスであるか否かによって、I/Oデバイス14
が動作禁止状態(ディスエーブル)に設定されている
か、動作状態(イネーブル)に設定されているかを判断
する(ステップS102)。取得したI/Oベースアド
レスが無効アドレスである場合、つまりI/Oデバイス
14が動作禁止状態である場合には(ステップS102
のNO)、I/Oエミュレーションの必要が無いため、
I/Oアドレス変更検出ルーチンは、I/OトラップS
MIの発生を禁止するためのマスクデータをマスクレジ
スタ158に書き込み(ステップS114)、処理を終
了する。これにより、不要なI/OトラップSMIの発
生によってパフォーマンスが低下するのを防止すること
ができる。
Next, the I / O address change detection routine determines whether the acquired I / O base address is a predetermined invalid address or not.
Is set to the operation prohibited state (disabled) or the operation state (enabled) (step S102). If the acquired I / O base address is an invalid address, that is, if the I / O device 14 is in the operation prohibited state (step S102)
NO), since there is no need for I / O emulation,
The I / O address change detection routine uses the I / O trap S
The mask data for prohibiting the occurrence of MI is written in the mask register 158 (step S114), and the process ends. As a result, it is possible to prevent the performance from deteriorating due to the occurrence of the unnecessary I / O trap SMI.

【0032】一方、取得したI/Oベースアドレスが有
効アドレスである場合、つまりI/Oデバイス14が動
作状態である場合には(ステップS102のYES)、
I/Oアドレス変更検出ルーチンは、マスクレジスタ1
58のマスクデータを参照して、I/OトラップSMI
の発生が許可されているか否かを判断する(ステップS
104)。I/OトラップSMIの発生が禁止されてい
る場合は、I/Oアドレス変更検出ルーチンは、I/O
トラップSMIの発生を許可するためのマスクデータを
マスクレジスタ158に書き込み、I/OトラップSM
Iを有効にする(ステップS105)。次に、I/Oア
ドレス変更検出ルーチンは、トラップアドレス設定レジ
スタ156からI/OトラップSMI起動用のI/Oア
ドレス(I/Oベースアドレス)を取得し(ステップS
106)、ステップS101で取得したI/Oベースア
ドレスと比較する(ステップS107)。両者が一致し
なかった場合には(ステップS107のNO)、I/O
アドレス変更検出ルーチンは、オペレーティングシステ
ムがI/Oデバイス14のI/Oアドレスを動的に切り
替えたものと判断して、ステップS101で取得したI
/Oベースアドレスをトラップアドレス設定レジスタ1
56に書き込み、これによってI/OトラップSMI起
動用のI/Oアドレスを現在のI/Oエミュレーション
アドレスに変更する(ステップS108)。
On the other hand, if the acquired I / O base address is a valid address, that is, if the I / O device 14 is operating (YES in step S102),
The I / O address change detection routine uses the mask register 1
58, referring to the mask data of I / O trap SMI
It is determined whether or not the occurrence of an error is permitted (step S
104). If the generation of the I / O trap SMI is prohibited, the I / O address change detection routine
The mask data for permitting the generation of the trap SMI is written into the mask register 158, and the I / O trap SM
I is made valid (step S105). Next, the I / O address change detection routine acquires an I / O address (I / O base address) for starting the I / O trap SMI from the trap address setting register 156 (step S).
106), it is compared with the I / O base address acquired in step S101 (step S107). If they do not match (NO in step S107), the I / O
The address change detection routine determines that the operating system has dynamically switched the I / O address of the I / O device 14, and obtains the I / O address acquired in step S101.
/ O base address to trap address setting register 1
Then, the I / O address for starting the I / O trap SMI is changed to the current I / O emulation address (step S108).

【0033】このように、ソフトウェアSMIによって
I/Oアドレス変更検出ルーチンを定期的に起動して、
I/Oデバイス14のI/Oアドレスをポーリングする
ことにより、I/OトラップSMI起動用のI/Oアド
レスをI/Oエミュレーションアドレスの切り替えに追
従させることが可能となる。これにより、オペレーティ
ングシステムがI/Oデバイス14のI/Oアドレスを
動的に切り替えても、その後もI/Oエミュレーション
を正常に継続実行することが可能となる。
As described above, the I / O address change detection routine is periodically started by the software SMI,
By polling the I / O address of the I / O device 14, the I / O address for starting the I / O trap SMI can follow the switching of the I / O emulation address. As a result, even if the operating system dynamically switches the I / O address of the I / O device 14, the I / O emulation can be normally continued thereafter.

【0034】(第2実施形態)次に、本発明の第2実施
形態について説明する。本第2実施形態は、I/Oアド
レス変更検出ルーチンの起動方法およびI/Oアドレス
変更検出ルーチンの処理手順のみが第1実施形態と異な
っており、他の点は第1実施形態と同じである。
(Second Embodiment) Next, a second embodiment of the present invention will be described. The second embodiment differs from the first embodiment only in the method of activating the I / O address change detection routine and the processing procedure of the I / O address change detection routine, and the other points are the same as those of the first embodiment. is there.

【0035】すなわち、本第2実施形態では、図5に示
すように、I/OトラップSMI起動用I/Oアドレス
の値が異なる2つのI/OトラップSMI発生回路15
1a,151bが用いられる。これらI/OトラップS
MI発生回路151a,151bは共にシステムコント
ローラ15に内蔵されている。I/OトラップSMI発
生回路151a,151bのどちらもその構成は図1の
I/OトラップSMI発生151と同じである。I/O
トラップSMI発生回路151aのトラップアドレス設
定レジスタには、I/Oデバイス14のコンフィグレー
ション空間のベースアドレスがI/OトラップSMI起
動用のコンフィグアドレスとして設定される。これによ
り、オペレーティングシステムがI/Oデバイス14の
コンフィグレーションレジスタをアクセスしたときに
は、I/OトラップSMI発生回路151aから第1の
I/OトラップSMI#1が発生される。また、I/O
トラップSMI発生回路151bのトラップアドレス設
定レジスタには、第1実施形態のI/OトラップSMI
発生151と同様に、I/Oデバイス14のI/Oベー
スアドレスが設定される。これにより、オペレーティン
グシステムがI/Oデバイス14のエミュレーション対
象のI/Oポートにアクセスするときには、I/Oトラ
ップSMI発生回路151bから第2のI/Oトラップ
SMI#2が発生される。
That is, in the second embodiment, as shown in FIG. 5, two I / O trap SMI generating circuits 15 having different I / O trap SMI activation I / O address values.
1a and 151b are used. These I / O traps S
Both the MI generation circuits 151a and 151b are built in the system controller 15. Each of the I / O trap SMI generation circuits 151a and 151b has the same configuration as the I / O trap SMI generation 151 in FIG. I / O
In the trap address setting register of the trap SMI generating circuit 151a, the base address of the configuration space of the I / O device 14 is set as a configuration address for starting the I / O trap SMI. Thus, when the operating system accesses the configuration register of the I / O device 14, the first I / O trap SMI # 1 is generated from the I / O trap SMI generation circuit 151a. Also, I / O
The trap address setting register of the trap SMI generation circuit 151b stores the I / O trap SMI of the first embodiment.
Similarly to the generation 151, the I / O base address of the I / O device 14 is set. Thus, when the operating system accesses the I / O port to be emulated of the I / O device 14, the second I / O trap SMI # 2 is generated from the I / O trap SMI generation circuit 151b.

【0036】図6には、I/Oエミュレーションルーチ
ンおよびI/Oアドレス変更検出ルーチンと、それらを
起動するためのプログラム・インタフェースとの関係が
示されている。図6に示されているように、第1のI/
OトラップSMI#1はI/Oアドレス変更検出ルーチ
ンを起動するためのプログラム・インタフェースとして
利用され、また第2のI/OトラップSMI#2はI/
Oシミュレーションルーチンを起動するためのプログラ
ム・インタフェースとして利用される。
FIG. 6 shows the relationship between the I / O emulation routine and the I / O address change detection routine and the program interface for activating them. As shown in FIG. 6, the first I /
The O trap SMI # 1 is used as a program interface for activating an I / O address change detection routine, and the second I / O trap SMI # 2 is
It is used as a program interface for starting an O simulation routine.

【0037】I/Oシミュレーションルーチンの処理手
順については第1実施形態と同じであるので、以下、図
7のフローチャートを参照して、本第2実施形態におけ
るI/Oアドレス変更検出ルーチンの処理手順について
説明する。
Since the processing procedure of the I / O simulation routine is the same as that of the first embodiment, the processing procedure of the I / O address change detection routine of the second embodiment will be described below with reference to the flowchart of FIG. Will be described.

【0038】オペレーティングシステムがI/Oデバイ
ス14のコンフィグレーションレジスタをアクセスする
ための命令(コンフィグレーション空間へのOUT命
令)を実行すると、I/OトラップSMI発生回路15
1aからI/OトラップSMI#1が発行され、これに
よってSMM−BIOSのI/Oエミュレーションルー
チンが起動される。
When the operating system executes an instruction for accessing the configuration register of the I / O device 14 (OUT instruction to the configuration space), the I / O trap SMI generation circuit 15
An I / O trap SMI # 1 is issued from 1a, whereby the I / O emulation routine of the SMM-BIOS is started.

【0039】I/Oアドレス変更検出ルーチンは、ま
ず、CPU11内のレジスタを参照してコンフィグレジ
スタ内のI/Oベースアドレスレジスタ(I/Oベース
レジスタ)へのライトであるか否かを判断する(ステッ
プS111)。I/Oベースアドレスレジスタへのライ
トでは無い場合には(ステップS111のNO)、I/
Oアドレス変更検出ルーチンはその時点で処理を終了す
る。
The I / O address change detection routine first refers to the register in the CPU 11 to determine whether or not the write is to the I / O base address register (I / O base register) in the configuration register. (Step S111). If it is not a write to the I / O base address register (NO in step S111),
The O address change detection routine ends the process at that time.

【0040】I/Oベースアドレスレジスタへのライト
であった場合には(ステップS111のYES)、I/
Oアドレス変更検出ルーチンは、I/Oデバイス14の
コンフィグレーションレジスタをリードアクセスし、そ
こに設定されているI/Oデバイス14のI/Oベース
アドレスの値をエミュレーション対象のI/Oアドレス
として取得する(ステップS112)。次いで、I/O
アドレス変更検出ルーチンは、取得したI/Oベースア
ドレスが予め決められた無効アドレスであるか否かによ
って、I/Oデバイス14が動作禁止状態(ディスエー
ブル)に設定されているか、動作状態(イネーブル)に
設定されているかを判断する(ステップS113)。取
得したI/Oベースアドレスが無効アドレスである場
合、つまりI/Oデバイス14が動作禁止状態である場
合には(ステップS113のNO)、I/Oエミュレー
ションの必要が無いため、I/Oアドレス変更検出ルー
チンは、I/OトラップSMI#2の発生を禁止するた
めのマスクデータをI/OトラップSMI発生回路15
1bのマスクレジスタ158に書き込み(ステップS1
14)、処理を終了する。これにより、不要なI/Oト
ラップSMIの発生によってパフォーマンスが低下する
のを防止することができる。
If the write is to the I / O base address register (YES in step S111),
The O address change detection routine performs read access to the configuration register of the I / O device 14 and acquires the value of the I / O base address of the I / O device 14 set therein as the emulation target I / O address. (Step S112). Then I / O
The address change detection routine determines whether the I / O device 14 is set to the operation inhibition state (disabled) or the operation state (enabled) depending on whether the acquired I / O base address is a predetermined invalid address. ) Is determined (step S113). If the acquired I / O base address is an invalid address, that is, if the I / O device 14 is in the operation prohibited state (NO in step S113), there is no need for I / O emulation. The change detection routine includes a mask data for inhibiting the generation of the I / O trap SMI # 2 in the I / O trap SMI generation circuit 15.
1b (step S1).
14), end the process. As a result, it is possible to prevent the performance from deteriorating due to the occurrence of the unnecessary I / O trap SMI.

【0041】一方、取得したI/Oベースアドレスが有
効アドレスである場合、つまりI/Oデバイス14が動
作状態である場合には(ステップS113のYES)、
I/Oアドレス変更検出ルーチンは、I/OトラップS
MI発生回路151bのマスクレジスタを参照して、I
/OトラップSMI#2の発生が許可されているか否か
を判断する(ステップS115)。I/OトラップSM
I#2の発生が禁止されている場合は、I/Oアドレス
変更検出ルーチンは、I/OトラップSMI#2の発生
を許可するためのマスクデータをI/OトラップSMI
発生回路151bのマスクレジスタに書き込み、I/O
トラップSMI#2を有効にする(ステップS11
6)。
On the other hand, if the acquired I / O base address is a valid address, that is, if the I / O device 14 is operating (YES in step S113),
The I / O address change detection routine uses the I / O trap S
With reference to the mask register of MI generation circuit 151b, I
It is determined whether or not generation of the / O trap SMI # 2 is permitted (step S115). I / O trap SM
If the generation of I # 2 is prohibited, the I / O address change detection routine transmits the mask data for permitting the generation of I / O trap SMI # 2 to the I / O trap SMI.
Writing to the mask register of the generation circuit 151b, I / O
Enable trap SMI # 2 (step S11)
6).

【0042】次に、I/Oアドレス変更検出ルーチン
は、I/OトラップSMI発生回路151bのトラップ
アドレス設定レジスタからI/OトラップSMI#2起
動用のI/Oアドレス(I/Oベースアドレス)を取得
し(ステップS117)、ステップS112で取得した
I/Oベースアドレスと比較する(ステップS11
8)。両者が一致しなかった場合には(ステップS11
8のNO)、I/Oアドレス変更検出ルーチンは、オペ
レーティングシステムがI/Oデバイス14のI/Oア
ドレスを動的に切り替えたものと判断して、ステップS
112で取得したI/OベースアドレスをI/Oトラッ
プSMI発生回路151bのトラップアドレス設定レジ
スタに書き込み、これによってI/OトラップSMI#
2起動用のI/Oアドレスを現在のI/Oエミュレーシ
ョンアドレスに変更する(ステップS119)。
Next, the I / O address change detection routine performs an I / O address (I / O base address) for starting I / O trap SMI # 2 from the trap address setting register of the I / O trap SMI generation circuit 151b. Is obtained (step S117), and is compared with the I / O base address obtained in step S112 (step S11).
8). If they do not match (step S11
8), the I / O address change detection routine determines that the operating system has dynamically switched the I / O address of the I / O device 14, and proceeds to step S
The I / O base address acquired in step 112 is written in the trap address setting register of the I / O trap SMI generation circuit 151b, and thereby the I / O trap SMI #
(2) Change the starting I / O address to the current I / O emulation address (step S119).

【0043】このように、I/Oベースアドレスへの書
き込みをトリガとしてI/Oアドレス変更検出ルーチン
を起動して、I/OトラップSMI#2起動用のI/O
ベースアドレスとの一致の有無をチェックすることによ
り、I/OトラップSMI#2起動用のI/Oアドレス
をI/Oエミュレーションアドレスの切り替えに追従さ
せることが可能となる。これにより、オペレーティング
システムがI/Oデバイス14のI/Oアドレスを動的
に切り替えても、その後もI/Oエミュレーションを正
常に継続実行することが可能となる。
As described above, the I / O address change detection routine is started by the write to the I / O base address as a trigger, and the I / O for starting the I / O trap SMI # 2 is started.
By checking for a match with the base address, the I / O address for activating the I / O trap SMI # 2 can follow the switching of the I / O emulation address. As a result, even if the operating system dynamically switches the I / O address of the I / O device 14, the I / O emulation can be normally continued thereafter.

【0044】なお、上記第1および第2の各実施形態で
は、I/Oデバイス14のある特定のI/Oレジスタの
動作をエミュレーションする場合を例示したが、アクセ
ス先のレジスタを判別する仕組みを設けることにより、
I/Oデバイス14の全I/Oレジスタの機能をエミュ
レーションすることも可能である。また、I/Oデバイ
ス14として対象となるものには、内蔵PCIデバイス
の他、PCIカードスロットに必要に応じて装着される
PCIカード型のデバイスも含まれる。
Although the first and second embodiments exemplify the case where the operation of a specific I / O register of the I / O device 14 is emulated, a mechanism for determining the register to be accessed is described. By providing
It is also possible to emulate the functions of all I / O registers of the I / O device 14. The target I / O device 14 includes a built-in PCI device as well as a PCI card type device that is installed in a PCI card slot as needed.

【0045】また、本発明は、上記各実施形態に限定さ
れるものではなく、実施段階ではその要旨を逸脱しない
範囲で種々に変形することが可能である。更に、上記実
施形態には種々の段階の発明が含まれており、開示され
る複数の構成要件における適宜な組み合わせにより種々
の発明が抽出され得る。例えば、実施形態に示される全
構成要件から幾つかの構成要件が削除されても、発明が
解決しようとする課題の欄で述べた課題が解決でき、発
明の効果の欄で述べられている効果が得られる場合に
は、この構成要件が削除された構成が発明として抽出さ
れ得る。
The present invention is not limited to the above embodiments, and can be variously modified at the stage of implementation without departing from the scope of the invention. Further, the embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some components are deleted from all the components shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effects described in the column of the effect of the invention can be solved. Is obtained, a configuration from which this configuration requirement is deleted can be extracted as an invention.

【0046】[0046]

【発明の効果】以上説明したように、本発明によれば、
I/Oアドレスを動的にマッピング可能なI/Oデバイ
スの動作を確実にエミュレーションすることが可能とな
る。
As described above, according to the present invention,
It is possible to reliably emulate the operation of an I / O device capable of dynamically mapping I / O addresses.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1実施形態に係るコンピュータシス
テムの構成を示すブロック図。
FIG. 1 is an exemplary block diagram showing the configuration of a computer system according to a first embodiment of the present invention.

【図2】同第1実施形態におけるI/Oエミュレーショ
ンルーチンおよびI/Oアドレス変更検出ルーチンとそ
れらを起動するためのプログラム・インタフェースとの
関係を示す図。
FIG. 2 is a diagram showing a relationship between an I / O emulation routine and an I / O address change detection routine and a program interface for activating them in the first embodiment;

【図3】同第1実施形態におけるI/Oエミュレーショ
ン処理を説明するためのフローチャート。
FIG. 3 is a flowchart for explaining I / O emulation processing in the first embodiment.

【図4】同第1実施形態におけるI/Oアドレス変更検
出処理を説明するためのフローチャート。
FIG. 4 is a flowchart for explaining an I / O address change detection process in the first embodiment.

【図5】本発明の第2実施形態で使用される2種類のI
/OトラップSMI発生回路を説明するための図。
FIG. 5 shows two types of I used in the second embodiment of the present invention.
FIG. 4 is a diagram for explaining an / O trap SMI generation circuit.

【図6】同第2実施形態におけるI/Oエミュレーショ
ンルーチンおよびI/Oアドレス変更検出ルーチンとそ
れらを起動するためのプログラム・インタフェースとの
関係を示す図。
FIG. 6 is a diagram showing a relationship between an I / O emulation routine and an I / O address change detection routine and a program interface for activating them in the second embodiment;

【図7】同第2実施形態におけるI/Oアドレス変更検
出処理を説明するためのフローチャート。
FIG. 7 is a flowchart for explaining an I / O address change detection process in the second embodiment.

【符号の説明】[Explanation of symbols]

11…CPU 13…主メモリ 14…I/Oデバイス 15…システムコントローラ 17…BIOS−ROM 151,151a,151b…I/OトラップSMI発
生回路 152…ソフトウェアSMI発生回路
DESCRIPTION OF SYMBOLS 11 ... CPU 13 ... Main memory 14 ... I / O device 15 ... System controller 17 ... BIOS-ROM 151, 151a, 151b ... I / O trap SMI generation circuit 152 ... Software SMI generation circuit

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 I/Oデバイスに対してI/Oアドレス
を動的にマッピング可能な情報処理装置であって、 CPUと、 前記I/OデバイスのI/Oアドレスが割り込み起動用
のI/Oアドレスとして設定され、前記割り込み起動用
のI/Oアドレスを示す前記CPUからのI/Oアクセ
スをトラップして前記CPUに第1の割り込み信号を発
行する手段と、 前記第1の割り込み信号によって起動され、前記I/O
アドレスで指定されたI/Oデバイスの動作をエミュレ
ーションするI/Oエミュレーション手段と、 前記CPUによる前記I/Oデバイスに対するI/Oア
ドレスの設定変更を監視する手段と、 前記I/Oデバイスに対するI/Oアドレスの設定変更
に応じて、前記割り込み起動用のI/Oアドレスの値を
更新する手段とを具備することを特徴とする情報処理装
置。
1. An information processing apparatus capable of dynamically mapping an I / O address to an I / O device, comprising: a CPU; and an I / O address of the I / O device, the I / O address for interrupt activation. Means for trapping I / O access from the CPU, which is set as an O address and indicating the I / O address for interrupt activation, and issues a first interrupt signal to the CPU; Activated and the I / O
I / O emulation means for emulating the operation of an I / O device specified by an address; means for monitoring a change in the setting of an I / O address for the I / O device by the CPU; Means for updating the value of the I / O address for interrupt activation in response to a change in the setting of the / O address.
【請求項2】 前記I/Oアドレスの設定変更を監視す
る手段は、 前記I/Oデバイスのコンフィグレーション空間に設定
されたI/Oベースアドレスの値を定期的にポーリング
することによって、前記I/Oデバイスに対するI/O
アドレスの設定変更の有無を検出することを特徴とする
請求項1記載の情報処理装置。
2. The I / O address setting change monitoring means, comprising: periodically polling a value of an I / O base address set in a configuration space of the I / O device; I / O for I / O devices
2. The information processing apparatus according to claim 1, wherein the presence / absence of an address setting change is detected.
【請求項3】 前記I/Oアドレスの設定変更を監視す
る手段は、 前記ポーリング時に、前記I/Oデバイスが動作禁止状
態であるか否かを判別する手段と、 前記I/Oデバイスが動作禁止状態である場合、前記第
1の割り込み信号の発行を禁止する手段とをさらに含む
ことを特徴とする請求項2記載の情報処理装置。
3. The means for monitoring a change in the setting of the I / O address, a means for determining whether or not the I / O device is in an operation prohibition state at the time of polling, and an operation of the I / O device. 3. The information processing apparatus according to claim 2, further comprising: a unit that prohibits the issuance of the first interrupt signal when in the prohibition state.
【請求項4】 前記I/Oアドレスの設定変更を監視す
る手段を、タイマによって定期的に発生される第2の割
り込み信号によって起動させる手段をさらに具備するこ
とを特徴とする請求項1記載の情報処理装置。
4. The apparatus according to claim 1, further comprising means for activating said means for monitoring a change in the setting of the I / O address by a second interrupt signal periodically generated by a timer. Information processing device.
【請求項5】 前記I/Oデバイスのコンフィグレーシ
ョン空間に属する所定のアドレスが割り込み起動用の第
2のアドレスとして設定され、前記割り込み起動用の第
2のアドレスを示す前記CPUからのコンフィグレーシ
ョンアクセスをトラップして前記CPUに第2の割り込
み信号を発行する手段をさらに具備し、 前記I/Oアドレスの設定変更を監視する手段は、 前記第2の割り込み信号によって起動され、前記CPU
からの前記コンフィグレーションアクセスが前記I/O
デバイスのコンフィグレーション空間に定義されるI/
Oベースアドレスレジスタに対するライトであるか否か
を判断し、その判断結果に基づいて前記I/Oデバイス
に対するI/Oアドレスの設定変更の有無を検出するこ
とを特徴とする請求項1記載の情報処理装置。
5. A predetermined address belonging to a configuration space of the I / O device is set as a second address for activating an interrupt, and a configuration access from the CPU indicating the second address for activating the interrupt. Means for issuing a second interrupt signal to the CPU by trapping the I / O address, wherein the means for monitoring a change in the setting of the I / O address is activated by the second interrupt signal, and
The configuration access from the I / O
I / O defined in the device configuration space
2. The information according to claim 1, wherein it is determined whether or not the write is to the O base address register, and whether the setting of the I / O address for the I / O device is changed is detected based on the determination result. Processing equipment.
【請求項6】 前記I/Oアドレスの設定変更を監視す
る手段は、 前記第2の割り込み信号による起動時に、前記I/Oデ
バイスが動作禁止状態であるか否かを判別する手段と、 前記I/Oデバイスが動作禁止状態である場合、前記第
1の割り込み信号の発行を禁止する手段とをさらに含む
ことを特徴とする請求項5記載の情報処理装置。
6. A means for monitoring a change in setting of an I / O address, comprising: means for determining whether or not the I / O device is in an operation-inhibited state at the time of activation by the second interrupt signal; 6. The information processing apparatus according to claim 5, further comprising: means for prohibiting issuance of the first interrupt signal when the I / O device is in an operation prohibition state.
【請求項7】 エミュレーション対象のI/Oデバイス
のI/Oアドレスを示すCPUからのI/Oアクセスを
トラップすることによって前記CPUに割り込み信号を
発行することにより、前記I/Oアドレスで指定された
I/Oデバイスの動作をエミュレーションするためのプ
ログラムを起動するI/Oエミュレーション制御方法で
あって、 前記CPUによる前記I/Oデバイスに対するI/Oア
ドレスの設定変更を監視するステップと、 前記I/Oデバイスに対するI/Oアドレスの設定変更
に応じて、前記トラップ対象のI/Oアドレスの値を更
新するステップとを具備することを特徴とするI/Oエ
ミュレーション制御方法。
7. An interrupt signal is issued to the CPU by trapping an I / O access from the CPU indicating the I / O address of the I / O device to be emulated, thereby specifying the I / O address specified by the I / O address. An I / O emulation control method for starting a program for emulating the operation of the I / O device, comprising: monitoring a change in an I / O address setting for the I / O device by the CPU; Updating the value of the I / O address of the trap target according to a change in the setting of the I / O address for the / O device.
【請求項8】 I/Oアドレスの設定変更を監視するス
テップを、タイマによって定期的に発生される第2の割
り込み信号によって起動させるステップをさらに具備す
ることを特徴とする請求項7記載のI/Oエミュレーシ
ョン制御方法。
8. The method according to claim 7, further comprising the step of activating the step of monitoring the change of the setting of the I / O address by a second interrupt signal periodically generated by a timer. / O emulation control method.
【請求項9】 前記I/Oデバイスのコンフィグレーシ
ョン空間に属する所定のアドレスを示す前記CPUから
のコンフィグレーションアクセスをトラップして、前記
I/Oアドレスの設定変更を監視するステップを起動さ
せるための第2の割り込み信号を発生するステップをさ
らに具備することを特徴とする請求項7記載のI/Oエ
ミュレーション制御方法。
9. A method for activating a step of trapping a configuration access from the CPU indicating a predetermined address belonging to a configuration space of the I / O device and monitoring a change in the setting of the I / O address. The I / O emulation control method according to claim 7, further comprising a step of generating a second interrupt signal.
JP2000163036A 2000-05-31 2000-05-31 Information processing device and i/o emulation control method Pending JP2001344185A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000163036A JP2001344185A (en) 2000-05-31 2000-05-31 Information processing device and i/o emulation control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000163036A JP2001344185A (en) 2000-05-31 2000-05-31 Information processing device and i/o emulation control method

Publications (1)

Publication Number Publication Date
JP2001344185A true JP2001344185A (en) 2001-12-14

Family

ID=18666854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000163036A Pending JP2001344185A (en) 2000-05-31 2000-05-31 Information processing device and i/o emulation control method

Country Status (1)

Country Link
JP (1) JP2001344185A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185229B2 (en) 2003-12-04 2007-02-27 International Business Machines Corporation Method and system for performing remote maintenance operations on a battery powered computer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185229B2 (en) 2003-12-04 2007-02-27 International Business Machines Corporation Method and system for performing remote maintenance operations on a battery powered computer

Similar Documents

Publication Publication Date Title
JP4903257B2 (en) Secure operating system switching
US9372754B2 (en) Restoring from a legacy OS environment to a UEFI pre-boot environment
US7434224B2 (en) Plural operating systems having interrupts for all operating systems processed by the highest priority operating system
JP4688862B2 (en) Providing support for single step functionality of virtual machines in virtual machine environments
JP2005322242A (en) Provision of direct access from virtual environment to hardware
CN107567629B (en) Dynamic firmware module loader in trusted execution environment container
US11556458B2 (en) Efficient fuzz testing of low-level virtual devices
JP5307133B2 (en) Device emulation support apparatus, device emulation support method, device emulation support circuit, and information processing apparatus
WO2020063432A1 (en) Method and apparatus for upgrading virtualized emulator
CN114741233A (en) Quick start method
EP2433238B1 (en) Systems and methods of determining a trust level from system management mode
JP2974577B2 (en) Computer system
US7484083B1 (en) Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment
JP2007507779A (en) operating system
US6907521B2 (en) Enabling video BIOS and display drivers to leverage system BIOS platform abstract
JP2009134565A (en) Virtual machine system and method for controlling virtual machine system
JP2001344185A (en) Information processing device and i/o emulation control method
CA2521748A1 (en) Operating systems
US20050198421A1 (en) Method to execute ACPI ASL code after trapping on an I/O or memory access
JP2021012679A (en) Controller with flash emulation function and control method
CN113448682A (en) Virtual machine monitor loading method and device and electronic equipment
CN117667465B (en) Code sharing method, device, switch, multi-host system, equipment and medium
CN118036092A (en) Software integrity protection method and system based on hardware-assisted virtualization
JP2003242026A (en) Information processing system, and program execution mode control method
CN113312295A (en) System reset using a controller