JP2019114197A - Computer system - Google Patents

Computer system Download PDF

Info

Publication number
JP2019114197A
JP2019114197A JP2017249341A JP2017249341A JP2019114197A JP 2019114197 A JP2019114197 A JP 2019114197A JP 2017249341 A JP2017249341 A JP 2017249341A JP 2017249341 A JP2017249341 A JP 2017249341A JP 2019114197 A JP2019114197 A JP 2019114197A
Authority
JP
Japan
Prior art keywords
space
virtual
information
resource management
management table
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.)
Granted
Application number
JP2017249341A
Other languages
Japanese (ja)
Other versions
JP6948039B2 (en
Inventor
和朗 眞田
Kazuro Sanada
和朗 眞田
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)

Abstract

To provide a computer system having an expansion method for an IO space for causing the number of connections of an IO device to be a large number without providing a dedicated circuit.SOLUTION: A computer system is configured by using: a BIOS holding an IO resource management table for separately managing an IO device group, and holding an interruption handler for switching IO space information allocated to each IO device managed by the IO resource management table in accordance with an SMI; and computer hardware including a chip set for generating an SMI each time access is generated between OS-IO devices and the access is made to a virtual IO space, and configured to enable access between the OS-IO devices by reading the interruption handler in accordance with the SMI and switching IO space information allocated to each IO device through a prescribed IO space secured on a CPU with reference to the IO resource management table.SELECTED DRAWING: Figure 1

Description

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

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

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

この問題に関して、IO空間を拡張する技術を用いて、動作可能に接続するIOデバイス数を増やす試みが行われている。例えば特許文献1には、専用回路を用いてIO空間をメモリマップドIO空間に変換する技術が記載されている。   With regard to this problem, attempts have been made to increase the number of IO devices that are operatively connected using technology to expand 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 Patent Application Laid-Open 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 BIOS (Basic Input / Output System), each IO device is operatively connected using up to 64 kilobytes of IO space. In addition, when IO space is more than 64 kilobytes of IO devices connected, connection of some IO devices becomes inoperable due to lack of IO space.

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

本発明は、上記課題に鑑みて成されたものであり、専用回路を設けること無しに、IOデバイスの接続数を多数にするIO空間の拡張手法を有したコンピュータシステムを提供することを目的とする。   The present invention has been made in view of the above problems, and it is an object of the present invention to provide a computer system having an IO space expansion method that increases 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デバイス間のアクセスを可能に構成されたコンピュータハードウェアと、を含むことを特徴とする。   A computer system according to an embodiment of the present invention holds an IO resource management table for individually managing IO devices physically connected to an IO interface, and each IO managed in the IO resource management table The BIOS holds an interrupt handler that switches IO space information allocated to devices according to System Management Interrupts (SMI), and access occurs between the OS (Operating System) and IO devices, and virtual IO space is accessed. Each time the system management interrupt is generated, the interrupt handler is read out according to the system management interrupt, and each IO device is read via a predetermined IO space secured on a CPU (Central Processing Unit). Allocated to Computer hardware configured to allow access between OS-IO devices via the IO interface by switching the specified IO space information with reference to the IO resource management table; .

本発明の一実施形態に係るコンピュータシステムによるIOデバイスアクセス方法は、BIOSは、物理的にIOインタフェースに接続されているIOデバイス群を個別に管理するIOリソース管理テーブルを保持すると共に、前記IOリソース管理テーブルで管理される各IOデバイスに割り振ったIO空間情報をシステムマネージメント割り込みに応じて切り替える割り込みハンドラを保持し、コンピュータハードウェアは、チップセットが、OS‐IOデバイス間にアクセスが生じて仮想IO空間にアクセスされる毎にシステムマネージメント割り込みを生成させ、前記システムマネージメント割り込みに応じて、CPUが前記BIOSに格納された割り込みハンドラを読み込んで、CPU内に確保された所定IO空間を介して、各IOデバイスに割り振られたIO空間情報を前記IOリソース管理テーブルを参照して切り替え、前記IOインタフェースを介して、切替えられたIO空間情報に基づいて、OS‐IOデバイス間のアクセスを成立させることを特徴とする。   In an IO device access method by a computer system according to an embodiment of the present invention, a BIOS holds an IO resource management table for individually managing IO devices physically connected to an IO interface, and the IO resource The 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 computer hardware causes the chipset to access between the OS-IO devices and the virtual IO Each time the space is accessed, a system management interrupt is generated, and in response to the system management interrupt, the CPU reads the interrupt handler stored in the BIOS, and each of the CPUs receives a predetermined IO space secured in the CPU. I The IO space information allocated to the device is switched with reference to the IO resource management table, and the access between the OS and IO devices is established based on the switched IO space information through the IO interface. I assume.

本発明によれば、専用回路を設けること無しに、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 showing composition of computer system 1 of an embodiment. コンピュータシステム1で使用するIOリソース管理テーブルを可視化して示す説明図である。FIG. 6 is an explanatory view showing an IO resource management table used in the computer system 1 in a visualized manner. コンピュータシステム1のIOデバイスアクセス方法を示すフローチャートである。5 is a flowchart showing an IO device access method of the computer system 1; 実施形態のコンピュータシステム1の別の構成を示すブロック図である。It is a block diagram showing another composition of computer system 1 of an embodiment. コンピュータシステム1の初期化処理例を示すフローチャートである。5 is a flowchart illustrating an exemplary initialization process of the computer system 1; コンピュータシステム1のIO空間仮想化処理例を示すフローチャートである。5 is a flowchart illustrating an example of IO space virtualization processing of the computer system 1;

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

[実施形態]
図1は、実施形態のコンピュータシステム1の構成を示すブロック図である。
[Embodiment]
FIG. 1 is a block diagram showing the configuration of a computer system 1 according to 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 adopting an IA. The computer system 1 includes computer hardware 10 and a BIOS 20 (BIOS ROM) as physical components. The computer hardware 10 includes a CPU, a memory, a chip set, and peripheral circuits that employ an IA. The computer hardware 10 also includes an IO interface 30 for physically connecting the IO device group 40. Software operating on the computer hardware 10 (CPU) includes an OS and a driver for each IO device.

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

IOデバイス群40は、一般的なIOデバイスであり、少なくとも1台以上接続され、必要に応じ多数が接続される。   The IO device group 40 is a general IO device, at least one or more 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 the interrupt handler 22.

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

図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 visualizing the data structure of the IO resource management table 21. As shown in FIG. The IO resource management table 21 includes, for each IO device (device A and device B in the figure), virtual IO port information that defines the use port of a predetermined IO space, device IO information where IO space information is recorded, including. The virtual IO port information includes virtual IO index port information and virtual IO data port information that define the used port of each IO device in a predetermined IO space in the CPU. Also, the IO space information for each IO device includes a virtual IO base address functioning as an IO base address and a virtual IO size functioning as an IO size. The virtual IO base address and the virtual IO size include the IO base address and the IO size of the IO device when temporarily reassigning each IO device in the IO space switching process. Further, in the IO resource management table 21, it is desirable that configuration address information be provided for each IO device as illustrated. The device configuration address information includes an address used when setting an IO port address for each IO device. Similarly, a table number may be allocated 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 a system management interrupt notified in response to an access between each IO device and the OS, and IO space information allocated to each IO device managed in the IO resource management table 21 Switch according to the access destination IO device.

割り込みハンドラ22は、所定IO空間内でIO空間情報を書き換える際に、IOデバイスの仮想IOポート情報を引数にIOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を所定IO空間に設置する。   When rewriting 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 allocated to the corresponding IO device The value of the IO space is set in a predetermined IO space.

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

上記構成を有するBIOS20を、IAを採用したコンピュータシステム1に組み込むことで、専用回路を設けること無しに、IOデバイスの接続数を多数にするIO空間の拡張手法を本発明は提供する。   The present invention provides an IO space expansion method that increases 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 adopting IA.

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

コンピュータシステム1で提供されるIOデバイスアクセス方法は、上記説明したシステム構成を具備して、予め物理的に接続された多数のIOデバイスに関するIO空間情報をIOリソース管理テーブル21に記録する工程を含む(F101)。   The IO device access method provided by the computer system 1 includes the step of recording IO space information on 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 an access between the OS and IO devices occurs, the computer hardware 10 (chipset) is a target before accessing the IO port of the target IO device and acquiring a value (device IO information). Each time a system management interrupt indicating that access to the IO port of the IO device has occurred is generated (F102).

次に、コンピュータハードウェア10(CPU)は、チップセットによって生成されたシステムマネージメント割り込みを検出し、BIOS20から割り込みハンドラ22を読み込む(F103)。   Next, the computer hardware 10 (CPU) detects a 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 regard to the use IO port of the corresponding IO device accessed in the predetermined IO space secured on the CPU as IO space switching processing. (F104). That is, as IO space switching processing, 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 stores 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 space information (F105).

別の観点で上記動作を説明すれば、コンピュータハードウェア10は、OSを介してデバイスドライバからのIOポート(仮想IOポート)へのアクセスを受けると、システムマネージメント割り込みを生成しシステムマネージメント割り込みモードに移行する。コンピュータハードウェア10は、システムマネージメント割り込みモード下でIOリソース管理テーブル21を参照して、該当IOデバイスに割り当てる仮想IOアドレスおよび仮想IOサイズにIO空間を切り替える。この仮想IOエミュレーション処理を経て、OSは、書き換えられたIO空間情報を用いてIOデバイスにアクセスする。   Explaining the above operation from another point of view, the computer hardware 10 generates a system management interrupt and enters the system management interrupt mode when the device driver accesses the IO port (virtual IO port) through the OS. 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 allocated to the corresponding IO device. After the virtual IO emulation processing, the OS accesses the IO device using the rewritten IO space 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 allocated IO space from the value of Index, and stores the read data in the Data register. 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 allocated IO space 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 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, it is possible to virtually switch the IO space to the IO space information required by the target IO device. As a result, this switching is performed each time, and each hardware can access the OS-IO devices using the IO space allocated to each IO device.

このようにコンピュータハードウェア10は、OSからの何れかのIOデバイスへのアクセスが生じた際に、BIOS20内に管理されたIOリソース管理テーブル21に基づいたIOアドレスおよびサイズの値をCPU上の所定IO空間に逐次配置することによって、IO空間の仮想化を実現する。   As described above, when access to any IO device from the OS occurs, the computer hardware 10 uses the IO address and size values based on the IO resource management table 21 managed in the BIOS 20 on the CPU. By sequentially arranging in the 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, when the interrupt handler 22 rewrites the IO space information, it has been described that the virtual IO space is set with the virtual IO port information of the IO device as an argument, 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 as shown in FIG. 4 using a table number as an argument. By configuring in this way, when corresponding to virtual IO ports of a plurality of IO devices, the number of times of newly allocating Index and Data ports for each IO device decreases, and as a result, IO space is not further consumed. It becomes possible.

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

図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 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 checks whether the IO device requires the IO space using the device configuration address (S502), and if the IO space is required (503), acquires the IO size from the IO device (S504) ). The BIOS 20 sets the address of the virtual IO Index port, the address of the Data port, 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 the virtual IO Index, virtual IO Data, and Table No variables (S506).

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

このようにコンピュータシステム1を動作させることで、割り込みハンドラ22およびIOリソース管理テーブル21を初期化できる。   By operating the computer system 1 in this manner, 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 from the OS (device driver) for the virtual IO port, the interrupt handler 22 is read from the BIOS 20 to the CPU. Thereafter, the interrupt handler 22 virtually operates the IO space as follows (performs 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, based on the IO device configuration address and virtual IO base address information in the IO resource management table 21, the interrupt handler 22 performs setting of the IO base address and validity of IO space for the corresponding IO device. (S602).

次に、割り込みハンドラ22は、仮想IO Indexへのライトかどうか判断し(S603)、該当する場合は(S603のYes)、IOベースアドレスに対して仮想IO Index Portに格納された値を加算したアドレスに対してリードアクセスを行う(S604)。   Next, the interrupt handler 22 determines whether the write is to the virtual IO Index (S603), and if applicable (Yes in S603), the value stored in the virtual IO Index Port is added to the IO base address Read access is performed on 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デバイスへのアクセスは行わない。   Thereafter, 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 The value of virtual IO Data is written to the address obtained by adding the value stored in. If the write to the virtual IO Index or the write to the virtual IO Data is not performed (No in S606), the interrupt handler 22 does not access the corresponding IO device.

その後、割り込みハンドラ22は、該当IOデバイスに対してIOベースアドレスのクリアとIO空間の無効設定を行う(S608)。   Thereafter, 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 manner, the IO handler can implement IO space virtualization processing.

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

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

また、IO空間が枯渇した際には、POST(PowerOnSelfTest)でエラー検出しシステムが起動しないケースがある。本発明は、本ケースを改善することも可能となる。   When the IO space is exhausted, an error may be detected in POST (PowerOnSelfTest) and the system may not start up. The invention also makes it possible to improve the case.

なお、実施形態を例示して本発明を説明した。しかし、本発明の具体的な構成は前述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の変更があってもこの発明に含まれる。例えば、上述した実施形態のブロック構成の分離併合、手順の入れ替えなどの変更は本発明の趣旨および説明される機能を満たせば自由であり、上記説明が本発明を限定するものではない。   The present invention has been described by exemplifying the embodiment. However, the specific configuration of the present invention is not limited to the above-described embodiment, and any changes without departing from the scope of the present invention are included in the present invention. For example, modifications such as separation and merging of block configurations and replacement of procedures in the above-described embodiment are free as long as the purpose of the present invention and the functions to be 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デバイス間のアクセスを可能に構成されたコンピュータハードウェアと、
を含むことを特徴とするコンピュータシステム。
Also, some or all of the above embodiments may be described as follows. The following appendices do not limit the present invention at all.
[Supplementary Note 1]
An IO resource management table for individually managing an IO device group physically connected to an IO interface is held, and IO space information allocated to each IO device managed in the IO resource management table is used as a system management interrupt With the BIOS that holds the interrupt handler that switches accordingly
The chipset includes a chipset for generating the system management interrupt each time access is made between the OS-IO device and the virtual IO space is accessed, and the interrupt handler is read in response to the system management interrupt and reserved on the CPU. Is configured to allow access between OS-IO devices through the IO interface by switching the IO space information allocated to each IO device with reference to the IO resource management table via the predetermined IO space. Computer hardware, and
A computer system comprising:

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

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

[付記4]
前記IOリソース管理テーブルには、IOデバイス毎にテーブルナンバーが割り振られ、
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスのテーブルナンバーを引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置する
ことを特徴とする付記1又は2に記載のコンピュータシステム。
[Supplementary Note 4]
In the IO resource management table, a table number is assigned to each IO device,
When switching the IO space information in the predetermined IO space, the interrupt handler reads the IO space information of the IO device from the IO resource management table using the table number of the IO device as an argument, and allocates the IO device to the IO device. The computer system according to claim 1 or 2, wherein the value of the IO space is set 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デバイスアクセス方法。
[Supplementary Note 5]
The BIOS holds an IO resource management table for individually managing IO devices physically connected to an IO interface, and a system for allocating IO space information allocated to each IO device managed in the IO resource management table Hold an interrupt handler that switches according to the management interrupt,
The computer hardware causes the chipset to generate the system management interrupt each time access is made between OS-IO devices and the virtual IO space is accessed.
In response to the system management interrupt, the CPU reads an interrupt handler stored in the BIOS, and IO space information allocated to each IO device is managed through the predetermined IO space secured in the CPU. Refer to the table and switch,
An IO device access method comprising establishing access between OS-IO devices based on switched IO space information via the IO interface.

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

[付記7]
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスの仮想IOポート情報を引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置することを特徴とする付記5又は6に記載のIOデバイスアクセス方法。
[Supplementary Note 7]
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 virtual IO port information of the IO device as an argument, to the corresponding IO device The IO device access method according to any one of appendices 5 or 6, wherein the value of the allocated IO space is set in the predetermined IO space.

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

物理的にIOインタフェースに接続されているIOデバイス群を個別に管理するIOリソース管理テーブルを保持すると共に、前記IOリソース管理テーブルで管理される各IOデバイスに割り振ったIO空間情報をシステムマネージメント割り込みに応じて切り替える割り込みハンドラを保持するBIOSと、
OS‐IOデバイス間にアクセスが生じて仮想IO空間にアクセスされる毎に前記システムマネージメント割り込みを生成するチップセットを含み、前記システムマネージメント割り込みに応じて前記割り込みハンドラを読み出して、CPU上に確保される所定IO空間を介して、各IOデバイスに割り振られたIO空間情報を前記IOリソース管理テーブルを参照して切り替えることで、前記IOインタフェースを介してOS‐IOデバイス間のアクセスを可能に構成されたコンピュータハードウェアと、
を含むことを特徴とするコンピュータシステム。
An IO resource management table for individually managing an IO device group physically connected to an IO interface is held, and IO space information allocated to each IO device managed in the IO resource management table is used as a system management interrupt With the BIOS that holds the interrupt handler that switches accordingly
The chipset includes a chipset for generating the system management interrupt each time access is made between the OS-IO device and the virtual IO space is accessed, and the interrupt handler is read in response to the system management interrupt and reserved on the CPU. Is configured to allow access between OS-IO devices through the IO interface by switching the IO space information allocated to each IO device with reference to the IO resource management table via the predetermined IO space. Computer hardware, and
A computer system comprising:
前記IOリソース管理テーブルは、IOデバイス毎に、前記所定IO空間の使用ポートを定めた仮想IOポート情報と、前記IO空間情報を記録したデバイスIO情報と、を含み成り、
IOデバイス毎の前記仮想IOポート情報には、CPU内の所定IO空間の使用ポートを定めた仮想インデックスポートと仮想データポートが記録され、
IOデバイス毎の前記IO空間情報には、IOベースアドレスとして機能する仮想IOベースアドレスと、IOサイズとして機能する仮想IOサイズとが記録される、
ことを特徴とする請求項1に記載のコンピュータシステム。
The IO resource management table includes, for each IO device, virtual IO port information that defines a use port of the predetermined IO space, and device IO information in which the IO space information is recorded.
In the virtual IO port information for each IO device, a virtual index port and a virtual data port which define a use port of a predetermined IO space in the CPU are recorded,
In the IO space information for each IO device, a virtual IO base address functioning as an IO base address and a virtual IO size functioning as an IO size are recorded.
The computer system according to claim 1, characterized in that:
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスの仮想IOポート情報を引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置することを特徴とする請求項1又は2に記載のコンピュータシステム。   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 virtual IO port information of the IO device as an argument, to the corresponding IO device The computer system according to claim 1 or 2, 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に記載のコンピュータシステム。
In the IO resource management table, a table number is assigned to each IO device,
When switching the IO space information in the predetermined IO space, the interrupt handler reads the IO space information of the IO device from the IO resource management table using the table number of the IO device as an argument, and allocates the IO device to the IO device. The computer system according to claim 1 or 2, wherein the value of the IO space is set in the predetermined IO space.
BIOSは、物理的に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 for individually managing IO devices physically connected to an IO interface, and a system for allocating IO space information allocated to each IO device managed in the IO resource management table Hold an interrupt handler that switches according to the management interrupt,
The computer hardware causes the chipset to generate the system management interrupt each time access is made between OS-IO devices and the virtual IO space is accessed.
In response to the system management interrupt, the CPU reads an interrupt handler stored in the BIOS, and IO space information allocated to each IO device is managed through the predetermined IO space secured in the CPU. Refer to the table and switch,
An IO device access method comprising establishing access between OS-IO devices based on switched IO space information via the IO interface.
前記IOリソース管理テーブルは、IOデバイス毎に、前記所定IO空間の使用ポートを定めた仮想IOポート情報と、前記IO空間情報を記録したデバイスIO情報と、を含み成り、
IOデバイス毎の前記仮想IOポート情報には、CPU内の所定IO空間の使用ポートを定めた仮想インデックスポートと仮想データポートが記録され、
IOデバイス毎の前記IO空間情報には、IOベースアドレスとして機能する仮想IOベースアドレスと、IOサイズとして機能する仮想IOサイズとが記録される、
ことを特徴とする請求項5に記載のIOデバイスアクセス方法。
The IO resource management table includes, for each IO device, virtual IO port information that defines a use port of the predetermined IO space, and device IO information in which the IO space information is recorded.
In the virtual IO port information for each IO device, a virtual index port and a virtual data port which define a use port of a predetermined IO space in the CPU are recorded,
In the IO space information for each IO device, a virtual IO base address functioning as an IO base address and a virtual IO size functioning as an IO size are recorded.
The IO device access method according to claim 5, characterized in that:
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスの仮想IOポート情報を引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置することを特徴とする請求項5又は6に記載のIOデバイスアクセス方法。   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 virtual IO port information of the IO device as an argument, to the corresponding IO device 7. The IO device access method according to claim 5, wherein the value of the allocated IO space is set in the predetermined IO space. 前記IOリソース管理テーブルには、IOデバイス毎にテーブルナンバーが割り振られ、
前記割り込みハンドラは、前記所定IO空間内でIO空間情報を切り替える際に、IOデバイスのテーブルナンバーを引数に前記IOリソース管理テーブルから該当IOデバイスのIO空間情報を読み込んで、該当IOデバイスに割り振られたIO空間の値を前記所定IO空間に設置する
ことを特徴とする請求項5又は6に記載のIOデバイスアクセス方法。
In the IO resource management table, a table number is assigned to each IO device,
When switching the IO space information in the predetermined IO space, the interrupt handler reads the IO space information of the IO device from the IO resource management table using the table number of the IO device as an argument, and allocates the IO device to the IO device. 7. The IO device access method according to claim 5, wherein the value of the IO space is set 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 true JP2019114197A (en) 2019-07-11
JP6948039B2 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)

Cited By (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

Cited By (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
JP6948039B2 (en) 2021-10-13

Similar Documents

Publication Publication Date Title
US11360696B2 (en) System startup method and apparatus, electronic device, and storage medium
JP6329318B2 (en) Information processing device
US8806098B1 (en) Multi root shared peripheral component interconnect express (PCIe) end point
US6877158B1 (en) Logical partitioning via hypervisor mediated address translation
CN107636630B (en) Interrupt controller
KR102529761B1 (en) PCIe DEVICE AND OPERATING METHOD THEREOF
US10268595B1 (en) Emulating page modification logging for a nested hypervisor
TW200413917A (en) Method and system of managing virtualized physical memory in a multi-processor system
US9639478B2 (en) Controlling direct memory access page mappings
US8566479B2 (en) Method and system to allow logical partitions to access resources
US20180225054A1 (en) Configuring nvme devices for redundancy and scaling
TWI750472B (en) Computer program product, system and method for mmio addressing using a translation lookaside buffer
TWI699655B (en) Mmio addressing using a translation table
US10331557B1 (en) Distribution of memory address resources to bus devices in a multi-processor computing system
US9330024B1 (en) Processing device and method thereof
JP6948039B2 (en) Computer system
US10223284B2 (en) Flexible I/O DMA address allocation in virtualized systems
JP2011204077A (en) Information processing apparatus, resource allocation method and resource allocation program
US10120813B2 (en) Address translation
JP2018113075A (en) Information processing device
US9678892B2 (en) Flexible I/O DMA address allocation in virtualized systems
JP5142819B2 (en) Virtual computer system
CN117149447B (en) Bandwidth adjustment method, device, equipment and storage medium
JP5469085B2 (en) Server apparatus provided with MRA switch
JP5331709B2 (en) Test equipment

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