JP2009223805A - 情報処理装置およびデバイスコントローラの駆動制御方法 - Google Patents

情報処理装置およびデバイスコントローラの駆動制御方法 Download PDF

Info

Publication number
JP2009223805A
JP2009223805A JP2008070049A JP2008070049A JP2009223805A JP 2009223805 A JP2009223805 A JP 2009223805A JP 2008070049 A JP2008070049 A JP 2008070049A JP 2008070049 A JP2008070049 A JP 2008070049A JP 2009223805 A JP2009223805 A JP 2009223805A
Authority
JP
Japan
Prior art keywords
usb
device controller
communication
register
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008070049A
Other languages
English (en)
Other versions
JP4482044B2 (ja
Inventor
Terunobu Hara
輝信 原
Takeshi Hatano
健 波多野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008070049A priority Critical patent/JP4482044B2/ja
Priority to US12/389,184 priority patent/US7945919B2/en
Publication of JP2009223805A publication Critical patent/JP2009223805A/ja
Application granted granted Critical
Publication of JP4482044B2 publication Critical patent/JP4482044B2/ja
Expired - Fee Related 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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】同一のUSBコントローラに対するBIOSおよびUSBドライバによる適切な駆動制御を実現する情報処理装置を提供する。
【解決手段】USBドライバ101は、USBデバイス2との通信が必要となると、システムメモリ13上に確保した領域に通信制御用のデータ構造体を構成し、USBコントローラ14を一旦停止させ、USBコントローラ14のレジスタ14Aに、上記構成したデータ構造体を参照するためのアドレスを設定した上で、USBコントローラ14を再起動させる。USBドライバ101は、1回分の通信が終了すると、再度USBコントローラ14を停止させ、USBコントローラ14のレジスタ14Aを(システムBIOS12が設定した)元の状態に復元した上で、USBコントローラ14を再起動させる。
【選択図】図1

Description

この発明は、例えばUSB(Universal Serial Bus)コネクタを備えるパーソナルコンピュータに適用して好適な、前記USBコネクタを介して接続されるUSBデバイスとの通信を実行するUSBコントローラの駆動制御技術に関する。
近年、バッテリ駆動可能で携行容易なノートブックタイプのパーソナルコンピュータが広く普及している。この種のコンピュータでは、例えばUSBコネクタを複数備え、必要に応じて、様々なデバイス(USBデバイス)を接続して利用できるように構成されるのが一般的である。
換言すれば、基本的なリソースのみを搭載することにより、コンピュータ本体の小型軽量化が図られている。そして、これらのリソースを有効活用するための提案が、これまで種々なされている(例えば特許文献1等参照)。
特開2001−175463号公報
USBコネクタを介して接続されるUSBデバイスとの通信は、(コンピュータ本体にUSBデバイスが内蔵される場合は、この内蔵USBデバイスとの通信を含めて)USBコントローラによって実行される。そして、このUSBコントローラの駆動制御は、オペレーティングシステム(OS)の起動前には、BIOS(Basic Input/Output System:基本入出力システム)によって司られる。
これに対して、特殊な機能を備えるが故に特殊な通信が必要なUSBデバイスとの通信をUSBコントローラに行わせる場合には、当該USBコントローラを、BIOSとは別途用意したUSBドライバによって駆動制御する。よって、通常のUSBデバイスと特殊なUSBデバイスとが、同一のUSBコントローラ配下に存在する場合には、この1つのUSBコントローラをBIOSとUSBドライバとで個別に制御することが行われることとなる。
USBデバイスとの通信をUSBコントローラに行わせるためには、フレームリスト、キューヘッド、トランスファデスクリプタ、データ転送用バッファからなる通信制御用のデータ構造体をシステムメモリ上に構成する必要がある。そして、これまでは、前述のように1つのUSBコントローラをBIOSとUSBドライバとで個別に制御する場合、USBドライバは、当該データ構造体のエントリー部をなすフレームリストはBIOSが用意したものを流用し、キューヘッド、トランスファデスクリプタ、データ転送用バッファのみを独自に用意していた。
そのため、BIOSが用意したフレームリストがBIOSの予期しないタイミングで上書きされることが発生し得る。そこで、双方の動作に支障をきたすことがないように、USBドライバの動作中にはBIOSによるフレームリストの更新を停止させておくことが行われている。
しかしながら、そうすると、USBドライバの動作が終了するまでは、実際にUSBデバイスとの通信を行っているかどうかに関係なく、BIOSは、USBコントローラを使用してUSBデバイスとの通信を行うことができなくなってしまう。従って、USBドライバが動作中もBIOSの制御が必要なUSBデバイスは、USBドライバが制御するUSBコントローラとは別のUSBコントローラに接続しなければならないという制限があった。
この発明は、このような事情を考慮してなされたものであり、同一のUSBコントローラに対するBIOSおよびUSBドライバによる適切な駆動制御を実現する情報処理装置およびデバイスコントローラの駆動制御方法を提供することを目的とする。
前述の目的を達成するために、この発明の情報処理装置は、システムメモリと、前記システムメモリ上のアドレスが設定されるレジスタを備え、前記システムメモリ上に構成される通信制御用のデータ構造体を前記レジスタに設定されたアドレスを基に参照しながら外部接続される各種デバイスとの通信を実行するデバイスコントローラと、前記通信制御用のデータ構造体を前記システムメモリ上に構成し、このデータ構造体を参照するためのアドレスを前記デバイスコントローラの前記レジスタに設定して、前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させる基本入出力システムと、前記通信制御用のデータ構造体を前記基本入出力システムとは別に前記システムメモリ上に独自に構成し、前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させる場合、前記デバイスコントローラの前記レジスタに設定されているアドレスを退避し、独自に構成したデータ構造体を参照するためのアドレスを前記デバイスコントローラの前記レジスタに設定して、前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させ、その終了後、前記退避したアドレスを前記デバイスコントローラの前記レジスタに再設定するデバイスドライバと、を具備することを特徴とする。
また、この発明のデバイスコントローラの駆動制御方法は、システムメモリと、前記システムメモリ上のアドレスが設定されるレジスタを備え、前記システムメモリ上に構成される通信制御用のデータ構造体を前記レジスタに設定されたアドレスを基に参照しながら外部接続される各種デバイスとの通信を実行するデバイスコントローラと、前記通信制御用のデータ構造体を前記システムメモリ上に構成し、このデータ構造体を参照するためのアドレスを前記デバイスコントローラの前記レジスタに設定して、前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させる基本入出力システムとを具備するコンピュータにおける前記デバイスコントローラの駆動制御方法であって、前記コンピュータ上で動作する、前記基本入出力システムとは別に前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させるデバイスドライバが、前記通信制御用のデータ構造体を前記基本入出力システムとは別に前記システムメモリ上に独自に構成し、前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させる場合、前記デバイスコントローラの前記レジスタに設定されているアドレスを退避し、独自に構成したデータ構造体を参照するためのアドレスを前記デバイスコントローラの前記レジスタに設定して、前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させ、その終了後、前記退避したアドレスを前記デバイスコントローラの前記レジスタに再設定する、ことを特徴とする。
この発明によれば、同一のUSBコントローラに対するBIOSおよびUSBドライバによる適切な駆動制御を実現する情報処理装置およびデバイスコントローラの駆動制御方法を提供することができる。
以下、図面を参照して本発明の一実施形態を説明する。
図1は、本実施形態に係る情報処理装置の概略構成を示す図である。この情報処理装置1は、例えばバッテリ駆動可能で携行容易なノートブックタイプのパーソナルコンピュータとして実現されている。
本情報処理装置1は、図1に示すように、CPU11、システムBIOS12、システムメモリ13、USBコントローラ14等を備えている。また、必要に応じて、種々のUSBデバイス2がUSBポート14Bに接続される。
CPU11は、本情報処理装置の動作を制御するプロセッサであり、システムメモリ13にロードされたオペレーティングシステム、ユーティリティ、アプリケーション等の各種プログラムを実行する。各種プログラムの1つとして、USBポート14Bに接続されたUSBデバイス2との通信を行わせるべくUSBコントローラ14を制御するためのUSBドライバ101が存在する。
また、CPU11は、システムBIOS12も実行する。システムBIOS12は、ハードウェア制御のためのプログラムであり、USBコントローラ14を制御して、USBポート14Bに接続されたUSBデバイス2との通信を行う機能を有している。
つまり、本情報処理装置1では、USBコントローラ14を制御して、USBポート14Bに接続されたUSBデバイス2との通信を行う機能が、システムBIOS12とUSBドライバ101との2カ所に設けられている。これは、USBデバイス2には沢山の種類があり、システムBIOS12ですべてのUSBデバイス2に対応することは不可能であるためである。そこで、システムBIOS12が対応できないUSBデバイス2との通信を行う際に、USBドライバ101が併用されることになる。
そして、USBコントローラ14は、システムBIOS12またはUSBドライバ101の制御下において、USBポート14Bに接続されたUSBデバイス2との通信を実行する。システムBIOS12またはUSBドライバ101の指示を入力するために、USBコントローラ14は、レジスタ14Aを備えている。このレジスタ14Aに、後述するフレームリストアドレス104が設定される。
一方、このUSBコントローラ14に対して、USBポート14Bに接続されたUSBデバイス2との通信を実行させるために、システムBIOS12およびUSBドライバ101のそれぞれは、通信制御用のデータ構造体を構成するための領域をシステムメモリ13上に確保する(図1の102,103)。そして、システムBIOS12およびUSBドライバ101は、このデータ構造体を参照するためのアドレス、具体的には、前述のフレームリストアドレス104をレジスタ14Aに設定する。
図2を参照して、このデータ構造体の構成、および、このデータ構造体がUSBコントローラ14からどのように参照されるかについて説明する。
図2に示すように、通信制御用のデータ構造体は、フレームリスト105、キューヘッド106、トランスファデスクリプタ107、データ転送用バッファ108によって構成される。
フレームリスト105は、USBコントローラ14に処理させるキューヘッド106のアドレスを設定するリストである。キューヘッド106は、USBコントローラ14に処理させるトランスファデスクリプタ107のアドレスを設定する領域である。トランスファデスクリプタ107は、通信を行いたいUSBデバイス2に関する情報や通信対象としたいデータ転送用バッファ108上のデータのアドレスを設定する領域である。
そして、USBコントローラ14は、レジスタ14Aに設定されたフレームリストアドレス104を基に、フレームリスト105、キューヘッド106、トランスファデスクリプタ107、データ転送用バッファ108を順に参照して、USBデバイス2との通信を実行する。
図3は、USBコントローラ14の機能ブロックを示す図である。ここでは、1つのUSBコントローラ14が最大8台のUSBデバイス2との通信を並行して実行する場合を想定する。
コンピュータ本体と周辺機器との間のインターフェース規格であるUSBには、1.5Mbpsまたは12Mbpsのデータ転送レートで通信可能なUSB1.1と、このUSB1.1の上位規格であって、さらに480Mbpsのデータ転送レートで通信可能なUSB2.0が存在する。そのため、USBコントローラ14は、USB2.0規格に準拠した通信を制御するUSB2.0コントロール部141と、USB1.1規格に準拠した通信を制御するUSB1.1コントロール部142とを併せ持っている。
USBポート14Bを介して接続されるUSBデバイス2が、USB1.1規格に準拠した通信を行うものであった場合、当該USBデバイス2との間の通信は、USB1.1コントロール部142のみによって実行される。一方、USB2.0規格に準拠した通信を行うUSBデバイス2の場合、USB1.1コントロール部142は、その処理をUSB2.0コントロール部141に依頼し、この依頼を受けたUSB2.0コントロール部141は、USB1.1コントロール部142経由で当該USBデバイス2との間の通信を実行する。
そして、この場合のように、複数台のUSBデバイス2との通信を並行して実行させることを前提として、USBコントローラ14には、通常、2つのUSBデバイス2に対して1つのUSB1.1コントロール部142が設けられ(図3の(A))、または、4つのUSBデバイス2に対して1つのUSB1.1コントロール部142が設けられる(図3の(B))。なお、USB2.0コントロール部141は、いずれの場合も各USBコントローラ14に1つ設けられるのが一般的である。
ここで、システムBIOS12が対応可能なUSBデバイス2と、システムBIOS12が対応不可能なUSBデバイス2、即ち、USBドライバ101によって対応させるUSBデバイス2とを混在させてUSBポート14Bに接続する場合を考える。
前述したように、USBコントローラ14は、レジスタ14Aに設定されたフレームリストアドレス104を基に、フレームリスト105、キューヘッド106、トランスファデスクリプタ107、データ転送用バッファ108によって構成されるデータ構造体を参照して、USBデバイス2との通信を実行する。そのため、従来のように、システムBIOS12が用意したフレームリスト105をUSBドライバ101が流用する場合、当該USBドライバ101の動作中は、システムBIOS12がUSBコントローラ14を制御してUSBデバイス2との通信を実行することを制限する必要がある。よって、USBドライバ101の動作中もシステムBIOS12が対応するUSBデバイス2との通信を行う必要がある場合には、互いに異なるUSBコントローラ14に接続しなければならなくなる。即ち、図3に示すように、1つのUSBコントローラ14で最大8台のUSBデバイス2を制御できるにも関わらず、また、仮に、USBポート14Bに空きがあったとしても、もう1つUSBコントローラ14を別途追加して搭載しなければならない。
そこで、本情報処理装置1は、同一のUSBコントローラ14に対するシステムBIOS12およびUSBドライバ101による適切な駆動制御を実現する仕組みを備えたものであり、以下、この点について詳述する。
図4は、システムBIOS12およびUSBドライバ101のそれぞれが、システムメモリ13上に確保する領域の内訳を示す図であり、(A)には、本情報処理装置1においてシステムメモリ13上に確保される領域の内訳、また、(B)には、従来においてシステムメモリ13上に確保される領域の内訳がそれぞれ示されている。
まず、図4(B)を参照して、従来においてシステムメモリ13上に確保される領域の内訳を説明すると、USBドライバ101は、自身が確保した領域103に、キューヘッド106、トランスファデスクリプタ107、データ転送用バッファ108を用意するものの、フレームリスト105は、システムBIOS12が用意したものを流用する(図4(B)のa1)。
USBドライバ101は、少なくとも1つのUSBデバイス2との間で通信を開始する時、システムBIOS12によるフレームリスト105の設定内容を、自身が確保した領域103のその他ワークに退避し、すべてのUSBデバイス2との通信を終了する時、この退避した設定内容をフレームリスト105に復元する。この場合、システムメモリ13上でのデータ書き換えだけで済み、USBコントローラ14が備えるレジスタ14Aに設定されたフレームリストアドレス104の更新を行う必要はないが、USBドライバ101の動作開始から動作終了まで、システムBIOS12が対応するUSBデバイス2との通信は一切行うことができなくなる。
例えば、指紋を読み取ってユーザを認証するための(USBドライバ101対応の)USBデバイス2を使用する場合、当該USBデバイス2との間で、読み取った指紋のイメージデータが数十回乃至数百回に分けて送受信されるとすると、そのすべての送受信が終了するまで、システムBIOS12対応のUSBデバイス2はまったく使用できない状態となってしまう。
次に、図4(A)を参照して、本情報処理装置1においてシステムメモリ13上に確保される領域の内訳を説明すると、USBドライバ101は、キューヘッド106、トランスファデスクリプタ107、データ転送用バッファ108に加えて、フレームリスト105も、自身が確保した領域103に独自に用意する(図4(B)のa2)。
このフレームリスト105をUSBコントローラ14に参照させるためには、USBコントローラ14が備えるレジスタ14Aに当該フレームリストのアドレスを設定する必要がある。そのために、本情報処理装置1のUSBドライバ101は、動作開始時、USBコントローラ14を一旦停止させ、レジスタ14Aの設定内容を、自身が確保した領域103のその他ワークに退避し、その上で、当該フレームリストのアドレスを、USBコントローラ14のレジスタ14Aに設定する。そして、USBドライバ101は、停止させていたUSBコントローラ14を再起動する。その結果、USBコントローラ14は、USBドライバ101の意図する通信をUSBデバイス2との間で実行することになる。
また、USBドライバ101は、USBドライバ2との通信が終了したかを各回のデータ転送毎にチェックし、終了したら、再度USBコントローラ14を停止させ、自身が確保した領域103のその他ワークに退避した設定内容を、USBコントローラ14のレジスタ14Aに復元する。そして、USBドライバ101は、停止させていたUSBコントローラ14を再起動する。その結果、USBコントローラ14は、システムBIOS12の意図する通信をUSBデバイス2との間で再開することになる。
その後、USBドライバ101は、USBデバイス2との通信が必要となる度に、上記の処理、即ち、USBコントローラ14の停止→レジスタ14Aの更新→USBコントローラ14の再起動→USBコントローラ14の停止→レジスタ14Aの復元→USBコントローラ14の再起動、を繰り返す。そして、すべてのUSBデバイス2との通信を終了した時、自身の処理を終了する。
このように、本情報処理装置1では、USBドライバ101が、フレームリスト105を独自に用意し、かつ、当該フレームリスト105を適宜にUSBコントローラ14に参照させるべく動作することにより、当該USBドライバ101の動作開始後、その動作終了を待機することなく、システムBIOS12が対応するUSBデバイス2との通信が可能となる。よって、USBドライバ101の動作中もシステムBIOS12が対応するUSBデバイス2との通信を行う必要がある場合においても、USBコントローラ14を別途追加して搭載するといったことは不要となる。
図5は、本情報処理装置1におけるUSBドライバ101の動作手順を示すフローチャートである。
USBドライバ101は、USBデバイス2との通信が必要となると(ステップA1のYES)、まず、システムメモリ13上に確保した領域に通信制御用のデータ構造体を構成することにより、通信内容を設定する(ステップA2)。
次に、USBドライバ101は、USBコントローラ14を一旦停止させ(ステップA3)、USBコントローラ14が備えるレジスタ14Aを更新して、当該USBコントローラ14が使用するフレームリストをシステムBIOS12用から自分用(USBドライバ101用)へと切換える(ステップA4)。そして、この切換え後、USBドライバ101は、停止させていたUSBコントローラ14を再起動させる(ステップA5)。その結果、目的のUSBデバイス2との通信が開始される(ステップA6)。
この通信が終了すると(ステップA7のYES)、USBドライバ101は、再度USBコントローラ14を停止させ(ステップA8)、USBコントローラ14が備えるレジスタ14Aを更新して、当該USBコントローラ14が使用するフレームリストをシステムBIOS12用へと復帰させ(ステップA9)、停止させていたUSBコントローラ14を再起動させる(ステップA10)。
USBドライバ101は、すべてのUSBデバイス2との通信が終了したかを調べ(ステップA11)、終了していなければ(ステップA11のNO)、ステップA1〜ステップA10の動作を繰り返す。一方、終了していたら(ステップA11のYES)、USBドライバ101は、自身の処理を終了する。
以上のように、本情報処理装置1は、同一のUSBコントローラ14に対するシステムBIOS12およびUSBドライバ101による適切な駆動制御を実現する。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
この発明の一実施形態に係る情報処理装置の概略構成を示す図 同実施形態の情報処理装置で使用される通信制御用のデータ構造体の構成および当該データ構造体の参照手順を説明するための図 同実施形態の情報処理装置が搭載するUSBコントローラの機能ブロックを示す図 同実施形態の情報処理装置上で動作するシステムBIOSおよびUSBドライバのそれぞれがシステムメモリ上に確保する領域の内訳を示す図 同実施形態の情報処理装置におけるUSBドライバの動作手順を示すフローチャート
符号の説明
1…情報処理装置、2…USBデバイス、11…CPU、12…システムBIOS、13…システムメモリ、14…USBコントローラ、14A…レジスタ、14B…USBポート、101…USBドライバ、104…フレームリストアドレス、105…フレームリスト、106…キューヘッド、107…トランスファデスクリプタ、108…データ転送用バッファ、141…USB2.0コントロール部、142…USB1.1コントロール部。

Claims (5)

  1. システムメモリと、
    前記システムメモリ上のアドレスが設定されるレジスタを備え、前記システムメモリ上に構成される通信制御用のデータ構造体を前記レジスタに設定されたアドレスを基に参照しながら外部接続される各種デバイスとの通信を実行するデバイスコントローラと、
    前記通信制御用のデータ構造体を前記システムメモリ上に構成し、このデータ構造体を参照するためのアドレスを前記デバイスコントローラの前記レジスタに設定して、前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させる基本入出力システムと、
    前記通信制御用のデータ構造体を前記基本入出力システムとは別に前記システムメモリ上に独自に構成し、前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させる場合、前記デバイスコントローラの前記レジスタに設定されているアドレスを退避し、独自に構成したデータ構造体を参照するためのアドレスを前記デバイスコントローラの前記レジスタに設定して、前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させ、その終了後、前記退避したアドレスを前記デバイスコントローラの前記レジスタに再設定するデバイスドライバと、
    を具備することを特徴とする情報処理装置。
  2. 前記デバイスドライバは、前記デバイスコントローラの前記レジスタにアドレスを設定する場合、前記デバイスコントローラを停止させ、その設定後、再稼働させることを特徴とする請求項1記載の情報処理装置。
  3. 前記デバイスドライバは、独自に構成したデータ構造体によって指示した少なくとも1回以上の前記外部接続される各種デバイスとの通信が1回終了する毎に、前記デバイスコントローラを前記基本入出力システム配下に復帰させるべく、前記退避したアドレスを前記デバイスコントローラの前記レジスタに再設定することを特徴とする請求項1記載の情報処理装置。
  4. 前記デバイスコントローラは、USB(Universal Serial Bus)規格に準拠した通信手順で前記外部接続される各種デバイスとの通信を実行することを特徴とする請求項1記載の情報処理装置。
  5. システムメモリと、前記システムメモリ上のアドレスが設定されるレジスタを備え、前記システムメモリ上に構成される通信制御用のデータ構造体を前記レジスタに設定されたアドレスを基に参照しながら外部接続される各種デバイスとの通信を実行するデバイスコントローラと、前記通信制御用のデータ構造体を前記システムメモリ上に構成し、このデータ構造体を参照するためのアドレスを前記デバイスコントローラの前記レジスタに設定して、前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させる基本入出力システムとを具備するコンピュータにおける前記デバイスコントローラの駆動制御方法であって、
    前記コンピュータ上で動作する、前記基本入出力システムとは別に前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させるデバイスドライバが、
    前記通信制御用のデータ構造体を前記基本入出力システムとは別に前記システムメモリ上に独自に構成し、
    前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させる場合、前記デバイスコントローラの前記レジスタに設定されているアドレスを退避し、独自に構成したデータ構造体を参照するためのアドレスを前記デバイスコントローラの前記レジスタに設定して、前記外部接続される各種デバイスとの通信を前記デバイスコントローラに実行させ、その終了後、前記退避したアドレスを前記デバイスコントローラの前記レジスタに再設定する、
    ことを特徴とするデバイスコントローラの駆動制御方法。
JP2008070049A 2008-03-18 2008-03-18 情報処理装置およびデバイスコントローラの駆動制御方法 Expired - Fee Related JP4482044B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008070049A JP4482044B2 (ja) 2008-03-18 2008-03-18 情報処理装置およびデバイスコントローラの駆動制御方法
US12/389,184 US7945919B2 (en) 2008-03-18 2009-02-19 Information processing apparatus and device controller driving/controlling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008070049A JP4482044B2 (ja) 2008-03-18 2008-03-18 情報処理装置およびデバイスコントローラの駆動制御方法

Publications (2)

Publication Number Publication Date
JP2009223805A true JP2009223805A (ja) 2009-10-01
JP4482044B2 JP4482044B2 (ja) 2010-06-16

Family

ID=41090166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008070049A Expired - Fee Related JP4482044B2 (ja) 2008-03-18 2008-03-18 情報処理装置およびデバイスコントローラの駆動制御方法

Country Status (2)

Country Link
US (1) US7945919B2 (ja)
JP (1) JP4482044B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060053274A (ko) * 2004-10-13 2006-05-19 조배수 클라이언트의 오류 복구 시스템 및 방법
CN103955414A (zh) * 2014-04-24 2014-07-30 深圳市道通科技有限公司 USB Host故障自恢复的方法及装置
JP6693210B2 (ja) * 2016-03-24 2020-05-13 日本電気株式会社 通信処理システム、通信処理方法、通信処理装置、通信管理装置およびそれらの制御方法と制御プログラム
US10430355B1 (en) 2018-10-30 2019-10-01 International Business Machines Corporation Mixing restartable and non-restartable requests with performance enhancements

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04163621A (ja) 1990-10-29 1992-06-09 Toshiba Corp メモリ切替え制御方式
JP2882426B2 (ja) 1991-03-29 1999-04-12 株式会社アドバンテスト アドレス発生装置
JPH06103188A (ja) 1992-09-17 1994-04-15 Toshiba Corp パーソナルコンピュータ
JP3302841B2 (ja) 1994-01-31 2002-07-15 株式会社東芝 コンピュータシステム
JPH0836485A (ja) 1994-05-17 1996-02-06 Seiko Epson Corp 情報処理装置及び情報処理装置の制御方法
US5910180A (en) * 1995-11-21 1999-06-08 Diamond Multimedia Systems, Inc. Context virtualizing device driver architecture
US6009476A (en) * 1995-11-21 1999-12-28 Diamond Multimedia Systems, Inc. Device driver architecture supporting emulation environment
JPH10133914A (ja) 1996-11-01 1998-05-22 Nippon Steel Corp 計算機システム及びデバイス入出力シミュレータ
US6070204A (en) * 1998-01-06 2000-05-30 Intel Corporation Method and apparatus for using universal serial bus keyboard to control DOS operations
JPH11194847A (ja) 1998-01-06 1999-07-21 Toshiba Corp コンピュータシステムおよび初期化制御装置
US6085265A (en) * 1998-01-09 2000-07-04 Toshiba America Information Systems, Inc. System for handling an asynchronous interrupt a universal serial bus device
US6292855B1 (en) * 1998-12-18 2001-09-18 Lsi Logic Corporation Method to allow hardware configurable data structures
US6895588B1 (en) * 1999-04-09 2005-05-17 Sun Microsystems, Inc. Remote device access over a network
JP2001092646A (ja) 1999-09-27 2001-04-06 Hitachi Kokusai Electric Inc デバイスドライバ切替システム
TW455806B (en) * 1999-12-03 2001-09-21 Inventec Corp Method for supporting USB input devices through BIOS
JP2001175463A (ja) 1999-12-16 2001-06-29 Matsushita Electric Ind Co Ltd コンピュータ装置
JP4039794B2 (ja) 2000-08-18 2008-01-30 富士通株式会社 マルチパス計算機システム
AU2002258358A1 (en) * 2000-10-27 2002-09-04 Softconnex Technologies Automatic embedded host configuration system and method
US6813688B2 (en) * 2000-12-04 2004-11-02 Sun Microsystems, Inc. System and method for efficient data mirroring in a pair of storage devices
US6772266B2 (en) * 2001-06-29 2004-08-03 Intel Corporation Detecting transfer of universal serial bus (USB) host controller information from operating system drivers to basic input output system (BIOS)
KR20040062289A (ko) 2003-01-02 2004-07-07 삼성전자주식회사 휴대용 컴퓨터 및 그 제어방법
JP2005275961A (ja) 2004-03-25 2005-10-06 Brother Ind Ltd 情報処理装置、情報処理方法、記録媒体及び情報処理プログラム
US7802022B2 (en) * 2004-04-29 2010-09-21 Microsoft Corporation Generic USB drivers
DE102004057756B4 (de) * 2004-11-30 2009-08-06 Advanced Micro Devices Inc., Sunnyvale USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
JP2006215812A (ja) 2005-02-03 2006-08-17 Renesas Technology Corp Dmaコントローラ
JP2007219711A (ja) 2006-02-15 2007-08-30 Silex Technology Inc リモートデバイス制御プログラム
JP2007287020A (ja) 2006-04-19 2007-11-01 Toshiba Corp 動作モード制御方法
JP2007304448A (ja) 2006-05-13 2007-11-22 Sharp Corp 表示装置、方法およびプログラム
JP2008027379A (ja) 2006-07-25 2008-02-07 Hitachi Omron Terminal Solutions Corp ホスト装置

Also Published As

Publication number Publication date
US7945919B2 (en) 2011-05-17
US20090241132A1 (en) 2009-09-24
JP4482044B2 (ja) 2010-06-16

Similar Documents

Publication Publication Date Title
KR101295447B1 (ko) 운영 시스템 초기화 동안 코드를 실행하기 위한 시스템
US9600369B2 (en) Operating system recovery method and apparatus, and terminal device
US9454397B2 (en) Data processing systems
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
JP2001100983A (ja) コンピュータの制御方法、コンピュータ及び記録媒体
KR101673299B1 (ko) 운영 시스템 복구 방법 및 장치, 그리고 단말기기
US20070067506A1 (en) Multimedia program download control system and method of apparatus equipped with multimedia processor
JP2008287505A (ja) 情報処理装置およびレガシーエミュレーション処理停止制御方法
TW201015437A (en) Mother board system, storage device for booting up thereof and connector
JP4482044B2 (ja) 情報処理装置およびデバイスコントローラの駆動制御方法
JP2006351013A (ja) 電子装置において保存/リストア手順を行なうための方法及びシステム
JP2016179801A (ja) 車載システム
JP2006268377A (ja) プログラム起動制御装置及びプログラム起動制御方法
JP5864529B2 (ja) 仮想計算機システム、仮想計算機システム制御方法、及び仮想計算機システム制御プログラム
CN109189705B (zh) 一种usb扩展方法、装置、设备、存储介质及系统
CN114661368A (zh) 一种芯片及其启动方法
CN110688235A (zh) Uefi固件与os间共享无线连接信息的系统及方法
JP2007328534A (ja) 情報処理装置および情報処理装置の制御方法
US7680909B2 (en) Method for configuration of a processing unit
JP2000227907A (ja) リブート制御装置およびリブート制御方法
US8316362B2 (en) Method for updating a program section
JP2008015725A (ja) 情報処理装置およびプログラム起動方法
CN107066277B (zh) 一种基于串口更新通用唯一识别码的方法
WO2022249240A1 (ja) 起動システム及び起動方法
JP6940283B2 (ja) Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091020

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

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees