JP6948039B2 - Computer system - Google Patents

Computer system Download PDF

Info

Publication number
JP6948039B2
JP6948039B2 JP2017249341A JP2017249341A JP6948039B2 JP 6948039 B2 JP6948039 B2 JP 6948039B2 JP 2017249341 A JP2017249341 A JP 2017249341A JP 2017249341 A JP2017249341 A JP 2017249341A JP 6948039 B2 JP6948039 B2 JP 6948039B2
Authority
JP
Japan
Prior art keywords
space
virtual
information
predetermined
resource management
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.)
Active
Application number
JP2017249341A
Other languages
Japanese (ja)
Other versions
JP2019114197A (en
Inventor
和朗 眞田
和朗 眞田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2017249341A priority Critical patent/JP6948039B2/en
Publication of JP2019114197A publication Critical patent/JP2019114197A/en
Application granted granted Critical
Publication of JP6948039B2 publication Critical patent/JP6948039B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、コンピュータシステムに関し、特に、多数のIOデバイス(Input/Output Devices)を接続可能とした管理手法に関する。 The present invention relates to a computer system, and more particularly to a management method that enables a large number of IO devices (Input / Output Devices) to be connected.

コンピュータシステムの一アーキテクチャであるIA(Intel Architecture)では、複数のIOデバイスを動作可能に接続する際に、各IOデバイスにIO空間を割り当てている。 In IA (Intel Architecture), which is an architecture of a computer system, an IO space is allocated to each IO device when a plurality of IO devices are operably connected.

IAアーキテクチャのIO空間には64キロバイトの容量制限がある。このため、IO空間を消費するデバイスを多数実装しようとした際に、IO空間が枯渇した場合、一部のIOデバイスにIO空間を割り当てることができなくなる。結果、IO空間を割り当てられなかったIOデバイスを使用することができない事象が発生する。 The IO space of the IA architecture has a capacity limit of 64 kilobytes. Therefore, when the IO space is exhausted when trying to implement a large number of devices that consume the IO space, it becomes impossible to allocate the IO space to some IO devices. As a result, an event occurs in which the IO device for which the IO space has not been allocated cannot be used.

この問題に関して、IO空間を拡張する技術を用いて、動作可能に接続するIOデバイス数を増やす試みが行われている。例えば特許文献1には、専用回路を用いてIO空間をメモリマップドIO空間に変換する技術が記載されている。 To address this issue, attempts have been made to increase the number of operably connected IO devices using technology that expands the IO space. For example, Patent Document 1 describes a technique for converting an IO space into a memory-mapped IO space using a dedicated circuit.

特開平7−200391号公報Japanese Unexamined Patent Publication No. 7-200391

IAの標準アーキテクチャでは、BIOS(Basic Input/Output System)でIO空間を個別のIOデバイスに割り当てる際、最大64キロバイトのIO空間を用いて各IOデバイスを動作可能に接続している。また、IO空間が64キロバイトを超える台数のIOデバイスが接続されていた場合、幾つかのIOデバイスの接続はIO空間の不足によって動作不能な状態となる。 In the IA standard architecture, when allocating IO space to individual IO devices in the BIOS (Basic Input / Output System), each IO device is operably connected using an IO space of up to 64 kilobytes. Further, when the number of IO devices whose IO space exceeds 64 kilobytes is connected, the connection of some IO devices becomes inoperable due to the lack of IO space.

IOデバイスの接続数を多数にする一つの対応策である、特許文献1に示されたIO空間の拡張手法では専用回路が必要になる。 A dedicated circuit is required in the IO space expansion method shown in Patent Document 1, which is one countermeasure for increasing the number of connected IO devices.

本発明は、上記課題に鑑みて成されたものであり、専用回路を設けること無しに、IOデバイスの接続数を多数にするIO空間の拡張手法を有したコンピュータシステムを提供することを目的とする。 The present invention has been made in view of the above problems, and an object of the present invention is to provide a computer system having an IO space expansion method for increasing the number of connected IO devices without providing a dedicated circuit. do.

本発明の一実施形態に係るコンピュータシステムは、物理的にIOインタフェースに接続されているIOデバイス群を個別に管理するIOリソース管理テーブルを保持すると共に、前記IOリソース管理テーブルで管理される各IOデバイスに割り振ったIO空間情報をシステムマネージメント割り込み(System Management Interrupts:SMI)に応じて切り替える割り込みハンドラを保持するBIOSと、OS(Operating System)‐IOデバイス間にアクセスが生じて仮想IO空間にアクセスされる毎に前記システムマネージメント割り込みを生成するチップセットを含み、前記システムマネージメント割り込みに応じて前記割り込みハンドラを読み出して、CPU(Central Processing Unit)上に確保される所定IO空間を介して、各IOデバイスに割り振られたIO空間情報を前記IOリソース管理テーブルを参照して切り替えることで、前記IOインタフェースを介してOS‐IOデバイス間のアクセスを可能に構成されたコンピュータハードウェアと、を含み、前記IOリソース管理テーブルは、IOデバイス毎に、前記所定IO空間の使用ポートを定めた仮想IOポート情報と、前記IO空間情報を記録したデバイスIO情報と、を含み成り、IOデバイス毎の前記仮想IOポート情報には、CPU内の所定IO空間の使用ポートを定めた仮想インデックスポートと仮想データポートが記録され、IOデバイス毎の前記IO空間情報には、IOベースアドレスとして機能する仮想IOベースアドレスと、IOサイズとして機能する仮想IOサイズとが記録される、ことを特徴とする。 The computer system according to the embodiment of the present invention holds an IO resource management table that individually manages IO devices that are physically connected to the IO interface, and each IO managed by the IO resource management table. Access occurs between the BIOS that holds the interrupt handler that switches the IO space information allocated to the device according to the system management interrupts (SMI) and the OS (Operating System) -IO device, and the virtual IO space is accessed. Each IO device includes a chipset that generates the system management interrupt each time, reads the interrupt handler in response to the system management interrupt, and passes through a predetermined IO space secured on the CPU (Central Processing Unit). by switching the IO space information allocated to refer to the IO resource management table, the computer hardware that is configured to enable access between OS-IO devices via the IO interfaces, only contains the The IO resource management table includes virtual IO port information that defines the port to be used in the predetermined IO space for each IO device, and device IO information that records the IO space information, and the virtual IO for each IO device. The port information records a virtual index port and a virtual data port that define the ports used in the predetermined IO space in the CPU, and the IO space information for each IO device includes a virtual IO base address that functions as an IO base address. , The virtual IO size that functions as the IO size is recorded .

本発明の一実施形態に係るコンピュータシステムによるIOデバイスアクセス方法は、BIOSは、物理的にIOインタフェースに接続されているIOデバイス群を個別に管理するIOリソース管理テーブルを保持すると共に、前記IOリソース管理テーブルで管理される各IOデバイスに割り振ったIO空間情報をシステムマネージメント割り込みに応じて切り替える割り込みハンドラを保持し、前記IOリソース管理テーブルには、IOデバイス毎に、所定IO空間の使用ポートを定めた仮想IOポート情報と、IO空間情報を記録したデバイスIO情報とが記録され、IOデバイス毎の前記仮想IOポート情報には、CPU内の所定IO空間の使用ポートを定めた仮想インデックスポートと仮想データポートが記録され、IOデバイス毎の前記IO空間情報には、IOベースアドレスとして機能する仮想IOベースアドレスと、IOサイズとして機能する仮想IOサイズとが記録され、コンピュータハードウェアは、チップセットが、OS‐IOデバイス間にアクセスが生じて仮想IO空間にアクセスされる毎にシステムマネージメント割り込みを生成させ、前記システムマネージメント割り込みに応じて、CPUが前記BIOSに格納された割り込みハンドラを読み込んで、CPU内に確保された所定IO空間を介して、各IOデバイスに割り振られたIO空間情報を前記IOリソース管理テーブルを参照して切り替え、前記IOインタフェースを介して、切替えられたIO空間情報に基づいて、OS‐IOデバイス間のアクセスを成立させることを特徴とする。 In the IO device access method by the computer system according to the embodiment of the present invention, the BIOS holds an IO resource management table that individually manages the IO device group physically connected to the IO interface, and the IO resource. An interrupt handler that switches the IO space information allocated to each IO device managed by the management table according to the system management interrupt is held, and the use port of the predetermined IO space is defined for each IO device in the IO resource management table. The virtual IO port information and the device IO information in which the IO space information is recorded are recorded, and the virtual IO port information for each IO device includes a virtual index port and a virtual index port that defines a port to be used in a predetermined IO space in the CPU. The data port is recorded, and the virtual IO base address that functions as the IO base address and the virtual IO size that functions as the IO size are recorded in the IO space information for each IO device. , A system management interrupt is generated each time an access occurs between the OS and IO devices and the virtual IO space is accessed, and the CPU reads the interrupt handler stored in the BIOS in response to the system management interrupt, and the CPU reads the interrupt handler. The IO space information allocated to each IO device is switched with reference to the IO resource management table via the predetermined IO space secured in the room, and based on the switched IO space information via the IO interface. , It is characterized in that access between OS-IO devices is established.

本発明によれば、専用回路を設けること無しに、IOデバイスの接続数を多数にするIO空間の拡張手法を有したコンピュータシステムを提供することができる。 According to the present invention, it is possible to provide a computer system having an IO space expansion method for increasing the number of connected IO devices without providing a dedicated circuit.

実施形態のコンピュータシステム1の構成を示すブロック図である。It is a block diagram which shows the structure of the computer system 1 of embodiment. コンピュータシステム1で使用するIOリソース管理テーブルを可視化して示す説明図である。It is explanatory drawing which visualizes and shows the IO resource management table used in the computer system 1. コンピュータシステム1のIOデバイスアクセス方法を示すフローチャートである。It is a flowchart which shows the IO device access method of the computer system 1. 実施形態のコンピュータシステム1の別の構成を示すブロック図である。It is a block diagram which shows another structure of the computer system 1 of embodiment. コンピュータシステム1の初期化処理例を示すフローチャートである。It is a flowchart which shows the initialization processing example of the computer system 1. コンピュータシステム1のIO空間仮想化処理例を示すフローチャートである。It is a flowchart which shows the IO space virtualization processing example of a computer system 1.

本発明の実施形態を図面に基づいて説明する。 Embodiments of the present invention will be described with reference to the drawings.

[実施形態]
図1は、実施形態のコンピュータシステム1の構成を示すブロック図である。
[Embodiment]
FIG. 1 is a block diagram showing the configuration of the computer system 1 of the embodiment.

コンピュータシステム1は、IAを採用したコンピュータシステムである。このコンピュータシステム1は、物理的構成要素として、コンピュータハードウェア10とBIOS20(BIOSROM)を含む。コンピュータハードウェア10は、IAを採用しているCPU、メモリ、チップセット、周辺回路を含む。また、コンピュータハードウェア10には、物理的にIOデバイス群40を接続するためのIOインタフェース30が含まれている。コンピュータハードウェア10(CPU)上で動作するソフトウェアには、OSと各IOデバイスのドライバが含まれる。 The computer system 1 is a computer system that employs IA. The computer system 1 includes computer hardware 10 and BIOS20 (BIOSROM) as physical components. The computer hardware 10 includes a CPU, a memory, a chipset, and peripheral circuits that employ IA. Further, the computer hardware 10 includes an IO interface 30 for physically connecting the IO device group 40. The software running on the computer hardware 10 (CPU) includes an OS and drivers for each IO device.

また、コンピュータハードウェア10(チップセット)は、OS(デバイスドライバ)から仮想IO空間へのアクセスに応じてシステムマネージメント割り込み(System Management Interrupts:SMI)を生成するように作成されている。この機能を有することで、BIOSは、OS‐IOデバイス間のアクセス毎に、CPUが生成されたシステムマネージメント割り込みを受け付け、IOシステムマネージメント割り込みモードで後述するIO空間を切り替える処理を実行する。 Further, the computer hardware 10 (chip set) is created so as to generate system management interrupts (SMI) according to the access from the OS (device driver) to the virtual IO space. By having this function, the BIOS receives the system management interrupt generated by the CPU for each access between the OS and IO devices, and executes a process of switching the IO space described later in the IO system management interrupt mode.

IOデバイス群40は、一般的なIOデバイスであり、少なくとも1台以上接続され、必要に応じ多数が接続される。 The IO device group 40 is a general IO device, and at least one or more of them are connected, and a large number are connected as needed.

BIOS20は、IOリソース管理テーブル21を保持して管理する。また、BIOS20は、割り込みハンドラ22を保持する。 The BIOS 20 holds and manages the IO resource management table 21. The BIOS 20 also holds an interrupt handler 22.

IOリソース管理テーブル21には、物理的にIOインタフェース30に接続されているIOデバイス群40を個別に管理するための、各IOデバイスに割り振ったIO空間情報が記録される。 In the IO resource management table 21, IO spatial information allocated to each IO device for individually managing the IO device group 40 physically connected to the IO interface 30 is recorded.

図2は、IOリソース管理テーブル21のデータ構造を可視化した説明図である。このIOリソース管理テーブル21は、IOデバイス毎(図中のデバイスA,デバイスB毎)に、所定IO空間の使用ポートを定めた仮想IOポート情報と、IO空間情報を記録したデバイスIO情報と、を含む。この仮想IOポート情報は、CPU内の所定IO空間の各IOデバイスの使用ポートを定める仮想IOインデックスポート情報と仮想IOデータポート情報を含む。また、IOデバイス毎のIO空間情報は、IOベースアドレスとして機能する仮想IOベースアドレスと、IOサイズとして機能する仮想IOサイズとを含む。この仮想IOベースアドレスと仮想IOサイズは、IO空間切り替え処理で各IOデバイスに対して一時的に再割り当てする際のIOベースアドレスとIOデバイスのIOサイズを含む。また、IOリソース管理テーブル21は、図示したようにIOデバイス毎にコンフィグレーションアドレス情報が設けられていることが望ましい。このデバイスコンフィグレーションアドレス情報は、各IOデバイスに対してIOポートアドレス設定を行う際に使用するアドレスを含む。同様に、IOリソース管理テーブル21には、IOデバイス毎にテーブルナンバーを割り振ることとしてもよい。 FIG. 2 is an explanatory diagram that visualizes the data structure of the IO resource management table 21. The IO resource management table 21 contains virtual IO port information in which a port to be used in a predetermined IO space is defined for each IO device (device A and device B in the figure), device IO information in which IO space information is recorded, and device IO information. including. This virtual IO port information includes virtual IO index port information and virtual IO data port information that define the ports used by each IO device in the predetermined IO space in the CPU. Further, the IO space information for each IO device includes a virtual IO base address that functions as an IO base address and a virtual IO size that functions as an IO size. The virtual IO base address and virtual IO size include the IO base address and the IO size of the IO device when temporarily reassigned to each IO device in the IO space switching process. Further, it is desirable that the IO resource management table 21 is provided with configuration address information for each IO device as shown in the figure. This device configuration address information includes the address used when setting the IO port address for each IO device. Similarly, a table number may be assigned to the IO resource management table 21 for each IO device.

割り込みハンドラ22は、各IOデバイスとOSとの間のアクセスに応じて通知されるシステムマネージメント割り込みに応じてCPUに読み込まれ、IOリソース管理テーブル21で管理される各IOデバイスに割り振ったIO空間情報をアクセス先のIOデバイスに応じて切り替える。 The interrupt handler 22 is read by the CPU in response to the system management interrupt notified according to the access between each IO device and the OS, and the IO space information allocated to each IO device managed by the IO resource management table 21. Is switched according to the IO device to be accessed.

割り込みハンドラ22は、所定IO空間内でIO空間情報を書き換える際に、IOデバイスの仮想IOポート情報を引数にIOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を所定IO空間に設置する。 When the interrupt handler 22 rewrites the IO space information in the predetermined IO space, the interrupt handler 22 reads the IO space information of the corresponding IO device from the IO resource management table with the virtual IO port information of the IO device as an argument, and is assigned to the corresponding IO device. Set the value of the IO space in the specified IO space.

また、割り込みハンドラ22は、所定IO空間内でIO空間情報を書き換える際に、IOデバイスのテーブルナンバーを引数にIOリソース管理テーブル21から該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を所定IO空間に設置するようにしてもよい。 Further, when the interrupt handler 22 rewrites the IO space information in the predetermined IO space, the interrupt handler 22 reads the IO space information of the corresponding IO device from the IO resource management table 21 with the table number of the IO device as an argument and allocates it to the corresponding IO device. The value of the specified IO space may be set in the predetermined IO space.

上記構成を有するBIOS20を、IAを採用したコンピュータシステム1に組み込むことで、専用回路を設けること無しに、IOデバイスの接続数を多数にするIO空間の拡張手法を本発明は提供する。 The present invention provides an IO space expansion method for increasing the number of connected IO devices without providing a dedicated circuit by incorporating the BIOS 20 having the above configuration into the computer system 1 that employs IA.

コンピュータシステム1の動作は概して図3に示すフローチャートのように動作する。 The operation of the computer system 1 generally operates as shown in the flowchart shown in FIG.

コンピュータシステム1で提供されるIOデバイスアクセス方法は、上記説明したシステム構成を具備して、予め物理的に接続された多数のIOデバイスに関するIO空間情報をIOリソース管理テーブル21に記録する工程を含む(F101)。 The IO device access method provided by the computer system 1 includes the step of recording the IO spatial information about a large number of IO devices physically connected in advance in the IO resource management table 21 with the system configuration described above. (F101).

次に、OS‐IOデバイス間のアクセスが生じた際にコンピュータハードウェア10(チップセット)は、対象となるIOデバイスのIOポートにアクセスして値(デバイスIO情報)を取得する前に、対象となるIOデバイスのIOポートへのアクセスが生じたことを示したシステムマネージメント割り込みを都度生成する(F102)。 Next, when access between the OS and IO devices occurs, the computer hardware 10 (chipset) targets the target before accessing the IO port of the target IO device and acquiring the value (device IO information). A system management interrupt indicating that an access to the IO port of the IO device to be generated has occurred is generated each time (F102).

次に、コンピュータハードウェア10(CPU)は、チップセットによって生成されたシステムマネージメント割り込みを検出し、BIOS20から割り込みハンドラ22を読み込む(F103)。 Next, the computer hardware 10 (CPU) detects the system management interrupt generated by the chipset and reads the interrupt handler 22 from the BIOS 20 (F103).

次に、割り込みハンドラ22は、IO空間切り替え処理として、CPU上に確保される所定IO空間内でアクセスされた該当IOデバイスの使用IOポートに関して、IOリソース管理テーブル21に基づいてIO空間情報を書き換える(F104)。すなわち、IO空間切り替え処理として、CPUは、BIOS20からIOリソース管理テーブル21に記録されている該当IOデバイスの仮想IOアドレスおよび仮想IOサイズを参照し、該当IOデバイスに対してIO空間を一時的に割り当てる。 Next, the interrupt handler 22 rewrites the IO space information based on the IO resource management table 21 with respect to the used IO port of the corresponding IO device accessed in the predetermined IO space secured on the CPU as the IO space switching process. (F104). That is, as the IO space switching process, the CPU refers to the virtual IO address and virtual IO size of the corresponding IO device recorded in the IO resource management table 21 from the BIOS 20 and temporarily sets the IO space for the corresponding IO device. assign.

その後、OSは、書き換えられたIO空間情報を用いてIOデバイスにアクセスする(F105)。 After that, the OS accesses the IO device using the rewritten IO spatial information (F105).

別の観点で上記動作を説明すれば、コンピュータハードウェア10は、OSを介してデバイスドライバからのIOポート(仮想IOポート)へのアクセスを受けると、システムマネージメント割り込みを生成しシステムマネージメント割り込みモードに移行する。コンピュータハードウェア10は、システムマネージメント割り込みモード下でIOリソース管理テーブル21を参照して、該当IOデバイスに割り当てる仮想IOアドレスおよび仮想IOサイズにIO空間を切り替える。この仮想IOエミュレーション処理を経て、OSは、書き換えられたIO空間情報を用いてIOデバイスにアクセスする。 Explaining the above operation from another viewpoint, when the computer hardware 10 receives access to the IO port (virtual IO port) from the device driver via the OS, it generates a system management interrupt and enters the system management interrupt mode. Transition. The computer hardware 10 refers to the IO resource management table 21 under the system management interrupt mode, and switches the IO space to the virtual IO address and virtual IO size assigned to the corresponding IO device. Through this virtual IO emulation process, the OS accesses the IO device using the rewritten IO spatial information.

以後の動作は、IO空間が仮想化されていないIAのコンピュータシステムと同様であり、次のように動作する。デバイスドライバから仮想IOポートのIndexレジスタへのライトアクセスの場合、CPUは、Indexの値から割り当てたIO空間のアドレスを算出し、Dataレジスタに対してリードデータを格納する。また、デバイスドライバから仮想IOポートのDataレジスタへのライトアクセスの場合は、CPUは、Index値から割り当てたIO空間のアドレスを算出し、Dataレジスタの値を該当レジスタへライトする。 The subsequent operation is the same as that of the IA computer system in which the IO space is not virtualized, and operates as follows. In the case of write access from the device driver to the Index register of the virtual IO port, the CPU calculates the address of the IO space allocated from the Index value and stores the read data in the Data register. Further, in the case of write access from the device driver to the Data register of the virtual IO port, the CPU calculates the address of the IO space allocated from the Index value and writes the value of the Data register to the corresponding register.

上記フローF103及びフローF104によって、IO空間が対象IOデバイスのIO空間情報に切り替えられる。このシステムマネージメント割り込みを用いてコンピュータハードウェア10内でIO空間情報を切り替える工程を含むことで、IO空間を仮想的に対象IOデバイスが必要とするIO空間情報に切り替えることができる。結果、この切り替えが都度実施されることで、各ハードウェアが各IOデバイスに割り振られたIO空間を用いてOS‐IOデバイス間のアクセスが可能となる。 The IO space is switched to the IO space information of the target IO device by the flow F103 and the flow F104. By including the step of switching the IO space information in the computer hardware 10 using this system management interrupt, the IO space can be virtually switched to the IO space information required by the target IO device. As a result, by performing this switching each time, each hardware can access between the OS and IO devices using the IO space allocated to each IO device.

このようにコンピュータハードウェア10は、OSからの何れかのIOデバイスへのアクセスが生じた際に、BIOS20内に管理されたIOリソース管理テーブル21に基づいたIOアドレスおよびサイズの値をCPU上の所定IO空間に逐次配置することによって、IO空間の仮想化を実現する。 In this way, when the computer hardware 10 accesses any IO device from the OS, the value of the IO address and the size based on the IO resource management table 21 managed in the BIOS 20 is set on the CPU. By sequentially arranging them in a predetermined IO space, virtualization of the IO space is realized.

なお、上記IOデバイスアクセス方法では、割り込みハンドラ22がIO空間情報を書き換える際にIOデバイスの仮想IOポート情報を引数に仮想IO空間を設定することを説明したが、IOデバイスのテーブルナンバーを引数に仮想IO空間を設定するようにしてもよい。 In the above IO device access method, the interrupt handler 22 sets the virtual IO space with the virtual IO port information of the IO device as an argument when rewriting the IO space information, but the table number of the IO device is used as an argument. The virtual IO space may be set.

例えば、テーブルナンバーを引数に用いて図4に示すように仮想IOポートを設置するようにしてもよい。このように構成することより、複数のIOデバイスの仮想IOポートに対応する際、IOデバイス毎にIndex、Dataポートを新たに割り当てる回数が少なくなり、結果、IO空間を更に消費させなくすることが可能となる。 For example, a virtual IO port may be installed using the table number as an argument as shown in FIG. With this configuration, when supporting virtual IO ports of multiple IO devices, the number of times to newly allocate Index and Data ports for each IO device is reduced, and as a result, IO space can be further reduced. It will be possible.

ここで、コンピュータシステム1の初期化処理とIO空間仮想化処理とを例示して発明を説明する。 Here, the invention will be described by exemplifying the initialization process and the IO space virtualization process of the computer system 1.

図5は、コンピュータシステム1の初期化処理例を示すフローチャートである。この処理によって、割り込みハンドラ22およびIOリソース管理テーブル21を初期化できる。 FIG. 5 is a flowchart showing an example of initialization processing of the computer system 1. By this process, the interrupt handler 22 and the IO resource management table 21 can be initialized.

BIOS20は、POST(Power On Self Test)時に、割り込みハンドラ22およびIOリソース管理テーブル21を初期化する。まず、BIOS20は、初期化で使用する仮想IO Index、Data変数を初期化し、IOリソース管理テーブル21内のTable No変数を“1”に設定し、デバイスコンフィグレーションアドレスを“0”に設定する(S501)。 The BIOS 20 initializes the interrupt handler 22 and the IO resource management table 21 at the time of POST (Power On Self Test). First, the BIOS 20 initializes the virtual IO Index and Data variables used in the initialization, sets the Table No variable in the IO resource management table 21 to "1", and sets the device configuration address to "0" (. S501).

次に、BIOS20は、デバイスコンフィグレーションアドレスを使用してIOデバイスがIO空間を必要としているか確認し(S502)、IO空間を必要としている場合(503)はIOデバイスからIOサイズを取得する(S504)。BIOS20は、IOリソース管理テーブル21のTable No変数が示すテーブル欄に、仮想IO Indexポートのアドレス、Dataポートのアドレス、仮想IOベースアドレス、仮想IOサイズ、デバイスコンフィグレーションアドレスを設定する(S505)。 Next, the BIOS 20 uses the device configuration address to check if the IO device requires IO space (S502), and if so (503), obtains the IO size from the IO device (S504). ). The BIOS 20 sets the virtual IO Index port address, the Data port address, the virtual IO base address, the virtual IO size, and the device configuration address in the table column indicated by the Table No variable of the IO resource management table 21 (S505).

次に、BIOS20は、仮想IO Index、仮想IO Data、Table Noの各変数をインクリメントする(S506)。 Next, the BIOS 20 increments each variable of the virtual IO Index, the virtual IO Data, and the Table No (S506).

次に、BIOS20は、デバイスコンフィグレーションアドレスをインクリメントした後(S507)、他のIOデバイスがいないか確認を行う(S508)。他にIOデバイスが存在する場合、BIOS20は、再度IOデバイスがIO空間を必要としているか確認する処理(S502)を実施する。他のIOデバイスが他にない場合、BIOS20は、IOリソース管理テーブル21に登録された仮想IO Index、Data Portへのアクセスが来た際にチップセットからSMIを生成させる設定を行う(S509)。 Next, the BIOS 20 increments the device configuration address (S507) and then checks for other IO devices (S508). When another IO device exists, the BIOS 20 performs a process (S502) of confirming whether the IO device needs the IO space again. When there is no other IO device, the BIOS 20 sets to generate SMI from the chipset when the virtual IO Index and Data Port registered in the IO resource management table 21 are accessed (S509).

このようにコンピュータシステム1を動作させることで、割り込みハンドラ22およびIOリソース管理テーブル21を初期化できる。 By operating the computer system 1 in this way, the interrupt handler 22 and the IO resource management table 21 can be initialized.

図6は、コンピュータシステム1のIO空間仮想化処理例を示すフローチャートである。このIO空間仮想化処理は、CPUに読み込まれた割り込みハンドラ22によって実行される。仮想IOポートに対するOS(デバイスドライバ)からのアクセスによるチップセットからのSMIを受けると、BIOS20からCPUに割り込みハンドラ22が読み込まれる。その後、割り込みハンドラ22によって以下のようにIO空間を仮想的に動作させる(仮想IOエミュレーション処理を実行する)。 FIG. 6 is a flowchart showing an example of IO space virtualization processing of the computer system 1. This IO space virtualization process is executed by the interrupt handler 22 read by the CPU. When the SMI from the chipset is received by the access from the OS (device driver) to the virtual IO port, the interrupt handler 22 is read from the BIOS 20 into the CPU. After that, the interrupt handler 22 virtually operates the IO space as follows (executes virtual IO emulation processing).

割り込みハンドラ22は、アクセスがあった仮想IOポートの情報をIOリソース管理テーブル21から検索する(S601)。 The interrupt handler 22 searches the IO resource management table 21 for information on the accessed virtual IO port (S601).

次に、割り込みハンドラ22は、IOリソース管理テーブル21のIOデバイスコンフィグレーションアドレス、仮想IOベースアドレス情報を基に、該当IOデバイスに対してIOベースアドレスの設定およびIO空間を有効にする設定を行う(S602)。 Next, the interrupt handler 22 sets the IO base address and enables the IO space for the corresponding IO device based on the IO device configuration address and the virtual IO base address information in the IO resource management table 21. (S602).

次に、割り込みハンドラ22は、仮想IO Indexへのライトかどうか判断し(S603)、該当する場合は(S603のYes)、IOベースアドレスに対して仮想IO Index Portに格納された値を加算したアドレスに対してリードアクセスを行う(S604)。 Next, the interrupt handler 22 determines whether or not to write to the virtual IO Index (S603), and if applicable (Yes in S603), adds the value stored in the virtual IO Index Port to the IO base address. Read access is performed to the address (S604).

その後、割り込みハンドラ22は、リードデータを仮想IO Data Portに格納する(S605)。仮想IO Indexへのライトではない場合(S603のNo)、割り込みハンドラ22は、続いて仮想IO Dataへのライトかどうか判断し(S606)、該当する場合、IOベースアドレスに対して仮想IO Index Portに格納された値を加算したアドレスに対して、仮想IO Dataの値をライトする。仮想IO Indexへのライト、または仮想IO Dataへのライトでない場合(S606のNo)、割り込みハンドラ22は、該当IOデバイスへのアクセスは行わない。 After that, the interrupt handler 22 stores the read data in the virtual IO Data Port (S605). If it is not a write to the virtual IO Index (No in S603), the interrupt handler 22 subsequently determines whether it is a write to the virtual IO Data (S606), and if applicable, the virtual IO Index Port for the IO base address. Write the value of virtual IO Data to the address to which the value stored in is added. If it is not a write to the virtual IO Index or a write to the virtual IO Data (No in S606), the interrupt handler 22 does not access the corresponding IO device.

その後、割り込みハンドラ22は、該当IOデバイスに対してIOベースアドレスのクリアとIO空間の無効設定を行う(S608)。 After that, the interrupt handler 22 clears the IO base address and invalidates the IO space for the corresponding IO device (S608).

このようにコンピュータシステム1を動作させることで、割り込みハンドラ22によってIO空間仮想化処理が実現できる。 By operating the computer system 1 in this way, the IO space virtualization process can be realized by the interrupt handler 22.

以上説明したように、本発明を適用したコンピュータシステムは、専用回路を設けること無しに、IOデバイスの接続数を多数にする仮想IO空間を提供できる。 As described above, the computer system to which the present invention is applied can provide a virtual IO space in which a large number of IO devices are connected without providing a dedicated circuit.

本発明は、IO空間の枯渇を回避するために、BIOS20で仮想IO空間を構築し、CPUからの仮想IO空間へのアクセスに対してBIOS20で実際に使用するIO空間を切り替え、その後IOデバイスへのアクセスを行う。結果、仮想IO空間を用いることで、IO空間の枯渇を気にすることなくIOデバイスを多数実装することが可能となる。 In the present invention, in order to avoid the exhaustion of the IO space, the virtual IO space is constructed by the BIOS20, the IO space actually used by the BIOS20 is switched for the access to the virtual IO space from the CPU, and then the IO device is used. To access. As a result, by using the virtual IO space, it is possible to implement a large number of IO devices without worrying about the exhaustion of the IO space.

また、IO空間が枯渇した際には、POST(PowerOnSelfTest)でエラー検出しシステムが起動しないケースがある。本発明は、本ケースを改善することも可能となる。 In addition, when the IO space is exhausted, there is a case where an error is detected by POST (PowerOnSelfTest) and the system does not start. The present invention can also improve the present case.

なお、実施形態を例示して本発明を説明した。しかし、本発明の具体的な構成は前述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の変更があってもこの発明に含まれる。例えば、上述した実施形態のブロック構成の分離併合、手順の入れ替えなどの変更は本発明の趣旨および説明される機能を満たせば自由であり、上記説明が本発明を限定するものではない。 The present invention has been described by exemplifying embodiments. However, the specific configuration of the present invention is not limited to the above-described embodiment, and is included in the present invention even if there is a change within a range that does not deviate from the gist of the present invention. For example, changes such as separation and merging of block configurations and replacement of procedures of the above-described embodiments are free as long as the gist of the present invention and the functions described are satisfied, and the above description does not limit the present invention.

また、上記の実施形態の一部又は全部は、以下のようにも記載されうる。尚、以下の付記は本発明をなんら限定するものではない。
[付記1]
物理的にIOインタフェースに接続されているIOデバイス群を個別に管理するIOリソース管理テーブルを保持すると共に、前記IOリソース管理テーブルで管理される各IOデバイスに割り振ったIO空間情報をシステムマネージメント割り込みに応じて切り替える割り込みハンドラを保持するBIOSと、
OS‐IOデバイス間にアクセスが生じて仮想IO空間にアクセスされる毎に前記システムマネージメント割り込みを生成するチップセットを含み、前記システムマネージメント割り込みに応じて前記割り込みハンドラを読み出して、CPU上に確保される所定IO空間を介して、各IOデバイスに割り振られたIO空間情報を前記IOリソース管理テーブルを参照して切り替えることで、前記IOインタフェースを介してOS‐IOデバイス間のアクセスを可能に構成されたコンピュータハードウェアと、
を含むことを特徴とするコンピュータシステム。
In addition, some or all of the above embodiments may also be described as follows. The following notes do not limit the present invention in any way.
[Appendix 1]
The IO resource management table that individually manages the IO devices that are physically connected to the IO interface is held, and the IO spatial information allocated to each IO device managed by the IO resource management table is used as a system management interrupt. A BIOS that holds an interrupt handler that switches according to
It includes a chipset that generates the system management interrupt each time an access occurs between the OS and IO devices and the virtual IO space is accessed, and the interrupt handler is read in response to the system management interrupt and secured on the CPU. By switching the IO space information allocated to each IO device with reference to the IO resource management table via the predetermined IO space, access between the OS and IO devices is possible via the IO interface. Computer hardware and
A computer system characterized by including.

[付記2]
前記IOリソース管理テーブルは、IOデバイス毎に、前記所定IO空間の使用ポートを定めた仮想IOポート情報と、前記IO空間情報を記録したデバイスIO情報と、を含み成り、
IOデバイス毎の前記仮想IOポート情報には、CPU内の所定IO空間の使用ポートを定めた仮想インデックスポートと仮想データポートが記録され、
IOデバイス毎の前記IO空間情報には、IOベースアドレスとして機能する仮想IOベースアドレスと、IOサイズとして機能する仮想IOサイズとが記録される、
ことを特徴とする付記1に記載のコンピュータシステム。
[Appendix 2]
The IO resource management table includes virtual IO port information that defines a port to be used in the predetermined IO space for each IO device, and device IO information that records the IO space information.
In the virtual IO port information for each IO device, a virtual index port and a virtual data port that define the ports used in the predetermined IO space in the CPU are recorded.
In the IO space information for each IO device, a virtual IO base address that functions as an IO base address and a virtual IO size that functions as an IO size are recorded.
The computer system according to Appendix 1, wherein the computer system is characterized by the above.

[付記3]
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスの仮想IOポート情報を引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置することを特徴とする付記1又は2に記載のコンピュータシステム。
[Appendix 3]
When the interrupt handler switches the IO space information in the predetermined IO space, the interrupt handler reads the IO space information of the corresponding IO device from the IO resource management table with the virtual IO port information of the IO device as an argument, and causes the corresponding IO device. The computer system according to Appendix 1 or 2, wherein the value of the allocated IO space is installed in the predetermined IO space.

[付記4]
前記IOリソース管理テーブルには、IOデバイス毎にテーブルナンバーが割り振られ、
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスのテーブルナンバーを引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置する
ことを特徴とする付記1又は2に記載のコンピュータシステム。
[Appendix 4]
A table number is assigned to each IO device in the IO resource management table.
When switching the IO space information in the predetermined IO space, the interrupt handler reads the IO space information of the corresponding IO device from the IO resource management table with the table number of the IO device as an argument, and is assigned to the corresponding IO device. The computer system according to Appendix 1 or 2, wherein the value of the IO space is installed in the predetermined IO space.

[付記5]
BIOSは、物理的にIOインタフェースに接続されているIOデバイス群を個別に管理するIOリソース管理テーブルを保持すると共に、前記IOリソース管理テーブルで管理される各IOデバイスに割り振ったIO空間情報をシステムマネージメント割り込みに応じて切り替える割り込みハンドラを保持し、
コンピュータハードウェアは、チップセットが、OS‐IOデバイス間にアクセスが生じて仮想IO空間にアクセスされる毎に前記システムマネージメント割り込みを生成させ、
前記システムマネージメント割り込みに応じて、CPUが前記BIOSに格納された割り込みハンドラを読み込んで、CPU内に確保された所定IO空間を介して、各IOデバイスに割り振られたIO空間情報を前記IOリソース管理テーブルを参照して切り替え、
前記IOインタフェースを介して、切替えられたIO空間情報に基づいて、OS‐IOデバイス間のアクセスを成立させる
ことを特徴とするIOデバイスアクセス方法。
[Appendix 5]
The BIOS holds an IO resource management table that individually manages IO devices that are physically connected to the IO interface, and also systems the IO spatial information allocated to each IO device managed by the IO resource management table. Holds an interrupt handler that switches according to the management interrupt,
The computer hardware causes the chipset to generate the system management interrupt each time an access occurs between the OS-IO device and the virtual IO space is accessed.
In response to the system management interrupt, the CPU reads the interrupt handler stored in the BIOS and manages the IO space information allocated to each IO device via the predetermined IO space secured in the CPU. Refer to the table and switch,
An IO device access method characterized in that access between an OS and an IO device is established based on the switched IO spatial information via the IO interface.

[付記6]
前記IOリソース管理テーブルは、IOデバイス毎に、前記所定IO空間の使用ポートを定めた仮想IOポート情報と、前記IO空間情報を記録したデバイスIO情報と、を含み成り、
IOデバイス毎の前記仮想IOポート情報には、CPU内の所定IO空間の使用ポートを定めた仮想インデックスポートと仮想データポートが記録され、
IOデバイス毎の前記IO空間情報には、IOベースアドレスとして機能する仮想IOベースアドレスと、IOサイズとして機能する仮想IOサイズとが記録される、
ことを特徴とする付記5に記載のIOデバイスアクセス方法。
[Appendix 6]
The IO resource management table includes virtual IO port information that defines a port to be used in the predetermined IO space for each IO device, and device IO information that records the IO space information.
In the virtual IO port information for each IO device, a virtual index port and a virtual data port that define the ports used in the predetermined IO space in the CPU are recorded.
In the IO space information for each IO device, a virtual IO base address that functions as an IO base address and a virtual IO size that functions as an IO size are recorded.
The IO device access method according to Appendix 5, wherein the method is characterized by the above.

[付記7]
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスの仮想IOポート情報を引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置することを特徴とする付記5又は6に記載のIOデバイスアクセス方法。
[Appendix 7]
When the interrupt handler switches the IO space information in the predetermined IO space, the interrupt handler reads the IO space information of the corresponding IO device from the IO resource management table with the virtual IO port information of the IO device as an argument, and causes the corresponding IO device. The IO device access method according to Appendix 5 or 6, wherein the value of the allocated IO space is installed in the predetermined IO space.

[付記8]
前記IOリソース管理テーブルには、IOデバイス毎にテーブルナンバーが割り振られ、
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスのテーブルナンバーを引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置する
ことを特徴とする付記5又は6に記載のIOデバイスアクセス方法。
[Appendix 8]
A table number is assigned to each IO device in the IO resource management table.
When switching the IO space information in the predetermined IO space, the interrupt handler reads the IO space information of the corresponding IO device from the IO resource management table with the table number of the IO device as an argument, and is assigned to the corresponding IO device. The IO device access method according to Appendix 5 or 6, wherein the value of the IO space is installed in the predetermined IO space.

1 コンピュータシステム
10 コンピュータハードウェア
20 BIOS
21 IOリソース管理テーブル
22 割り込みハンドラ
30 IOインタフェース
40 IOデバイス群
1 Computer system 10 Computer hardware 20 BIOS
21 IO resource management table 22 Interrupt handler 30 IO interface 40 IO device group

Claims (6)

物理的にIOインタフェースに接続されているIOデバイス群を個別に管理するIOリソース管理テーブルを保持すると共に、前記IOリソース管理テーブルで管理される各IOデバイスに割り振ったIO空間情報をシステムマネージメント割り込みに応じて切り替える割り込みハンドラを保持するBIOSと、
OS‐IOデバイス間にアクセスが生じて仮想IO空間にアクセスされる毎に前記システムマネージメント割り込みを生成するチップセットを含み、前記システムマネージメント割り込みに応じて前記割り込みハンドラを読み出して、CPU上に確保される所定IO空間を介して、各IOデバイスに割り振られたIO空間情報を前記IOリソース管理テーブルを参照して切り替えることで、前記IOインタフェースを介してOS‐IOデバイス間のアクセスを可能に構成されたコンピュータハードウェアと、
を含み、
前記IOリソース管理テーブルは、IOデバイス毎に、前記所定IO空間の使用ポートを定めた仮想IOポート情報と、前記IO空間情報を記録したデバイスIO情報と、を含み成り、
IOデバイス毎の前記仮想IOポート情報には、CPU内の所定IO空間の使用ポートを定めた仮想インデックスポートと仮想データポートが記録され、
IOデバイス毎の前記IO空間情報には、IOベースアドレスとして機能する仮想IOベースアドレスと、IOサイズとして機能する仮想IOサイズとが記録される、
ことを特徴とするコンピュータシステム。
The IO resource management table that individually manages the IO devices that are physically connected to the IO interface is held, and the IO spatial information allocated to each IO device managed by the IO resource management table is used as a system management interrupt. A BIOS that holds an interrupt handler that switches according to
It includes a chipset that generates the system management interrupt each time an access occurs between the OS and IO devices and the virtual IO space is accessed, and the interrupt handler is read in response to the system management interrupt and secured on the CPU. By switching the IO space information allocated to each IO device with reference to the IO resource management table via the predetermined IO space, access between the OS and IO devices is possible via the IO interface. Computer hardware and
Only including,
The IO resource management table includes virtual IO port information that defines a port to be used in the predetermined IO space for each IO device, and device IO information that records the IO space information.
In the virtual IO port information for each IO device, a virtual index port and a virtual data port that define the ports used in the predetermined IO space in the CPU are recorded.
In the IO space information for each IO device, a virtual IO base address that functions as an IO base address and a virtual IO size that functions as an IO size are recorded.
A computer system characterized by that.
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスの仮想IOポート情報を引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置することを特徴とする請求項1に記載のコンピュータシステム。 When the interrupt handler switches the IO space information in the predetermined IO space, the interrupt handler reads the IO space information of the corresponding IO device from the IO resource management table with the virtual IO port information of the IO device as an argument, and causes the corresponding IO device. The computer system according to claim 1, wherein the value of the allocated IO space is installed in the predetermined IO space. 前記IOリソース管理テーブルには、IOデバイス毎にテーブルナンバーが割り振られ、
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスのテーブルナンバーを引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置する
ことを特徴とする請求項1又は2に記載のコンピュータシステム。
A table number is assigned to each IO device in the IO resource management table.
When switching the IO space information in the predetermined IO space, the interrupt handler reads the IO space information of the corresponding IO device from the IO resource management table with the table number of the IO device as an argument, and is assigned to the corresponding IO device. The computer system according to claim 1 or 2, wherein the value of the IO space is installed in the predetermined IO space.
BIOSは、物理的にIOインタフェースに接続されているIOデバイス群を個別に管理するIOリソース管理テーブルを保持すると共に、前記IOリソース管理テーブルで管理される各IOデバイスに割り振ったIO空間情報をシステムマネージメント割り込みに応じて切り替える割り込みハンドラを保持し、
前記IOリソース管理テーブルには、IOデバイス毎に、所定IO空間の使用ポートを定めた仮想IOポート情報と、IO空間情報を記録したデバイスIO情報とが記録され、
IOデバイス毎の前記仮想IOポート情報には、CPU内の所定IO空間の使用ポートを定めた仮想インデックスポートと仮想データポートが記録され、
IOデバイス毎の前記IO空間情報には、IOベースアドレスとして機能する仮想IOベースアドレスと、IOサイズとして機能する仮想IOサイズとが記録され、
コンピュータハードウェアは、チップセットが、OS‐IOデバイス間にアクセスが生じて仮想IO空間にアクセスされる毎に前記システムマネージメント割り込みを生成させ、
前記システムマネージメント割り込みに応じて、CPUが前記BIOSに格納された割り込みハンドラを読み込んで、CPU内に確保された所定IO空間を介して、各IOデバイスに割り振られたIO空間情報を前記IOリソース管理テーブルを参照して切り替え、
前記IOインタフェースを介して、切替えられたIO空間情報に基づいて、OS‐IOデバイス間のアクセスを成立させる
ことを特徴とするIOデバイスアクセス方法。
The BIOS holds an IO resource management table that individually manages IO devices that are physically connected to the IO interface, and also systems the IO spatial information allocated to each IO device managed by the IO resource management table. Holds an interrupt handler that switches according to the management interrupt,
In the IO resource management table, virtual IO port information that defines the port to be used in the predetermined IO space and device IO information that records the IO space information are recorded for each IO device.
In the virtual IO port information for each IO device, a virtual index port and a virtual data port that define the ports used in the predetermined IO space in the CPU are recorded.
In the IO space information for each IO device, a virtual IO base address that functions as an IO base address and a virtual IO size that functions as an IO size are recorded.
The computer hardware causes the chipset to generate the system management interrupt each time an access occurs between the OS-IO device and the virtual IO space is accessed.
In response to the system management interrupt, the CPU reads the interrupt handler stored in the BIOS and manages the IO space information allocated to each IO device via the predetermined IO space secured in the CPU. Refer to the table and switch,
An IO device access method characterized in that access between an OS and an IO device is established based on the switched IO spatial information via the IO interface.
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスの仮想IOポート情報を引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置することを特徴とする請求項に記載のIOデバイスアクセス方法。 When the interrupt handler switches the IO space information in the predetermined IO space, the interrupt handler reads the IO space information of the corresponding IO device from the IO resource management table with the virtual IO port information of the IO device as an argument, and causes the corresponding IO device. The IO device access method according to claim 4 , wherein the value of the allocated IO space is installed in the predetermined IO space. 前記IOリソース管理テーブルには、IOデバイス毎にテーブルナンバーが割り振られ、
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスのテーブルナンバーを引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置する
ことを特徴とする請求項又はに記載のIOデバイスアクセス方法。
A table number is assigned to each IO device in the IO resource management table.
When switching the IO space information in the predetermined IO space, the interrupt handler reads the IO space information of the corresponding IO device from the IO resource management table with the table number of the IO device as an argument, and is assigned to the corresponding IO device. The IO device access method according to claim 4 or 5 , wherein the value of the IO space is installed in the predetermined IO space.
JP2017249341A 2017-12-26 2017-12-26 Computer system Active JP6948039B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017249341A JP6948039B2 (en) 2017-12-26 2017-12-26 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017249341A JP6948039B2 (en) 2017-12-26 2017-12-26 Computer system

Publications (2)

Publication Number Publication Date
JP2019114197A JP2019114197A (en) 2019-07-11
JP6948039B2 true JP6948039B2 (en) 2021-10-13

Family

ID=67223208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017249341A Active JP6948039B2 (en) 2017-12-26 2017-12-26 Computer system

Country Status (1)

Country Link
JP (1) JP6948039B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7548614B1 (en) 2023-03-28 2024-09-10 Necプラットフォームズ株式会社 Information processing device and input/output processing method

Also Published As

Publication number Publication date
JP2019114197A (en) 2019-07-11

Similar Documents

Publication Publication Date Title
US7539788B2 (en) Data processing system for keeping isolation between logical partitions
JP6329318B2 (en) Information processing device
US9734096B2 (en) Method and system for single root input/output virtualization virtual functions sharing on multi-hosts
US8151275B2 (en) Accessing copy information of MMIO register by guest OS in both active and inactive state of a designated logical processor corresponding to the guest OS
US6877158B1 (en) Logical partitioning via hypervisor mediated address translation
US20050235083A1 (en) Computer system
US10956189B2 (en) Methods for managing virtualized remote direct memory access devices
US10402576B2 (en) Safe physical function passthrough using virtual machine functions
CN113312140B (en) System, storage medium, and method for virtual trusted platform module
KR102529761B1 (en) PCIe DEVICE AND OPERATING METHOD THEREOF
US10013199B2 (en) Translation bypass by host IOMMU for systems with virtual IOMMU
US10268595B1 (en) Emulating page modification logging for a nested hypervisor
US8566479B2 (en) Method and system to allow logical partitions to access resources
US20180225054A1 (en) Configuring nvme devices for redundancy and scaling
JP6948039B2 (en) Computer system
US10185679B2 (en) Multi-queue device assignment to virtual machine groups
US10481951B2 (en) Multi-queue device assignment for application groups
JP2011204077A (en) Information processing apparatus, resource allocation method and resource allocation program
JP2008250386A (en) Access control device and computer system
JP2018113075A (en) Information processing device
JP5142819B2 (en) Virtual computer system
KR20230169865A (en) System and method for managing queues in systems with high parallelism
JP5469085B2 (en) Server apparatus provided with MRA switch
CN117348794A (en) System and method for managing queues in a system with high parallelism
TWI467374B (en) Computing system and method for protected portion of partition memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210623

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210818

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210909

R150 Certificate of patent or registration of utility model

Ref document number: 6948039

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150