JP4429331B2 - Pciデバイスのホットプラグにおけるモード設定方法及びpciバスを有するシステム - Google Patents

Pciデバイスのホットプラグにおけるモード設定方法及びpciバスを有するシステム Download PDF

Info

Publication number
JP4429331B2
JP4429331B2 JP2007059079A JP2007059079A JP4429331B2 JP 4429331 B2 JP4429331 B2 JP 4429331B2 JP 2007059079 A JP2007059079 A JP 2007059079A JP 2007059079 A JP2007059079 A JP 2007059079A JP 4429331 B2 JP4429331 B2 JP 4429331B2
Authority
JP
Japan
Prior art keywords
pci
hot
pci device
control circuit
processor
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
JP2007059079A
Other languages
English (en)
Other versions
JP2008225577A (ja
Inventor
浩二 鐙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2007059079A priority Critical patent/JP4429331B2/ja
Priority to US12/042,863 priority patent/US7814254B2/en
Publication of JP2008225577A publication Critical patent/JP2008225577A/ja
Application granted granted Critical
Publication of JP4429331B2 publication Critical patent/JP4429331B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Bus Control (AREA)

Description

本発明は、PCIデバイスのホットプラグにおけるモード設定方法及びPCIバスを有するシステムに関する。
従来のPCIバスを有するシステムについて説明する。
図7は、従来のPCIバスを有するシステムのブロック図であり、図8は、従来のPCI制御回路のブロック図である。
従来のPCIバスを有するシステムは、図7に示すようにコンフィグリード(Config Read)命令発行回路やホットアッド(Hot Add)制御回路は無く、プロセッサ101、ノースブリッジ102、PCI制御回路110を有するサウスブリッジ104、PCIスロット105、及びファームウェア103で構成されていた。
また従来のPCI制御回路は、図8に示すようにコンフィグアクセスリトライ制御回路は無く、PCIバス制御回路201、及びモードレジスタ202で構成されていた(例えば、特許文献1〜4参照。)。
特開2000−276258号公報 特開2003−046511号公報 特開2006−146921号公報 特開平11−175456号公報
ところで、PCIデバイスのホットアッド はサウスブリッジ(Southbridge)からOSやホットプラグドライバ(Hot Plug Driver)にしか報告されず、OS(Operating System)やホットドライバの修正無しではファームウェア(Firmware)103に対してPCIデバイスのホットアッドを知らせることは出来なかった。
以上の従来のシステムにおけるホットアッド方式においては、次のような課題がある。
第1の課題は、OSやオープン(Open)のホットプラグドライバ(Hot Plug Driver)の修正依頼やホットプラグドライバの自作は難しいため、Boot時からシステムに組み込まれるPCIデバイスに対してはプラットフォーム固有機能のサポートは可能であるが、ホットアッドにより動作中に追加されたPCIデバイスへのプラットフォーム固有機能のサポートはできないということである。
第2の課題は、ホッドアッドされたPCIデバイスに対してコンフィグアクセスが可能となるタイミングがハードウェア(Hardware)およびファームウェア(Firmware)には判断できないため、ホットアッドされたPCIデバイスのベンダー(Vendor)IDやデバイス(Device)IDの読み出しができないということである。
第3の課題は、ハードウェアやファームウェアによるコンフィグ(Config)アクセスがプロセッサからのコンフィグアクセスと競合した場合に動作不可能となるPCIデバイスがあり制御できないため、ハードウェアやファームウェアからコンフィグアクセスを割り込ませることができないということである。
このため、ホットアッドによりPCIデバイスを追加可能なシステムにおいて、プラットフォーム固有機能の制御を行うファームウェアにPCIデバイスがホットアッドされたことを報告できることと、ファームウェアが容易にホットアッドされたPCIデバイスのベンダーIDとデバイスIDを認識できることにより、ホットアッドにより動作中に追加されたPCIデバイスに対してもプラットフォーム固有機能のサポートを可能とするPCIデバイスのホットプラグにおけるモード設定方法及びPCIバスを有するシステムが望まれる。
そこで、本発明の目的は、ホットアッドにより動作中に追加されたPCIデバイスに対してプラットフォーム固有の機能をサポートすることができるPCIデバイスのホットプラグにおけるモード設定方法及びPCIバスを有するシステムを提供することにある。
上記課題を解決するため、請求項1記載の発明は、PCIデバイスのホットプラグにおけるモード設定方法において、PCIバスを持つシステムのサウスブリッジで前記PCIデバイスがシステムへのホットアッド設定の完了したことを前記サウスブリッジが認識してファームウェアへ報告すると共に、前記モード設定に必要なホットアッド対象PCIデバイスのベンダーID及びデバイスIDの情報を前記サウスブリッジがコンフィグリードを発行して前記PCIデバイスから自動で読み出して前記ファームウェアに渡すことで、システムに対してホットアッドされたPCIデバイスに対するプラットフォーム固有のサポート機能のモード設定を可能とし、プロセッサからのコンフィグアクセス命令を前記サウスブリッジが受信するまで前記PCIデバイスへのコンフィグリード命令発行を待ち合わせることで前記プロセッサから発行されたコンフィグアクセスに対してリトライ指示が返却され続けることを特徴とする。
請求項1記載の発明によれば、サウスブリッジから直接ファームウェアにPCIデバイスのホットアッドを報告しているので、OSやオープンなホットプラグドライバーを修正することなく、ホットアッドにより動作中に追加されたPCIデバイスに対してプラットフォーム固有の機能をサポートすることができる。
また、プロセッサからのコンフィグアクセス命令までPCIデバイスへのコンフィグリード命令発行を待ち合わせることにより、PCIデバイスに対してコンフィグアクセスが可能な状態と確信できてからコンフィグリード命令を発行できる。
また、プロセッサからのコンフィグアクセス命令をサウスブリッジからのコンフィグリード命令が完了するまでリトライすることにより、ホットアッドされたPCIデバイスがコンフィグアクセス命令を1つしか処理できないレガシーなPCIデバイスであっても対応できる。
また、専用ホットプラグドライバーを作成することなく、システムに対してホットアッドされたPCIデバイスに対するプラットフォーム固有のサポート機能のモード設定が可能となる。
請求項2記載の発明は、PCIバスと、ファームウェアと、PCIデバイスと、前記PCIデバイスがシステムへのホットアッド設定の完了したことを前記ファームウェアへ報告すると共に、モード設定に必要なホットアッド対象PCIデバイスのベンダーID及びデバイスIDの情報を前記PCIデバイスから自動で読み出すためにコンフィグリートを発行して前記ファームウェアに渡し、前記ホットアッド設定の完了を認識するサウスブリッジと、プロセッサからPCIスロット上のPCIデバイスに対してコンフィグアクセス命令が発行されるのを待ち合わせることで前記プロセッサから発行されたコンフィグアクセスに対してリトライ指示を返却し続けるPCIバス制御回路と、を有することを特徴とする。
請求項2記載の発明によれば、サウスブリッジから直接ファームウェアにPCIデバイスのホットアッドを報告することにより、OSやオープンなホットプラグドライバーを修正することなく、ホットアッドにより動作中に追加されたPCIデバイスに対してプラットフォーム固有の機能をサポートできる。
また、サウスブリッジ内にホットアッドされたPCIデバイスのベンダーPCIやデバイス IDを自動で読み出すことにより、ファームウェアは直接PCIデバイスにアクセスすることなくサウスブリッジ内の情報を参照するだけでプラットフォーム固有の機能のモード設定値を決定することができる
また、プロセッサからのコンフィグアクセス命令までPCIデバイスへのコンフィグリード命令発行を待ち合わせることにより、PCIデバイスに対してコンフィグアクセスが可能な状態と確信できてからコンフィグリード命令を発行できる。
また、プロセッサからのコンフィグアクセス命令をサウスブリッジからのコンフィグリード命令が完了するまでリトライすることにより、ホットアッドされたPCIデバイスがコンフィグアクセス命令を1つしか処理できないレガシーなPCIデバイスであっても対応できる。
また、サウスブリッジから直接ファームウェアにPCIデバイスのホットアッドを報告することにより、OSやオープンなホットプラグドライバーを修正することなく、ホットアッドにより動作中に追加されたPCIデバイスに対してプラットフォーム固有の機能をサポートできる。
また、プロセッサからのコンフィグアクセス命令までPCIデバイスへのコンフィグリード命令発行を待ち合わせることにより、PCIデバイスに対してコンフィグアクセスが可能な状態と確信できてからコンフィグリード命令を発行できる。
ここで、システムのサウスブリッジ(以降SB)内に、PCIスロット毎にデバイスが挿入されたことを認識するための回路や、PCIデバイスのベンダーID(以降VID)/デバイスID(以降DID)を読み出すためのコンフィグリード命令を発行する機能および読み出されたVID/DIDを格納するためのレジスタをそれぞれ持ち、またコンフィグリードが完了したことによるファームウェア(以降FW)への報告用の割り込み発行機能を有して、PCIスロットにホットアッドでPCIデバイスが動作中に追加されると、SB内でPCIデバイスがホットアッドされたことを認識して、プロセッサからホットアッドされたPCIデバイスに対するコンフィグアクセス命令が発行されるのを待ち合わせる。
プロセッサからホットアッドされたPCIデバイスにコンフィグアクセス命令が発行されると、SBは対象PCIデバイスがコンフィグリード命令を発行しても良い状態まで設定が完了したと認識できるため、SBからPCIデバイスに対してVID/DIDを読み出すためのコンフィグリード命令を生成して発行する。その場合、PCIデバイスによってはコンフィグアクセスを1つしか処理できない場合があるため、SBからのコンフィグリード命令を処理中は、プロセッサから発行されたコンフィグアクセス命令はPCIバスへ発行せずにプロセッサへリトライ要求を返却する。
そして、SBからのコンフィグリード命令が完了した後にプロセッサから再発行されたコンフィグアクセス命令を受け付けると正常に処理する。SBからのコンフィグリード命令によりPCIデバイスから読み出されたDataをSB内の各PCIスロットに対応するVID/DID格納レジスタに取り込み、SBからFWに対して割り込み要求を上げ、PCIデバイスがホットアッドされたことをFWに報告する。PCIデバイスのホットアッドが報告されたFWは、SB内に格納されているVID/DIDを読み出し、プラットフォーム固有の各種サポート機能の実行可否や設定値を判断して、SBが持つサポート機能のモードレジスタに設定を行う。
本発明によれば、サウスブリッジから直接ファームウェアにPCIデバイスのホットアッドを報告することにより、OSやオープンなホットプラグドライバーを修正することなく、ホットアッドにより動作中に追加されたPCIデバイスに対してプラットフォーム固有の機能をサポートできる。
〔実施形態1〕
〔構成の説明〕
本発明のPCIデバイスのホットプラグにおけるモード設定方式は、PCI バスを持つシステムのSBにおいて、PCIデバイスがホットアッドされたことをSBがFWへ報告すると共に、モード設定に必要なホットアッド対象PCIデバイスのVID/DIDの情報をSBがPCIデバイスから自動で読み出してFWに渡すことで、専用ホットプラグドライバーを作成することなく、システムに対してホットアッドされたPCIデバイスに対するプラットフォーム固有のサポート機能のモード設定を可能としたことを特徴としている。
図1は、本発明に係るPCIバスを有するシステムの一実施の形態を示すブロック図である。
図1に示すシステムは、プロセッサ101、ノースブリッジ(以降NB)102、SB104、PCIスロット105からなるシステムで構成され、プラットフォーム固有の制御をFW103によって行われる。
SB104内には、プロセッサ101からの命令をPCIスロット105上のPCIデバイスへの発行の制御やこれとは逆にPCIデバイスからの命令を制御するPCI制御回路110と、PCIデバイスが持つVIDとDIDを読み出すためのコンフィグリード命令を発行するためのコンフィグリード命令発行回路111と、PCIスロット105にPCIデバイスがホットアッドされた時にコンフィグリード命令の発行指示やFW103へホットアッドの割り込みの報告を行うホットアッド制御回路112を持つ。また、PCIスロット105からはPCIバスとは別に、PCIスロット105上の電確信号120がホットアッド制御回路112に接続される。
図2は、図1に示したシステムに用いられるPCI制御回路110の詳細な構成図である。
図2において、PCI制御回路110は、PCIスロット105上のPCIデバイスに対して命令の発行および受信の制御を行うPCIバス制御回路201と、PCIデバイスに対してプラットフォーム固有機能のサポートを設定するためのモードレジスタ202とからなる。
さらにPCIバス制御回路201内には、コンフィグリード命令発行回路111からコンフィグリード命令の発行要求中はプロセッサ101からPCIスロット105上のPCIデバイスに発行されたコンフィグアクセス命令をPCIバスには発行せず、リトライとしてプロセッサ101に返却を制御するコンフィグアクセスリトライ制御回路203を持つ。
図3は、図1に示したシステムに用いられるホットアッド制御回路112の詳細な構成図である。
図3において、ホットアッド制御回路112は、ホットアッド時のシーケンスを管理するフラグレジスタやVID/DIDを保持するためのレジスタを管理するフラグ制御回路301と、FW103にホットアッドを報告するために割り込みを行う割り込み制御回路302と、PCIスロット105からの電確信号120によりPCIスロット105上にPCIデバイスがホットアッドされたことを検出するホットアッド検出回路303とからなる。
また、フラグ制御回路301内には、PCIスロット105にPCIデバイスがホットアッドされた場合にセットされるアッドフラグ310と、PCIデバイスからVID/DIDの読み出しが完了した場合にセットされるCMPフラグ311と、PCIデバイスから読み出されたVID/DIDをそれぞれ格納するためのVIDレジスタ312と、DIDレジスタ313とを持つ。
以上詳細に実施例の構成を述べたが、図1のプロセッサ101、NB102、およびSB104内の他機能については、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
なお、上記実施例では、図1のSB104に接続されるPCIスロット105の数を1つとして説明しているが、それ以上のスロット数の構成であってもよい。その場合は、図1のSB104が持つホットアッド制御回路112とPCI制御回路110内のモードレジスタ202をスロット数分持つことで構成可能となる。
〔動作の説明〕
図1に示したシステム、図2、図3のサウスブリッジ内の各制御回路図の動作を説明する。
システムが動作中にSB104に接続されたPCIスロット105に対してPCIデバイスがホットアッドされると、電確信号120によりSB104に報告される。
電確信号120によりホットアッドが報告されたSB104は、ホットアッド制御回路112内のホットアッド検出回路303によりPCIデバイスのホットアッドを認識する。
ホットアッドを検出すると、ホットアッド検出回路303からフラグ制御回路301に報告され、内部に持つ初期値が”0”であるアッドフラグ310とCMPフラグ311のうち、アッドフラグ310のみ”1”にセットする。
コンフィグリード命令発行回路111は、フラグ制御回路301からアッドフラグ310が”1”、CMPフラグ311が”0”の状態を認識すると、PCIスロット105上のPCIデバイスのVIDとDIDとを読み出すためのコンフィグリード命令を用意して、PCI制御回路110内のPCIバス制御回路201に対してコンフィグリード命令の発行要求を行う。
コンフィグリード命令の発行要求を受け取ったPCIバス制御回路201は、プロセッサ101からPCIスロット105上のPCIデバイスに対してコンフィグアクセス命令が発行されるのを待ち合わせる。
PCIスロット105にPCIデバイスがホットアッドされると、PCIのホットプラグコントローラからプロセッサ101に割り込みを行うことで、OSやホットプラグドライバーに対してPCIスロット105にPCIデバイスがホットアッドされたことが通知される。
PCIスロット105にPCIデバイスがホットアッドされたことが通知されるとOSおよびホットプラグドライバーはPCIスロット105上のPCIデバイスをシステムに組み込むために、NB102やSB104およびPCIスロット105上のPCIデバイスに設定を行う。
OSやホットプラグドライバーの設定によりPCIスロット105上のPCIデバイスにコンフィグアクセスが発行可能な状態になると、プロセッサ101からPCIスロット105上のPCIデバイスにコンフィグアクセスが発行される。
経路上であるSB104内のPCIバス制御回路201は、プロセッサ101からPCIスロット105上のPCIデバイスへのコンフィグアクセスを受信することでPCIスロット105上のPCIデバイスへのコンフィグアクセスが発行可能な状態になったことを認識できる。
よって、PCIバス制御回路201はコンフィグリード命令発行回路111よりコンフィグリード命令の発行要求があるため、コンフィグアクセスリトライ制御回路203により、プロセッサ101からのコンフィグアクセスはPCIバスに発行しないで、プロセッサ101に再発行指示としてリトライレスポンスを返却して、コンフィグリード命令発行回路111からのPCIスロット105上のPCIデバイスのVID/DIDを読み出すためのコンフィグリード命令をPCIバスへ発行する。
コンフィグリード命令発行回路111からPCIスロット105上のPCIデバイスへのコンフィグリード命令を発行中に、再度プロセッサ101からリトライが返却されたコンフィグアクセスが再発行されてくるが、コンフィグリード命令発行回路111からのコンフィグリード命令を処理中であるため、コンフィグアクセスリトライ制御回路203により再度リトライレスポンスがプロセッサ101に返却され、コンフィグリード命令発行回路111からのコンフィグリード命令の処理が完了するまで継続される。
コンフィグリード命令発行回路111からのコンフィグリード命令に対して、PCIスロット105上のPCIデバイスからリプライデータが返却されると、PCIバス制御回路201はコンフィグリード命令発行回路111にリプライデータを出力して、コンフィグアクセスリトライ制御回路203に対してプロセッサ101からPCIスロット105上のPCIデバイスへのコンフィグアクセスのリトライ処理を停止させる。その後に受け付けたプロセッサ101からPCIスロット105上のPCIデバイスへのコンフィグアクセスは、正常にPCIバスへ出力され、PCIスロット105上のPCIデバイスに発行される。
コンフィグリード命令発行回路111は、そのままリプライデータをホットアッド制御回路112にフォワードして、リプライデータを受け取ったホットアッド制御回路112は、フラグ制御回路301に持つCMPフラグを”1”にセットすると共に、PCIスロット105上のPCIデバイスから読み出されたVID/DIDの情報をそれぞれVIDレジスタ312とDIDレジスタ313に格納する。
ホットアッド制御回路112内の割り込み制御回路302は、フラグ制御回路301からアッドフラグ310が”1”、CMPフラグ311が”1”の状態を認識すると、FW103に対して、PCIスロット105にPCIデバイスがホットアッドされたことを報告するための割り込みを行う。
FW103は、PCIスロット105へのPCIデバイスのホットアッドが報告されると、SB104のホットアッド制御回路が持つ各フラグを読み出して、アッドフラグ310からPCIスロットの位置、VIDレジスタ312やDIDレジスタ313からPCIスロット105にホットアッドされたPCIデバイスの種類を認識する。FW103は認識したPCIデバイスの種類により、プラットフォーム固有機能のサポートの可否や、サポート内容を決定して、SB103のPCI 制御回路110内に持つモードレジスタ202に対してサポート機能のモードを設定する。モードの設定後は、PCIスロット105にホットアッドされたPCIデバイスに対してプラットフォーム固有機能のサポートが可能となる。
〔実施形態2〕
〔構成の説明〕
図4は、本発明に係るPCIバスを有するシステムの他の実施の形態を示すブロック図である。
図4において、プロセッサ401、NB402、SB404、PCIスロット405からなるシステムで構成され、プラットフォーム固有の制御をFW403によって行われる。
SB404内には、プロセッサ401からの命令をPCIスロット405上のPCIデバイスへの発行の制御やこれとは逆にPCIデバイスからの命令を制御するPCI制御回路410と、FW403からの指示によりPCIデバイスに対してコンフィグリード命令を発行するためのコンフィグリード命令発行回路411と、PCIスロット405にPCIデバイスがホットアッドされた時にコンフィグリード命令の発行指示やFW403へホットアッドの割り込みの報告を行うホットアッド制御回路412を持つ。また、PCIスロット405からはPCIバスとは別に、PCIスロット405上の電確信号420がホットアッド制御回路412に接続される。
図5は、図4に示したシステムに用いられるPCI制御回路410の詳細な構成図である。
図5に示したPCI制御回路については基本的に図2に示したPCI制御回路と変わらない。図5において、PCI制御回路410は、PCIスロット405上のPCIデバイスに対して命令の発行および受信の制御を行うPCIバス制御回路501と、PCIデバイスに対してプラットフォーム固有機能のサポートを設定するためのモードレジスタ502とからなる。
さらにPCIバス制御回路501内には、コンフィグリード命令発行回路411からコンフィグリード命令の発行要求中はプロセッサ401からPCIスロット405上のPCIデバイスに発行されたコンフィグアクセス命令をPCIバスには発行せず、リトライとしてプロセッサ401に返却を制御するコンフィグアクセスリトライ制御回路503を持つ。
図6は、図4に示したシステムに用いられるホットアッド制御回路412の詳細な構成図である。
図6において、ホットアッド制御回路412は、FW403にホットアッドを報告するために割り込みを行う割り込み制御回路601と、PCIスロット405からの電確信号420によりPCIスロット405上にPCIデバイスがホットアッドされたことを検出するホットアッド検出回路602からなる。
以上詳細に実施形態の構成を述べたが、図4のプロセッサ401、NB402、およびSB404内の他機能については、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
なお、上記実施形態では、図1のSB404に接続されるPCIスロット405の数を1つとして説明しているが、本発明はこれに限定されるものではなく、それ以上のスロット数の構成であってもよい。その場合は、図1のSB404が持つホットアッド制御回路412とPCI制御回路410内のモードレジスタ502をスロット数分持つことで構成可能となる。
〔動作の説明〕
図4のシステム構成図および図5、図6のサウスブリッジ内の各制御回路図の動作を説明する。
システムが動作中にSB404に接続されたPCIスロット405に対してPCIデバイスがホットアッドされると、電確信号420によりSB404に報告される。
電確信号420によりホットアッドが報告されたSB404は、ホットアッド制御回路412内のホットアッド検出回路602によりPCIスロット405へのPCIデバイスのホットアッドを認識する。
ホットアッドを検出すると、ホットアッド検出回路602から割り込み制御回路601に報告され、FW403に対してPCIスロット405にPCIデバイスがホットアッドされたことを報告するための割り込みを行う。
PCIスロット405にPCIデバイスのホットアッドを認識したFW403は、SB404内のコンフィグリード命令発行回路411に対して、PCIスロット405上のPCIデバイスのVIDとDIDとを読み出すためのコンフィグリード命令を指示して、コンフィグリード命令発行回路411はPCI制御回路410内のPCIバス制御回路501に対してコンフィグリード命令の発行要求を行う。
コンフィグリード命令の発行要求を受け取ったPCIバス制御回路501は、プロセッサ401からPCIスロット405上のPCIデバイスに対してコンフィグアクセス命令が発行されるのを待ち合わせる。PCIスロット405にPCIデバイスがホットアッドされると、PCIのホットプラグコントローラからプロセッサ401に割り込みを行うことで、OSやホットプラグドライバーに対してPCIスロット405にPCIデバイスがホットアッドされたことが通知される。
ホットアッドが通知されるとOSおよびホットプラグドライバーはPCIスロット405上のPCIデバイスをシステムに組み込むために、NB402やSB404およびPCIスロット405上のPCIデバイスに設定を行う。
OSやホットプラグドライバーの設定によりPCIスロット405上のPCIデバイスにコンフィグアクセスが発行可能な状態になると、プロセッサ401からPCIスロット405上のPCIデバイスにコンフィグアクセスが発行される。経路上であるSB404内のPCIバス制御回路501は、プロセッサ401からPCIスロット405上のPCIデバイスへのコンフィグアクセスを受信することでPCIスロット405上のPCIデバイスへのコンフィグアクセスが発行可能な状態になったことを認識できる。
よって、PCIバス制御回路501はコンフィグリード命令発行回路411よりコンフィグリード命令の発行要求があるため、コンフィグアクセスリトライ制御回路503により、プロセッサ401からのコンフィグアクセスはPCIバスに発行しないで、プロセッサ401に再発行指示としてリトライレスポンスを返却して、コンフィグリード命令発行回路411からのPCIスロット405上のPCIデバイス のVID/DIDを読み出すためのコンフィグリード命令をPCIバスへ発行する。
コンフィグリード命令発行回路411からPCIスロット405上のPCIデバイスへのコンフィグリード命令を発行中に、再度プロセッサ401からリトライが返却されたコンフィグアクセスが再発行されてくるが、コンフィグリード命令発行回路411からのコンフィグリード命令を処理中であるため、コンフィグアクセスリトライ制御回路503により再度リトライレスポンスがプロセッサ401に返却され、コンフィグリード命令発行回路411からのコンフィグリード命令の処理が完了するまで継続される。
コンフィグリード命令発行回路411からのコンフィグリード命令に対して、PCIスロット405上のPCIデバイスからリプライデータが返却されると、PCIバス制御回路501はコンフィグリード命令発行回路411にリプライデータを出力して、コンフィグアクセスリトライ制御回路503に対してプロセッサ401からPCIスロット405上のPCIデバイスへのコンフィグアクセスのリトライ処理を停止させる。その後に受け付けたプロセッサ401からPCIスロット405上のPCIデバイスへのコンフィグアクセスは、正常にPCIバスへ出力されPCIスロット405上のPCIデバイスに発行される。コンフィグリード命令発行回路411は、そのままリプライデータを、コンフィグリード命令を発行指示したFW403にフォワードする。
FW403は、リプライデータ内のベンダーIDやデバイス IDの情報によりホットアッドされたPCIデバイスの種類を認識する。FW403は認識したPCIデバイスの種類により、プラットフォーム固有機能のサポートの可否や、サポート内容を決定して、SB403のPCI 制御回路410内に持つモードレジスタ502に対してサポート機能のモードを設定する。モードの設定後は、PCIスロット405にホットアッドされたPCIデバイスに対してプラットフォーム固有機能のサポートが可能となる。
〔効果の説明〕
以上説明したように、本発明においては、以下に記載するような効果を奏する。
第1の効果は、サウスブリッジから直接ファームウェアにPCIデバイスのホットアッドを報告することにより、OSやオープンなホットプラグドライバーを修正することなく、ホットアッドにより動作中に追加されたPCIデバイスに対してプラットフォーム固有の機能をサポートできる。
第2の効果は、サウスブリッジ内にホットアッドされたPCIデバイスのベンダーIDやデバイスIDを自動で読み出すことにより、ファームウェアは直接PCIデバイスにアクセスすることなくサウスブリッジ内の情報を参照するだけでプラットフォーム固有の機能のモード設定値を決定することができる。
第3の効果は、プロセッサからのコンフィグアクセス命令までPCIデバイスへのコンフィグリード命令発行を待ち合わせることにより、PCIデバイスに対してコンフィグアクセスが可能な状態と確信できてからコンフィグリード命令が発行できる。
第4の効果は、プロセッサからのコンフィグアクセス命令をサウスブリッジからのコンフィグリード命令が完了するまでリトライすることにより、ホットアッドされたPCIデバイスがコンフィグアクセス命令を1つしか処理できないレガシーなPCIデバイスであっても対応できる。
なお、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
本発明に係るPCIバスを有するシステムの一実施の形態を示すブロック図である。 図1に示したシステムに用いられるPCI制御回路110の詳細な構成図である。 図1に示したシステムに用いられるホットアッド制御回路112の詳細な構成図である。 本発明に係るPCIバスを有するシステムの他の実施の形態を示すブロック図である。 図4に示したシステムに用いられるPCI制御回路410の詳細な構成図である。 図4に示したシステムに用いられるホットアッド制御回路412の詳細な構成図である。 従来のPCIバスを有するシステムのブロック図である。 従来のPCI制御回路のブロック図である。
符号の説明
101 プロセッサ
102 ノースブリッジ(NB)
103 ファームウェア(FW)
104 サウスブリッジ(SB)
105 PCIスロット
110 PCI制御回路
111 コンフィグリード命令発行回路
112 ホットアッド制御回路
120 電確信号

Claims (2)

  1. PCIデバイスのホットプラグにおけるモード設定方法において、PCIバスを持つシステムのサウスブリッジで前記PCIデバイスがシステムへのホットアッド設定の完了したことを前記サウスブリッジが認識してファームウェアへ報告すると共に、前記モード設定に必要なホットアッド対象PCIデバイスのベンダーID及びデバイスIDの情報を前記サウスブリッジがコンフィグリードを発行して前記PCIデバイスから自動で読み出して前記ファームウェアに渡すことで、システムに対してホットアッドされたPCIデバイスに対するプラットフォーム固有のサポート機能のモード設定を可能とし、プロセッサからのコンフィグアクセス命令を前記サウスブリッジが受信するまで前記PCIデバイスへのコンフィグリード命令発行を待ち合わせることで前記プロセッサから発行されたコンフィグアクセスに対してリトライ指示が返却され続けることを特徴とするモード設定方法。
  2. PCIバスと、ファームウェアと、PCIデバイスと、前記PCIデバイスがシステムへのホットアッド設定の完了したことを前記ファームウェアへ報告すると共に、モード設定に必要なホットアッド対象PCIデバイスのベンダーID及びデバイスIDの情報を前記PCIデバイスから自動で読み出すためにコンフィグリートを発行して前記ファームウェアに渡し、前記ホットアッド設定の完了を認識するサウスブリッジと、プロセッサからPCIスロット上のPCIデバイスに対してコンフィグアクセス命令が発行されるのを待ち合わせることで前記プロセッサから発行されたコンフィグアクセスに対してリトライ指示を返却し続けるPCIバス制御回路と、を有することを特徴とするPCIバスを有するシステム。
JP2007059079A 2007-03-08 2007-03-08 Pciデバイスのホットプラグにおけるモード設定方法及びpciバスを有するシステム Active JP4429331B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007059079A JP4429331B2 (ja) 2007-03-08 2007-03-08 Pciデバイスのホットプラグにおけるモード設定方法及びpciバスを有するシステム
US12/042,863 US7814254B2 (en) 2007-03-08 2008-03-05 Mode setting method and system in hot plug of PCI device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007059079A JP4429331B2 (ja) 2007-03-08 2007-03-08 Pciデバイスのホットプラグにおけるモード設定方法及びpciバスを有するシステム

Publications (2)

Publication Number Publication Date
JP2008225577A JP2008225577A (ja) 2008-09-25
JP4429331B2 true JP4429331B2 (ja) 2010-03-10

Family

ID=39742784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007059079A Active JP4429331B2 (ja) 2007-03-08 2007-03-08 Pciデバイスのホットプラグにおけるモード設定方法及びpciバスを有するシステム

Country Status (2)

Country Link
US (1) US7814254B2 (ja)
JP (1) JP4429331B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5573049B2 (ja) * 2009-08-26 2014-08-20 富士ゼロックス株式会社 読取システム、読取装置、制御装置及びプログラム
US8443126B2 (en) * 2010-09-22 2013-05-14 Wilocity, Ltd. Hot plug process in a distributed interconnect bus
CN102625399B (zh) * 2012-03-22 2014-08-13 福州瑞芯微电子有限公司 一种移动平台上快速切换网络制式的方法
US9582366B2 (en) 2014-11-21 2017-02-28 International Business Machines Corporation Detecting and sparing of optical PCIE cable channel attached IO drawer
US9697155B2 (en) 2014-11-21 2017-07-04 International Business Machines Corporation Detecting and configuring of external IO enclosure
US10430366B2 (en) 2016-12-20 2019-10-01 Dell Products L.P. Systems and methods for configuration of hot-inserted device prior to operating system control of device

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098132A (en) * 1996-06-05 2000-08-01 Compaq Computer Corporation Installation and removal of components of a computer
US5930496A (en) 1997-09-26 1999-07-27 Compaq Computer Corporation Computer expansion slot and associated logic for automatically detecting compatibility with an expansion card
US6311242B1 (en) * 1998-08-27 2001-10-30 Apple Computer, Inc. Method and apparatus for supporting dynamic insertion and removal of PCI devices
JP2000259546A (ja) 1999-03-04 2000-09-22 Sony Corp 情報処理装置および情報処理方法、並びに提供媒体
JP3389878B2 (ja) 1999-03-29 2003-03-24 日本電気株式会社 Ideデバイス挿抜装置
JP2001084218A (ja) 1999-09-17 2001-03-30 Hitachi Ltd バスアイソレーション機能を有するコンピュータシステム
JP2001168892A (ja) 1999-12-13 2001-06-22 Casio Comput Co Ltd ネットワーク構築方法
JP2002032324A (ja) 2000-07-17 2002-01-31 Hitachi Ltd Pciバスデバイス接続制御方式
US6928498B2 (en) * 2001-01-31 2005-08-09 Efficient Networks, Inc. System and method for identifying open peripheral component interconnect (PCI) slots
JP2002278913A (ja) 2001-03-21 2002-09-27 Toshiba Corp 情報処理システムおよびその制御方法
JP2002288104A (ja) 2001-03-28 2002-10-04 Nec Corp コンピュータシステム、そのリソース割り当て方法及びプログラム
JP2003046511A (ja) 2001-08-01 2003-02-14 Canon Inc 情報処理装置と情報処理方法、及び情報処理システム、並びに記憶媒体
US7406549B2 (en) * 2003-08-01 2008-07-29 Intel Corporation Support for non-standard device containing operating system data
TWI237765B (en) * 2003-11-03 2005-08-11 Via Tech Inc Adapting device for use in a computer system
US20050160207A1 (en) * 2004-01-16 2005-07-21 Universal Scientific Industrial Co., Ltd. Computing apparatus including a hardware management add-on card
US7246190B2 (en) * 2004-04-21 2007-07-17 Hewlett-Packard Development Company, L.P. Method and apparatus for bringing bus lanes in a computer system using a jumper board
US7058738B2 (en) 2004-04-28 2006-06-06 Microsoft Corporation Configurable PCI express switch which allows multiple CPUs to be connected to multiple I/O devices
US20060129999A1 (en) 2004-11-16 2006-06-15 Sony Computer Entertainment Inc. Methods and apparatus for using bookmarks in a trace buffer
US20070168574A1 (en) * 2005-09-28 2007-07-19 Dell Products L.P. System and method for securing access to general purpose input/output ports in a computer system
JP2008158710A (ja) * 2006-12-22 2008-07-10 Hitachi Ltd 計算機システム

Also Published As

Publication number Publication date
JP2008225577A (ja) 2008-09-25
US20080222335A1 (en) 2008-09-11
US7814254B2 (en) 2010-10-12

Similar Documents

Publication Publication Date Title
JP4429331B2 (ja) Pciデバイスのホットプラグにおけるモード設定方法及びpciバスを有するシステム
US7689751B2 (en) PCI-express system
TW299424B (en) Methods and apparatus for booting a computer having a removable media disk drive
JP4799417B2 (ja) ホストコントローラ
TWI477970B (zh) 電子裝置的模式切換方法與相關的電子裝置
CN105468548B (zh) 串行外围接口的通信
US20120185631A1 (en) Operation method for a computer system
EP3707597B1 (en) Bitwise writing apparatus for system-on-chip system
US7702820B2 (en) Hardware accelerator and data transmission system and method using the same
KR102116096B1 (ko) 다중시스템 및 이의 부팅 방법
EP2730993B1 (en) Reset method and network device
US6301631B1 (en) Memory mapping method for eliminating dual address cycles in a peripheral component interconnect environment
US5606673A (en) Small computer system interface (SCSI) controller
CN112445744A (zh) I2c通信
JP2005275452A (ja) データ転送制御システム
JP2006126938A (ja) データ転送システム及びそのデータ転送方法
JP2006178704A (ja) 複数の機能を有する装置、及び当該装置と接続可能な上位装置
US20230418769A1 (en) Event trigger master, control chip and control method thereof
JP2017102887A (ja) 情報処理装置、起動方法および起動プログラム
JP5227601B2 (ja) 制御システム
JP2010166309A (ja) 光データリンク
JP2006350881A (ja) メモリーカード制御装置およびメモリーカード制御システム
JP4499909B2 (ja) 多重化記憶制御装置
JP2000187621A (ja) Scsi制御装置
JPH10198524A (ja) ハードディスク制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090729

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090916

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091215

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

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4429331

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131225

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350