JP2002526823A - 周辺リソース構成のためのacpiソース言語の自動生成 - Google Patents

周辺リソース構成のためのacpiソース言語の自動生成

Info

Publication number
JP2002526823A
JP2002526823A JP2000572742A JP2000572742A JP2002526823A JP 2002526823 A JP2002526823 A JP 2002526823A JP 2000572742 A JP2000572742 A JP 2000572742A JP 2000572742 A JP2000572742 A JP 2000572742A JP 2002526823 A JP2002526823 A JP 2002526823A
Authority
JP
Japan
Prior art keywords
code
asl
generating
acpi
node structure
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
JP2000572742A
Other languages
English (en)
Other versions
JP4327363B2 (ja
Inventor
ニジャーワン,ヴィジェイ・バーラト
Original Assignee
フィーニックス テクノロジーズ リミテッド
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 フィーニックス テクノロジーズ リミテッド filed Critical フィーニックス テクノロジーズ リミテッド
Publication of JP2002526823A publication Critical patent/JP2002526823A/ja
Application granted granted Critical
Publication of JP4327363B2 publication Critical patent/JP4327363B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)

Abstract

(57)【要約】 高度構成およびパワー・マネージメントインタフェース(「ACPI」)ソース言語(「ASL」)コードを、ACPI準拠のBIOSを有するコンピュータ・システムの基本入出力システム(「BIOS」)で自動生成する方法および製造品である。この方法は、すべてのデバイス・ノード構造をBIOSにおいて走査して、静的およびMCDデバイスに対応するデバイス・ノード構造を発見する。ASLコードは、デバイスのPnP Idを抽出し、および、必要とされた制御メソッドを生成することによって、デバイス・ノード構造に対応して生成される。

Description

【発明の詳細な説明】
【0001】 (発明の背景) (発明の分野) 本発明は、一般に、コンピュータ・システムの構成の分野に関し、詳細には、
ACPI使用可能オペレーティング・システム(「OS」)を有するコンピュー
タの周辺リソース構成のための高度構成およびパワー・マネージメント・インタ
フェース(Advanced Configuration And Powe
r Management Interface)(「ACPI」)ソース言語
(「ASL」)コードの自動生成に関する。
【0002】 (関連技術の説明) ACPIは、Microsoft、IntelおよびToshibaによって
共同開発され、公開された仕様である。これは、OSに、PCなどのコンピュー
タ・システムにおけるパワー・マネージメントおよびリソース管理についてのよ
り大きい制御を与えることができる、拡張可能な手段を定義する。ACPIは、
OSがマザーボード・デバイスの特性を操作できる、ハードウェアおよびソフト
ウェア・インタフェースを定義する。この技術は、既存の基本入出力システム(
「BIOS」)技術とは、少なくとも2点に関して異なる。すなわち、(i)B
IOSサポート・コードが、プラットフォーム固有のアセンブリ言語ではなく、
本明細書でさらに論じられるACPI機械語(「AML」)と呼ばれるpコード
で書かれること、および(ii)BIOSサポート・コードが、電力またはリソ
ース管理のためのポリシーまたはタイムアウトを決定しないことである。むしろ
、これらのポリシーは、オペレーティング・システムによって決定される。
【0003】 ACPIハードウェア・インタフェースがOSへ、2つの類別における機能性
を提供する。すなわち、(i)システム管理割込み(「SMI」:System Manag
ement Interrupt)ではなく、システム制御割込み(「SCI」:System Contro
l Interrupt)と呼ばれる標準割り込みを使用したシステム制御イベントの制御
/検出、および(ii)システム電力状態の制御である。プラットフォームのハ
ードウェア・インタフェースのサポートの詳細は、システムBIOS内の明確な
テーブルのセット内に提供されている。
【0004】 ACPIソフトウェア・インタフェースは、OSが異なるACPI関連テーブ
ルをシステムBIOSにおいて発見する手段、および、OSがAMLを使用して
マザーボード・デバイスの特性を理解かつ制御する手段を提供する。AMLは、
システムBIOS内のテーブルに存在する。
【0005】 ACPIソース言語(「ASL」)は、OSが、たとえば、Windows( 登録商標)およびWindows NT(登録商標)オペレーティング・システ ムの最新リリースにおけるパワー・マネージメント、プラグアンドプレイおよび ドッキング・サポートを制御する機構を提供し、ACPI準拠となるにはこれら が必要とされる。ASLはBIOS構築処理中にAMLにコンパイルされる。
【0006】 ASLは、ACPI制御メソッドを書くために好ましいソース言語である。大
抵のOEMおよびBIOS開発者は制御メソッドをASLで書く。次いで、AS
Lコードが変換ツールによってAMLコード・バージョンの制御メソッドへ変換
される。ASLおよびAMLは密接に関係があるが、異なる言語であることに留
意されたい。
【0007】 あらゆるACPI準拠のOSがAMLをサポートしなければならない。しかし
、ASLの使用は強制的ではないが、それでもASLを使用することが非常に望
ましい。少なくとも理論上は、ユーザが自分自身の任意のソース言語を開発する
ことができ、変換器を使用してこの任意のソース言語をAMLに変換することが
できる。
【0008】 AMLは、ACPI制御メソッド仮想機械語であり、すなわち、ACPI互換
OSによってサポートされる仮想機械用の機械コードである。これは、疑似コー
ド・アセンブリ言語であり、OSドライバによって解釈される。ACPI制御メ
ソッドをAMLで書くことができるが、プログラマは通常、制御メソッドをAS
Lでコーディングする。Intel、Microsoft、およびToshib
aによる「ACPI Specification」Revision 1.0
a、1998年7月1日発行の第15章は、ASLリファレンスを記載しており
、その開示が全体として、参照により本明細書に組み込まれる。「ACPI S
pecification」Revision 1.0aを、以下で「ACPI
仕様」と称する。
【0009】 AMLは、ACPIメソッド・インタプリタによって処理された言語である。
これは本来、宣言言語であり、1組の宣言を提供し、これがACPIインタプリ
タによって、定義ブロックのロード時にACPIネーム空間にコンパイルされる
。AMLの要件の1つは、メモリ、I/O、およびPCIコンフィギュレーショ
ン空間へのそのアクセスが静的であることであり、そうでなければ動的な値のた
めに提供された機能が大幅に無用となるように制限される。その理由は次の通り
である。 (a)それらが、AMLが最初にOSによってロードされたときに評価され、
かつ (b)その時点で修正することは大変困難であるからである。
【0010】 たとえば、少なくとも2つのオブジェクトがあり、オブジェクトのパラメータ
を修正する能力が望ましい、すなわちProcessorおよびOperati
onRegionである。一般に、OperationRegion(名前、タ
イプ、オフセット、長さ)が、メモリのチャンク、I/O空間、PCIコンフィ
ギュレーション空間、埋め込みコントローラ空間、またはSMBus空間へのA
SLコード・アクセスを提供する。しかし、「オフセット」および「長さ」は式
であるが、これらはOSがACPIテーブルをロードするときにのみ評価され、
したがって、I/Oアドレスがマザーボード構成可能デバイス/プラグ・アンド
・プレイ・ルーチン(「MCD/PnP」)またはマザーボード上のジャンパ設
定によって位置変更されたときなど、システムにおいて変更された状態に基づい
て修正することは困難である。
【0011】 ACPI Processor(名前、APICID、オフセット、長さ)オ
ブジェクトは、CPUおよびそのパワー・マネージメント制御I/OポートをO
Sへ宣言する。「オフセット」および「長さ」は式ではなく、したがって、構築
時に位置指定されなければならない。これは特に、これらのI/Oアドレスを、
たとえばMCD/PnPを使用して位置変更することが望ましい場合、極度な制
限である。
【0012】 プラグ・アンド・プレイ(PnP)が、inter alia、Micros
oftおよびIntelによって開発された技術の名称であり、PCハードウェ
アを、接続された周辺デバイスと自動的に動作させるものであることに留意され
たい。マザーボード構成可能デバイス(MCD)は、Phoenix Tech
nologiesの、BIOSにおける使用のためのPnP仕様の実装である。
プラグ・アンド・プレイ技術は、ハードウェアでは、オペレーティング・システ
ムに実装され、および、デバイス・ドライバおよびBIOSなどのサポーティン
グ・ソフトウェアに実装される。様々なプラグ・アンド・プレイ技術があり、た
とえば、BIOS、ISA、SCSI、IDE CD−ROMおよびその他が含
まれる。この明細書では、プラグ・アンド・プレイへの参照は、プラグ・アンド
・プレイBIOS仕様への、かつ、プラグ・アンド・プレイBIOS仕様のMC
D実装への参照である。
【0013】 もう1つの問題が起こる理由は、システムBIOSにおいて、ユーザがSet
upプログラムを入力して、マザーボード統合周辺装置の設定を修正することが
できるからである。この設定にはしばしば、たとえば、デバイスのデフォルト・
リソース設定(I/O、IRQなど)、デバイスが使用可能であるか使用不可で
あるか、OSがデバイスの設定をランタイムで修正できるかどうか、が含まれる
【0014】 PnPなど、従来のリソース管理システムでは、これらの設定が、ランタイム
・サービスがOSへ返す情報を制御する。しかし、ACPIでは、ある新しい問
題があり、このタイプの統合をより困難にする。
【0015】 1.OSがもはやPnPランタイム・サービスを呼び出さない。 2.ASLコード(PnPランタイム呼出しに置き換わる)が、CMOSメモ
リにアクセスしてユーザ設定を決定することができない。 3.OSは、_DIS(Disable)メソッドがデバイスについて存在す
る場合、これを呼び出すとこのデバイスを使用不可にすると仮定する。しかし、
これは、このデバイスが保護されるように指定するユーザ設定と競合する可能性
があり、したがって、この方法ではOSによって変更可能ではない可能性がある
。 4.OSは、_PRS(Possible Resource Settin
gs)オブジェクトがデバイス下で発見された場合、ユーザの設定がそうでない
ものを指示する場合でも、このデバイスが多数の構成をサポートしなければなら
ないと仮定する。したがって、OSがリソース設定を、Setupプログラムを
使用してユーザによって指示されたプリファレンスと矛盾する方法で、修正する
ことができる。
【0016】 以下のサブセクションはACPIアーキテクチャの概観を提供し、これは、以
下の「発明の概要」というセクションに要約された、本発明のよりよい理解を容
易にするものである。
【0017】 (ACPIアーキテクチャの概観) ACPI仕様は、OSソフトウェア、ハードウェアおよびBIOSソフトウェ
アの間のインタフェースを含んでいるACPIインタフェースを定義する。加え
て、この仕様は、これらのインタフェースの意味も定義する。
【0018】 図1は、ACPIに関連したソフトウェアおよびハードウェア構成要素、およ
び、それらが互いにどのように関係するかを定義するブロック図である。ACP
I仕様は、構成要素の間のインタフェース、ACPIテーブルの内容、および、
他のACPI構成要素の関連した意味を記述する。ACPIテーブルがACPI
実装の重要な特徴であり、ACPI準拠のBIOSの役割が主として、アプリケ
ーション・プログラミング・インタフェース(API)ではなくACPIテーブ
ルを供給することであることに留意されたい。
【0019】 図1は、ACPIの3つのランタイム構成要素を示す。 (i)ACPIテーブル30。これらのテーブルは、ハードウェアとのインタ
フェースを記述する。これらのインタフェースは様々な構成を取ることができ、
AMLコードによる記述を含むことができる。記述のいくつかでは構築できるも
のを制限するが、大抵の記述ではハードウェアを任意の方法で構築することがで
き、ハードウェアを動作させるために必要とされた任意の動作シーケンスを記述
することもできる。ACPIテーブルが、解釈されるAMLを使用することがで
きるので、OSがAMLインタプリタ11を含んでおり、これが、AMDで符号
化されてACPIテーブル30に格納された手順を実行する。
【0020】 (ii)ACPIレジスタ10。これらは、ハードウェア・インタフェースの
制限された部分であり、少なくとも場所において、ACPIテーブル30によっ
て記述される。
【0021】 (iii)ACPI BIOS20は、ACPI仕様と互換性のあるファーム
ウェアの一部を指す。ACPI BIOS20は、通常はシステムBIOS21
から分離しないが、分離した構成要素として図示されて、その付加機能性、およ
びACPI仕様との互換性が強調されていることに留意されたい。したがって、
このACPI BIOS20は、機械をブートするコード、ならびに、スリープ
、ウェイク、およびいくつかの再起動動作のためのインタフェースを実装するこ
とを含んでいる。
【0022】 ACPIのさらなる詳細は、Microsoft、IntelおよびTosh
ibaによる「ACPI Specification Document」R
evision 1.0a、1998年7月1日において提供されており、その
内容が全体として、参照により本明細書に組み込まれる。この文書は現在、イン
ターネット上のhttp://www.teleport.com/〜acpi
でも入手可能である。
【0023】 以前に論じたように、新しいACPI仕様の出現により、以前にPhoeni
x TechnologiesのMCD/PnPサブシステムによって提供され
たサービスおよびリソース構成情報が、現在はACPI構成要素によって提供さ
れなければならない。したがって、以前にMCD/PnPによって提供されたサ
ービスおよびリソース構成が、現在はAMLにおいてACPI準拠のBIOSに
定義されなければならない。すなわち、以前に従来のPnP BIOSによって
提供されたサービスおよびリソース構成情報が、現在はACPI準拠のBIOS
によって提供されなければならない。
【0024】 これらのPnPサービスおよびリソース構成情報が、ASL言語を使用して定
義されるべきであることが好ましい。次いで、ASL言語をAMLにコンパイル
することができ、ACPIドライバがAMLインタプリタと共にAMLコードに
アクセスして、リソース構成情報および他の従来のPnPサービスをACPI準
拠のOSへ提供できるようにする。したがって、すべてのPnP構成特定コード
を移植する必要が大いにあり、これは典型的には、アセンブリ言語においてAS
Lへ行われ、ACPI準拠のBIOSが、以前にPhoenix Techno
logyによって提供されたBIOSの従来のMCD/PnPサブシステムによ
って提供されたランタイム・サービス、および、リソース構成要素を提供できる
ようにする。
【0025】 このアセンブリ・コードのすべてをASLコードへ移植することは、非常に困
難な作業である。これは、アセンブリ・コードが各デバイスに特有であるからで
ある。たとえば、Phoenix TechnologiesのBIOSは、P
nPリソース構造情報をデバイス・ノード構造の形式で格納する。デバイスの構
造を格納するこのPhoenix BIOSサブシステムは、マザーボード構成
可能デバイス(「MCD」)サブシステムと呼ばれる。MCD構造は、BIOS
においてマクロによって初期化される。
【0026】 ASLコードを、MCDデバイスのすべての可能な構成について生成する必要
があり、これにより大量のASLコードが書かれる結果となる可能性がある。し
たがって、BIOSのための構築処理が完了した後で、これらのPnP MCD
構造をASLへ自動変換する必要性が大いにある。このPnP MCD情報がA
SLへ変換された後、ACPI準拠のBIOSがASLコードへのアクセスを有
し、したがって、以前に従来のMCD/PnPサブシステムによって提供された
周辺構成情報を知る。
【0027】 (発明の概要) したがって、本発明の全般的な目的は、上で識別された問題および欠点を軽減
することである。
【0028】 本発明の目的の1つは、ACPI ASLコードを、従来のMCD/PnP
BIOSにおいて使用可能である周辺リソース構成情報を提供するコンピュータ
・システムのBIOSにおいて、自動生成するための方法を提供することである
【0029】 本発明の別の目的は、コンピュータ・システムにおいて使用可能な製造品を提
供することであり、これはBIOSにおいてデバイス・ノード構造を走査して、
指定された基準を満たすデバイス・ノード構造を発見し、次いで、このデバイス
・ノード構造に含まれたリソース構成情報に対応するASLコードを生成するも
のである。
【0030】 本発明の別の目的は、静的デバイスのためのデバイス・ノード構造に対応する
ACPI ASLコードの自動生成のための方法を提供することである。
【0031】 本発明の別の目的は、MCDデバイスのためのデバイス・ノード構造に対応す
るACPI ASLコードの自動生成のための方法を提供することである。
【0032】 本発明のさらなる目的は、ACPI ASLコードを生成して、デバイスのP
nP Idに対応する識別Idを含めるための方法を提供することである。
【0033】 本発明のさらなる目的は、_CRS制御メソッド、および、任意選択的に、必
要とされる他の制御メソッドを含んでいる、ACPI ASLコードを生成する
方法を提供することである。
【0034】 本発明の別の目的は、静的デバイスに対応するASLコードを生成する、コン
ピュータ・システムにおいて使用可能な製造品を提供することである。
【0035】 本発明の別の目的は、MCDデバイスに対応するASLコードを生成する、コ
ンピュータ・システムにおいて使用可能な製造品を提供することである。
【0036】 本発明のさらなる目的は、ASLコードを生成して、デバイスのPnP Id
に対応する識別Idを含める、コンピュータ・システムにおいて使用可能な製造
品を提供することである。
【0037】 本発明のさらなる目的は、ASLコードを生成して、_CRS制御メソッド、
および、任意選択的に、必要とされる可能性がある他の制御メソッドを含める、
コンピュータ・システムにおいて使用可能な製造品を提供することである。
【0038】 これらの目的および他の目的は、高度構成およびパワー・マネージメントイン
タフェース(「ACPI」)ソース言語(「ASL」)コードを、ACPI準拠
のBIOSを有するコンピュータ・システムの基本入出力システム(「BIOS
」)において自動生成する方法を提供することによって達成され、この方法は、
(i)デバイス・ノード構造をBIOSにおいて走査するステップ、(ii)指
定された基準に従ってデバイス・ノード構造を発見するステップ、および(ii
i)指定された基準に基づいて発見されたデバイス・ノード構造に対応するAS
Lコードを生成するステップを含んでいる。
【0039】 この方法には、デバイス・ノード構造を発見するために指定された基準が、静
的デバイスに、あるいはMCDデバイスに対応するデバイス・ノード構造を含ん
でいる。
【0040】 この方法には、ASLコードを生成することが、デバイスのPnP Idを抽
出することを含んでいる。
【0041】 この方法にはさらに、ASLコードを生成することが、_CRS制御メソッド
を作成すること、および、任意選択的に、必要とされる可能性がある他の制御メ
ソッドを作成することを含んでいる。
【0042】 また、提供されるものには、高度構成およびパワー・マネージメントインタフ
ェース(「ACPI」)準拠の基本入出力システム(「BIOS」)を有するコ
ンピュータ・システムにおいて使用可能な製造品もあり、この製造品は、コンピ
ュータ・システムにおけるACPIソース言語(「ASL」)コードの自動生成
のためにそこに書き込まれたコンピュータ可読プログラム・コードを有するコン
ピュータ可読媒体を含んでおり、このコンピュータ可読プログラム・コードは、
(I)BIOSにおいてすべてのデバイス・ノード構造を走査し、指定された基
準に従ってデバイス・ノード構造を発見する第1のコンピュータ可読コード、お
よび、(ii)指定された基準に基づいて発見されたオブジェクトに対応するA
SLコードを修正する第2のコンピュータ可読コードを含んでいる。
【0043】 第1のコンピュータ可読コードは、静的デバイスまたはMCDデバイスに対応
するデバイス・ノード構造を発見するコードを含んでいる。
【0044】 第2のコンピュータ可読コードは、PnP Idをデバイス・ノード構造から
抽出するコードを含んでいる。
【0045】 第2のコンピュータ可読コードは、_CRS制御メソッドを作成し、任意選択
的に、他の制御メソッドを作成するコードをさらに含んでいる。
【0046】 添付の図面は、本明細書に組み込まれ、その一部を構成し、本発明の好ましい
実施形態をほどなく例示し、上で与えられた一般の説明、および、以下で与えら
れた好ましい実施形態の詳細な説明と共に、本発明の原理を説明するために役立
つものである。
【0047】 (好ましい実施形態の説明) 本発明は、一般の態様において、ACPI準拠のBIOSを有するコンピュー
タ・システムの基本入出力システム(「BIOS」)において、高度構成および
パワー・マネージメントインタフェース(「ACPI」)ソース言語(「ASL
」)コードを自動生成する方法および製造品を提供する。これらは、(i)デバ
イス・ノード構造をBIOSにおいて走査するステップ、(ii)指定された基
準に従ってデバイス・ノード構造を発見するステップ、および(iii)指定さ
れた基準に基づいて発見されたデバイス・ノード構造に対応するASLコードを
生成するステップを含んでいる。
【0048】 この方法および製造品は、デバイス・ノード構造を発見するために指定された
基準が、静的デバイスに、あるいはMCDデバイスに対応するデバイス・ノード
構造を含んでいる。
【0049】 この方法および製造品は、ASLコードを生成することが、デバイスのプラグ
・アンド・プレイ(PnP)Idを抽出することを含んでいる。
【0050】 この方法および製造品は、ASLコードを生成することが、_CRS制御メソ
ッドを作成すること、および、任意選択的に、必要とされる可能性がある他の制
御メソッドを作成することを含んでいることを、さらに提供する。
【0051】 ACPI準拠のOSは、いくつかのオブジェクトが制御メソッドで使用されて
デバイスが構成されると予想する。これらのオブジェクトを以下の3タイプに分
類することができる。
【0052】 (i)デバイスをPnP Idと関連付けるデバイス識別オブジェクト、 (ii)ACPIを使用して列挙されたデバイスのためのハードウェア・リソ
ースを構成する、デバイス構成オブジェクト、および (iii)デバイス挿入および除去オブジェクトが、デバイスの動的挿入およ
び除去を処理するための機構を提供する。これらの3タイプの各デバイスについ
ては、以下のパラグラフでより詳細に論じられる。
【0053】 デバイス識別オブジェクトが、各プラットフォーム・デバイスをPnP Id
と関連付ける。デバイス識別オブジェクトがすぐ以下にリストされる。
【0054】 _ADRは、デバイスのアドレスをその親バス上で評価するオブジェクトであ
る。 _CIDは、デバイスのPnP互換Idリストを評価するオブジェクトである
。 _DDNは、論理ソフトウェア名、たとえばCOM1をデバイスと関連付ける
オブジェクトである。 _HIDは、デバイスのPnPハードウェアIdを評価するオブジェクトであ
る。 _SUNは、スロットのためのスロットUI番号を評価するオブジェクトであ
る。 _UIDは、デバイスに固有の持続的Id、または、それを生成する制御メソ
ッドを指定するオブジェクトである。
【0055】 たとえばISAバスなど、バスの列挙可能タイプ上にないいかなるデバイスに
ついても、ACPIドライバがドライバのPnP Idを列挙し、ACPI B
IOSが、各デバイスについて_HIDを供給して、ACPIドライバがデバイ
スを列挙できるようにする。たとえばPCIバスなど、列挙可能なバス上のデバ
イスについては、ACPIシステムが、列挙可能なバス上のどのデバイスが特定
のPnP Idによって識別されるかを識別する必要がある。これを実施するた
め、ACPI BIOSが_ADRオブジェクトを供給する。
【0056】 デバイス構成オブジェクトが、ACPIによって列挙されたデバイスのための
ハードウェア・リソースを構成するための情報を提供する。これらのオブジェク
トが、現在および可能なリソース要件、共有リソースの間の関係、および、ハー
ドウェア・リソースを構成するための方法についての情報を提供する。デバイス
構成オブジェクトは、以下の通りである。
【0057】 _CRSは、デバイスの現在のリソース設定を指定するオブジェクトであり、
あるいはそのようなオブジェクトを生成する制御メソッドである。これは、AC
PI仕様において必要とされるオブジェクトである。リソース・データが、一連
のデータ構造として提供され、各データ構造が一意のタグまたは識別子を有する
。リソース・データ構造におけるデータの例には、メモリ・アドレス範囲、I/
Oポート、割り込み、およびDMAチャネルなど、標準のコンピュータ・システ
ム・リソースに関係するデータが含まれる。
【0058】 _DISは、デバイスを使用不可にする制御メソッドである。 _PRSは、デバイスの可能なリソース設定を指定するオブジェクトであり、
あるいはそのようなオブジェクトを生成する制御メソッドである。 _PRTは、PCI割り込み経路指定テーブルを指定するオブジェクトである
。 _SRSは、デバイスの設定を設定する制御メソッドである。 _FDIは、フロッピー(登録商標)・ドライブに関する情報を返すオブジェ クトである。
【0059】 デバイス挿入および除去オブジェクトが、デバイスの動的な挿入および除去を
処理するための機構を提供する。同じ機構が、ドッキングおよびドッキング解除
にも使用される。デバイス挿入および除去オブジェクトが、以下にリストされる
【0060】 _EJDは、名前付きデバイスが従属している、デバイス・オブジェクト名を
評価するオブジェクトである。名前付きデバイスが排出されたときは、従属する
デバイスが排出通知を受信しなければならない。 _EJxは、デバイスを排出する制御メソッドである。 _LCKは、デバイスをロックあるいはロック解除する制御メソッドである。 _RMVは、所与のデバイスが除去可能であるかどうかを指示するオブジェク
トである。 _STAは、デバイスの状況を返す制御メソッドである。
【0061】 ACPI構成オブジェクトのさらなる詳細は、ACPI仕様の第6章に提供さ
れており、その内容が全体として、参照により本明細書に組み込まれる。
【0062】 図2は、本発明の一実施形態を実施する、静的デバイスのためのASL構成コ
ードを生成する処理100の典型的なステップを例示する流れ図である。本発明
は、構成静的デバイス処理100の流れ図のステップを実施する、コンピュータ
可読プログラム・コードも提供する。開示されたステップの実際のコーディング
は、過度の実験なしに、コンピュータおよびシステム・プログラミングの技術分
野における当業者の技術の範囲内のものである。いくつかのサンプル・コード・
フラグメントも、流れ図において開示されたステップのコーディング処理の理解
を容易にするために提供される。
【0063】 ステップ110で、静的デバイス・ノードが読み取られる。静的デバイス・ノ
ードが、BIOS構築処理によって生成されるファイルから読み取られる。これ
らのファイルには、たとえば、BCG.ROM、ROMEXEC.ROM、およ
びBUILD.MAPファイルが含まれる。静的デバイス・ノードは、たとえば
、静的デバイス・ノード・テーブルの開始へのポインタである、BCG.ROM
画像ファイルにおけるdevNodePtrTableポインタをたどることに
よって、読み取ることができる。静的デバイス・ノード構造(_devnode
)が、静的デバイス・ノード・テーブルから読み込まれる。この構造が、デバイ
ス・ノード・サイズ、デバイスのPnP Idおよびデバイス・ノード属性を含
んでいるデバイス情報を含んでいる。
【0064】 ステップ115で、すべてあるいは所定の数の静的デバイス・ノードが静的デ
バイス・ノード・テーブルから処理されたかどうかを調べるために処理が検査し
、処理される静的デバイス・ノード・エントリがそれ以上ない場合、150で処
理が終了する。もう1つの静的デバイス・ノードが読み込まれる場合、処理がス
テップ120へ進行する。
【0065】 ステップ120で、処理が、デバイスのハードウェアIDを生成する。ASL
コードが、_HIDオブジェクトを使用して、デバイスのハードウェアPnP
Idを報告する。処理が、PnP Idを_devnode構造から抽出し、_
HIDオブジェクトを生成する。生成された_HIDオブジェクトが、典型的に
は、出力ファイルへ書き込まれる。次いで、処理がステップ130へ進行する。
【0066】 ステップ130で、処理が、静的デバイス・ノードの_CRS制御メソッドを
生成する。さらに、静的デバイス・ノードの構成が、定義によって、変更不可能
であるため、静的デバイスについてそれ以上の制御メソッドが生成されない。d
evの後に続くバイト、ノード構造(_devnode)が、デバイス構成デー
タへのポインタである。_CRS制御メソッドが、ACPI仕様によって指定さ
れたデータ構造の形式における構成を返す。
【0067】 補遺Aは、静的デバイスならびに静的デバイス・オブジェクトの構造のための
ASLコードを生成するルーチンのための、サンプル・コード・フラグメントで
ある。
【0068】 図3および図4は、本発明の別の実施形態を実施する、MCDデバイスのため
のASLコードを生成する処理のステップを例示する流れ図である。本発明は、
構成MCDデバイス処理200および生成任意選択制御メソッド処理260の流
れ図のステップを実施するコンピュータ可読プログラム・コードも提供する。こ
れらの処理において開示されたステップの実際のコーディングは、過度の実験な
しに、コンピュータおよびシステム・プログラミングの技術分野における当業者
の技術の範囲内のものである。
【0069】 図3は、構成MCDノード処理のステップを開示する流れ図である。ステップ
210で、処理が、次のMCDデバイス・ノード構造を読み取る。処理が、構築
ファイル、BCG.ROMを読み取り、ここでMCDデバイス・ノード構造が、
特定の開始および終了アドレスと共に動的デバイス・テーブルに格納される。読
取り処理210は、MCDデバイス処理200の最初の繰り返し中に、最初のエ
ントリを動的デバイス・テーブルから読み取ることによって開始し、その後、ス
テップ250で処理が終了されるまで、読取り処理200の後続の繰り返しにお
いて、次のエントリを動的デバイス・テーブルから読み取る。
【0070】 ステップ215で、処理が、MCDデバイス・ノード・エントリがさらにある
かどうかを調べるために検査する。MCDデバイス・エントリがそれ以上ない場
合、ステップ250で処理200が終了する。処理200が、所定の数のMCD
デバイス・ノード構造が読み取られた後で終了できるようにすることも可能であ
ることを理解されたい。これは、たとえば、ステップ215で所定の数のMCD
デバイス・ノードが読み取られたかどうかを決定するために検査するように、処
理を変更することによって実施することができる。そうでない場合、処理200
がステップ220へ進行して、デバイスのための一意のIdを生成する。
【0071】 ステップ220で、処理が、デバイスのPnP Idを抽出して_HIDオブ
ジェクトを生成し、次いでこれが、典型的には出力ファイルへ書き込まれる。ス
テップ220で、処理が、_UIDオブジェクトも生成して、同じ_HIDを有
する2つのデバイスの間で区別する。たとえば、スーパーI/Oコントローラが
、同じ_HIDを有する2つのシリアル・ポートを有する場合、別々の_UID
オブジェクトが生成されて、これらの2つのデバイスの間で区別される。
【0072】 ステップ230で、処理200が、適切なパラメータと共に、MCDマクロに
対応する読み/書きメソッドへの呼び出しを生成する。読み/書きメソッドはチ
ップセットに固有であり、チップセット・エンジニアによって書かれる必要があ
る。MCDは3つのマクロを提供し、これらによって、構成要素のエンジニアが
デバイスのための構成情報を変更することができる。処理200がこれらのMC
Dマクロを解釈し、ASLパッケージを生成する。次いで、これらのパッケージ
を、_CRS、_SRS、_DIS制御メソッドなど、他の制御メソッドによっ
て処理して、適切にデバイスの現在の状態を変更することができる。
【0073】 ステップ240で、処理200が、_CRS制御メソッドを生成する。これは
ACPI仕様に従って必要とされた制御メソッドである。デバイスの現在のリソ
ースを得る関数process_get_currentが提供される。この関
数が、たとえば、MCDマクロ情報を得る2つの他の関数を呼び出し、次いでこ
の情報をASLパッケージに入れる。ステップ240が、これらのASLパッケ
ージに格納された情報を理解するASLコードも生成する。ステップ240が、
関数create_templateも呼び出す。これが、_CRSによって使
用された空のASLバッファを作成する。次いで、_CRSメソッドがこれらの
バッファを現在のリソース構成で満たし、バッファをOSへ返す。
【0074】 PhoenixのMCDは、2タイプのリソース、従属および独立リソースを
使用する。従属および独立リソースは共に完全なリソースを構成する。_CRS
制御メソッドがデータをチップから読み取り、チップにおける値に応じて、独立
および従属リソースの組み合わせをOSへ返す。
【0075】 ステップ260で、処理200が、他の任意選択の制御メソッドを生成する。
図4は、生成任意選択制御メソッド処理260の詳細なステップを開示する流れ
図のステップを示す。
【0076】 ステップ310で、処理260が、たとえばBCG.ROMなどの構築または
BIOS ROMファイルにおける、TAG_DEVICE_NODE_POS
SIBLE_STARTタグ名などのタグを探索する。ステップ310で、処理
260がタグを発見しなかった場合、判断ブロック340へ進行する。ステップ
310で、処理260がタグを発見した場合、ステップ320へ進行し、デバイ
スのための可能なリソース設定を記述する_PRSオブジェクトを生成して書き
出す。_PRS制御メソッドが生成された後、ステップ330で、処理260が
_SRS制御メソッドを生成する。OSが、デバイスの構成を設定したいときに
、_SRS制御メソッドを呼び出す。_SRS制御メソッドは、_PRS制御メ
ソッドがないときには生成されない。
【0077】 ステップ340で、処理260が、構築またはBIOS ROMファイルを検
査して、MCDデバイスがDISABLE_CONFIG_STARTマクロを
使用したかどうかを決定する。そうである場合、処理260がステップ350へ
進行して、_DIS制御メソッドを生成し、これがOSによって使用されてデバ
イスが使用不可にされ、次いでステップ360へ行く。そうでない場合、処理が
直接ステップ360へ進行する。
【0078】 ステップ360が_STAオブジェクトを生成し、これが使用されて、OSへ
、デバイスが使用不可にされ存在していないかどうかが通知される。_STAデ
バイスは、典型的には、コンピュータ・ブート時に、BIOSのPower−o
n Self Test(POST)処理中に更新される。
【0079】 ステップ260で処理が完了した後、処理200がステップ270へ進行する
。ステップ270で、構成MCDデバイス・ノード処理200が、デバイスのた
めのMCDオブジェクトを生成する。デバイスのためのMCDオブジェクトは、
典型的には、値0x8000xxxxを含んでおり、ただしxxxxはこのデバ
イスのデバイス・ノード番号を表す。次いで、デバイス・ノード番号がPOST
処理によって使用されて、POST中にデバイスの状況が正しく更新される。
【0080】 本発明の他の実施形態は、本明細書に開示された本発明の仕様および実施の考
慮から、当業者には明らかになるであろう。本明細書が例示的としてのみ見なさ
れ、本発明の真の精神および範囲が以下の特許請求の範囲によって示されること
が、意図されるものである。
【0081】 (補遺A) 静的デバイスのためのASLコードを生成する、サンプル・コード・フラグメ
ント(関数テンプレート) Void doStatic(WORD staticStart,WORD staticEnd,char* buffer,char* endBuf
fer,WORD biosEnd,FILE* outFile); StaticStartは、BCG.ROMにおいて静的devnodeが格
納される場所である。StaticEndは、BCG.ROMにおいてdevn
odeが終了する場所である。 OutFileは、MCD2ACPIがASLコードを書き込むファイルへの
ポインタである。 BufferおよびbiosEndは、デバイス・ノード構造へのポインタを
計算するために使用される。
【0082】 (静的デバイス・ノードの例) #ifdef STATDEVNODE //静的デバイス・ノード名 Name(_HID,EISAID(”PNP0E03”)) //デバイス
のPnP Id Method(_CRS,0){ Return(Buffer() { //小さいリソース: I/Oポート 0x47,0x01,0xE0,0x03,0xE0,0x03,0x01,
0x02, //小さいリソース: IRQ 0x22,0x00,0x00, //小さいリソース: 終了タグ 0x79,0x00, )} } #endif //デバイス・ノードの終了
【図面の簡単な説明】
【図1】 ACPIに関連したソフトウェアおよびハードウェア構成要素を示すブロック
図である。
【図2】 本発明の一実施形態の、静的デバイスのためのASLコードを生成するステッ
プを例示する流れ図である。
【図3】 本発明の別の実施形態の、MCDデバイスのためのASLコードを生成するス
テップを例示する流れ図である。
【図4】 生成任意選択制御メソッド処理のステップを例示する流れ図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C U,CZ,DE,DK,EE,ES,FI,GB,GD ,GE,HR,HU,ID,IL,IN,IS,JP, KE,KG,KP,KR,KZ,LC,LK,LR,L S,LT,LU,LV,MD,MG,MK,MN,MW ,MX,NO,NZ,PL,PT,RO,RU,SD, SE,SG,SI,SK,SL,TJ,TM,TR,T T,UA,UG,US,UZ,VN,YU,ZA,ZW

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 高度構成およびパワー・マネージメントインタフェース(「
    ACPI」)ソース言語(「ASL」)コードを、ACPI準拠のBIOSを有
    するコンピュータ・システムの基本入出力システム(「BIOS」)において自
    動生成する方法であって、 デバイス・ノード構造を前記BIOSにおいて走査するステップと、 指定された基準に従ってデバイス・ノード構造を発見するステップと、 前記指定された基準に基づいて発見された前記デバイス・ノード構造に対応す
    るASLコードを生成するステップと を含んでいる方法。
  2. 【請求項2】 前記デバイス・ノード構造が静的デバイスに対応する請求項
    1に記載の方法。
  3. 【請求項3】 ASLコードを生成する前記ステップが、デバイスのプラグ
    アンドプレイ(PnP)Idを前記デバイス・ノード構造から得ること、および
    、前記PnP Idを出力ファイルへ書き込むことを含んでいる請求項1に記載
    の方法。
  4. 【請求項4】 前記ASLを生成する前記ステップが、前記デバイスのため
    の_CRS制御メソッドを作成することをさらに含んでいる請求項3に記載の方
    法。
  5. 【請求項5】 指定された基準に基づいてデバイス・ノード構造を発見する
    前記ステップが、BIOS構築処理中に生成されるBCG.ROM、ROMEX
    EC.ROM、およびBUILD.MAPファイルを読み取ることを含んでいる
    請求項2に記載の方法。
  6. 【請求項6】 前記指定された基準が、前記デバイス・ノード構造がマザー
    ボード構成可能デバイス(「MCD」)に対応するかどうかを決定することを含
    んでいる請求項1に記載の方法。
  7. 【請求項7】 前記ASLコードを生成する前記ステップが、デバイスのプ
    ラグアンドプレイ(「PnP」)Idを前記デバイス・ノード構造から得ること
    を含んでいる請求項6に記載の方法。
  8. 【請求項8】 前記ASLコードを生成する前記ステップが、同じPnP
    Idを有する2つのデバイスの間で区別するための2次Idを生成することをさ
    らに含んでいる請求項7に記載の方法。
  9. 【請求項9】 前記ASLコードを生成する前記ステップが、 MCDマクロを読み取ること、および 前記MCDマクロに含まれた情報を符号化するASLパッケージ・コードを生
    成することを含んでいる請求項6に記載の方法。
  10. 【請求項10】 前記ASLコードを生成する前記ステップが、_CRS制
    御メソッドを生成すること、および任意選択的に、_PRS、_SRS、_DI
    S、_STA制御メソッドを生成することを含んでいる請求項9に記載の方法。
  11. 【請求項11】 高度構成およびパワー・マネージメントインタフェース(
    「ACPI」)準拠の基本入出力システム(「BIOS」)を有するコンピュー
    タ・システムにおいて使用可能な製造品であって、 前記コンピュータ・システムにおけるACPIソース言語(「ASL」)コー
    ドを自動生成するように書き込まれたコンピュータ可読プログラム・コードを有
    するコンピュータ可読媒体を含んでおり、前記コンピュータ可読プログラム・コ
    ードは、 前記BIOSにおいて前記デバイス・ノード構造を走査し、指定された基準に
    従ってデバイス・ノード構造を発見する第1のコンピュータ可読コードと、 前記指定された基準に基づいて発見されたオブジェクトに対応する前記ASL
    コードを修正する、第2のコンピュータ可読コードとを含んでいる製造品。
  12. 【請求項12】 前記デバイス・ノード構造が静的デバイスに対応する請求
    項11に記載の製造品。
  13. 【請求項13】 前記第2のコンピュータ可読コードが、ブラグアンドプレ
    イ(「PnP」)Idを前記デバイス・ノード構造から抽出し、前記PnP I
    dを出力ファイルへ書き込むコードを含んでいる請求項11に記載の製造品。
  14. 【請求項14】 前記第2のコンピュータ可読コードが、前記デバイスのた
    めの_CRS制御メソッドを作成するコードを含んでいる請求項13に記載の製
    造品。
  15. 【請求項15】 前記第1のコンピュータ可読コードが、BIOS構築処理
    中に生成されるBCG.ROM、ROMEXEC.ROM、およびBUILD.
    MAPファイルを読み取るコードを含んでいる請求項12に記載の製造品。
  16. 【請求項16】 第1のコンピュータ可読コードが、前記デバイス・ノード
    構造がマザーボード構成可能デバイス(「MCD」)に対応するかどうかを決定
    するコードを含んでいる請求項11に記載の製造品。
  17. 【請求項17】 前記第2のコンピュータ可読コードが、デバイスのPnP Idをデバイス・ノード構造から抽出するコードを含んでいる請求項16に記
    載の製造品。
  18. 【請求項18】 前記第2のコンピュータ可読コードが、同じPnP Id
    を有するデバイスの間で区別するための2次Idを生成するコードを含んでいる
    請求項17に記載の製造品。
  19. 【請求項19】 第2のコンピュータ可読コードが、MCDマクロを読み取
    り、前記MCDマクロに含まれた情報を符号化するASLパッケージ・コードを
    生成するコードを含んでいる請求項16に記載の製造品。
  20. 【請求項20】 前記第2のコンピュータ可読コードが、_CRS制御メソ
    ッドを生成し、任意選択的に、_PRS、_SRS、_DIS、_STA制御メ
    ソッドを生成するコードをさらに含んでいる請求項19に記載の製造品。
JP2000572742A 1998-09-30 1999-09-30 周辺リソース構成のためのacpiソース言語の自動生成 Expired - Fee Related JP4327363B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/163,358 1998-09-30
US09/163,358 US6185677B1 (en) 1998-09-30 1998-09-30 Automatic generation of ACPI source language for peripheral resource configuration
PCT/US1999/022670 WO2000019301A2 (en) 1998-09-30 1999-09-30 Automatic generation of acpi source language for peripheral resource configuration

Publications (2)

Publication Number Publication Date
JP2002526823A true JP2002526823A (ja) 2002-08-20
JP4327363B2 JP4327363B2 (ja) 2009-09-09

Family

ID=22589685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000572742A Expired - Fee Related JP4327363B2 (ja) 1998-09-30 1999-09-30 周辺リソース構成のためのacpiソース言語の自動生成

Country Status (5)

Country Link
US (1) US6185677B1 (ja)
JP (1) JP4327363B2 (ja)
AU (1) AU6503099A (ja)
TW (1) TW514828B (ja)
WO (1) WO2000019301A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226653A (ja) * 2006-02-24 2007-09-06 Nec Corp Pci多段ブリッジ構成コンピュータにおけるacpiマシン語テーブル記述方法及び装置とそのプログラム
JP2008123442A (ja) * 2006-11-15 2008-05-29 Toshiba Corp 情報処理装置、および情報処理装置の制御方法
JP2009140489A (ja) * 2007-12-04 2009-06-25 Lenovo Singapore Pte Ltd Vmmシステムにおけるユーザosがサービスosによって使用されている装置の電源を切らないようにするためのシステム及び方法
JP2015501048A (ja) * 2011-12-06 2015-01-08 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイス(pcd)上で動作可能なオペレーティングシステムに周辺構成要素インターフェースエクスプレス(pcie)結合デバイスを見せるための方法およびpcd

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3943665B2 (ja) * 1997-09-01 2007-07-11 株式会社東芝 スリープ制御方法、およびイベント通知方法
US6453461B1 (en) * 1999-06-09 2002-09-17 Compaq Information Technologies Group, L.P. Method and apparatus for testing ASL plug and play code in an ACPI operating system
US6598169B1 (en) * 1999-07-26 2003-07-22 Microsoft Corporation System and method for accessing information made available by a kernel mode driver
US6980944B1 (en) * 2000-03-17 2005-12-27 Microsoft Corporation System and method for simulating hardware components in a configuration and power management system
US6970957B1 (en) * 2000-04-24 2005-11-29 Microsoft Corporation Dynamically configuring resources for cycle translation in a computer system
US6732216B2 (en) * 2001-01-25 2004-05-04 Dell Products L.P. Peripheral switching device with multiple sets of registers for supporting an ACPI full-operation state
US6772252B1 (en) * 2001-01-31 2004-08-03 Efficient Networks, Inc. System and method for identifying a product for use with a computing device
US6928498B2 (en) * 2001-01-31 2005-08-09 Efficient Networks, Inc. System and method for identifying open peripheral component interconnect (PCI) slots
US6748461B2 (en) * 2001-03-15 2004-06-08 Microsoft Corporation System and method for accessing a CMOS device in a configuration and power management system
GB2373886A (en) * 2001-03-28 2002-10-02 Hewlett Packard Co User selectable power management of software applications
GB2373887A (en) * 2001-03-28 2002-10-02 Hewlett Packard Co Context dependent operation, including power management, of a mobile computer
US20030041271A1 (en) * 2001-08-14 2003-02-27 Rajeev Nalawadi Reporting and handling multiple platform variants
US7325146B2 (en) * 2001-12-31 2008-01-29 Intel Corporation Method and apparatus for generating SMI from ACPI ASL control code to execute complex tasks
US7418714B2 (en) * 2002-02-26 2008-08-26 Microsoft Corporation Employing three parameter buffer access in connection with SMBus notifications
US6901539B2 (en) * 2002-04-10 2005-05-31 Microsoft Corporation ACPI name space validation
US6990576B2 (en) * 2002-08-07 2006-01-24 Hewlett-Packard Development Company, L.P. System and method for using a firmware interface table to dynamically load an ACPI SSDT
US7178014B2 (en) * 2002-09-04 2007-02-13 Intel Corporation Method and apparatus for using a memory region to pass parameters between a run time environment and SMM handler
US20040064620A1 (en) * 2002-09-30 2004-04-01 Kaushik Shivnandan D. Device representation apparatus and methods
US7007160B1 (en) * 2002-12-03 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for loading an advanced configuration and power interface (ACPI) original equipment manufacturer (OEM) description table
US7197631B1 (en) * 2002-12-23 2007-03-27 Hewlett-Packard Development Company, L.P. System and method for constructing a user application's advanced configuration and power interface (ACPI) namespace
US7502803B2 (en) 2003-05-28 2009-03-10 Hewlett-Packard Development Company, L.P. System and method for generating ACPI machine language tables
US7146493B2 (en) * 2003-06-13 2006-12-05 Hewlett-Packard Development Company, L.P. Systems and methods for protecting advanced configuration and power interface code from driver attachment
CA2439214A1 (en) 2003-08-20 2005-02-20 Sarfaraz A. Qureshi Online marketplace for food, liquor, banquet & deejay industry in an auction and fixed price setup
US20050198421A1 (en) * 2004-03-08 2005-09-08 Nalawadi Rajeev K. Method to execute ACPI ASL code after trapping on an I/O or memory access
US7434201B2 (en) * 2004-06-21 2008-10-07 Hewlett-Packard Development Company, L.P. Method and apparatus providing for extendable interaction between firmware and operating systems on digital devices
CN100390699C (zh) * 2004-08-03 2008-05-28 宏碁股份有限公司 使用随插即用装置的权限辨识方法及应用此方法的系统
CN100369006C (zh) * 2004-09-13 2008-02-13 英业达股份有限公司 一种计算机风扇参数测试码的生成方法
US20060143598A1 (en) * 2004-12-29 2006-06-29 Zimmer Vincent J Method and apparatus for transforming program representations
US20060174231A1 (en) * 2005-01-31 2006-08-03 Dong Wei Method and an apparatus for using code written in a language that is not native to the computer system to invoke a procedure written in a programming language that is native to the computer system
EP1717663A1 (en) * 2005-04-25 2006-11-02 Shuttle Inc. Power-managing key apparatus and method for the same
US7614737B2 (en) * 2005-12-16 2009-11-10 Lexmark International Inc. Method for identifying an installed cartridge
TWI304547B (en) * 2005-12-29 2008-12-21 Ind Tech Res Inst Power-gating control placement for leakage power reduction
US7698546B2 (en) * 2006-04-27 2010-04-13 Microsoft Corporation BIOS configuration update technique
US7953996B2 (en) * 2006-12-18 2011-05-31 Hewlett-Packard Development Company, L.P. ACPI to firmware interface
WO2012109874A1 (zh) * 2011-08-02 2012-08-23 华为技术有限公司 设备动态添加处理方法、装置及动态移除处理方法、装置
CN103116402B (zh) * 2013-02-05 2016-01-20 威盛电子股份有限公司 具有语音控制功能的计算机系统以及语音控制方法
US9690354B1 (en) 2013-05-06 2017-06-27 AGGIOS, Inc. Automatic energy design and management system for assessing system components' energy consumption, compiling energy management control and optimizing energy usage

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787246A (en) * 1994-05-27 1998-07-28 Microsoft Corporation System for configuring devices for a computer system
US5727217A (en) * 1995-12-20 1998-03-10 Intel Corporation Circuit and method for emulating the functionality of an advanced programmable interrupt controller
US6105142A (en) * 1997-02-11 2000-08-15 Vlsi Technology, Inc. Intelligent power management interface for computer system hardware
US5938765A (en) * 1997-08-29 1999-08-17 Sequent Computer Systems, Inc. System and method for initializing a multinode multiprocessor computer system
US5999730A (en) * 1997-10-27 1999-12-07 Phoenix Technologies Limited Generation of firmware code using a graphic representation
US6115813A (en) * 1998-03-05 2000-09-05 Compaq Computer Corporation Selectively enabling advanced configuration and power interface BIOS support
US6112164A (en) * 1998-03-31 2000-08-29 Compaq Computer Corporation Computer system thermal management

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226653A (ja) * 2006-02-24 2007-09-06 Nec Corp Pci多段ブリッジ構成コンピュータにおけるacpiマシン語テーブル記述方法及び装置とそのプログラム
JP2008123442A (ja) * 2006-11-15 2008-05-29 Toshiba Corp 情報処理装置、および情報処理装置の制御方法
JP2009140489A (ja) * 2007-12-04 2009-06-25 Lenovo Singapore Pte Ltd Vmmシステムにおけるユーザosがサービスosによって使用されている装置の電源を切らないようにするためのシステム及び方法
JP2015501048A (ja) * 2011-12-06 2015-01-08 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイス(pcd)上で動作可能なオペレーティングシステムに周辺構成要素インターフェースエクスプレス(pcie)結合デバイスを見せるための方法およびpcd

Also Published As

Publication number Publication date
AU6503099A (en) 2000-04-17
JP4327363B2 (ja) 2009-09-09
WO2000019301A3 (en) 2000-05-25
US6185677B1 (en) 2001-02-06
WO2000019301A2 (en) 2000-04-06
TW514828B (en) 2002-12-21

Similar Documents

Publication Publication Date Title
JP4327363B2 (ja) 周辺リソース構成のためのacpiソース言語の自動生成
US6167511A (en) Method to reflect BIOS set up changes into ACPI machine language
US6970957B1 (en) Dynamically configuring resources for cycle translation in a computer system
US7328279B2 (en) System and method for adding hardware registers to a power management and configuration system
KR100970821B1 (ko) 범용 그래픽 어댑터
US7134007B2 (en) Method for sharing firmware across heterogeneous processor architectures
US5854905A (en) Extensible bios for boot support of devices on multiple hierarchical buses
JP3274604B2 (ja) 周辺デバイスの自動イネーブル方法
US5797031A (en) Method and apparatus for peripheral device control by clients in plural memory addressing modes
US7953996B2 (en) ACPI to firmware interface
JP2001521243A (ja) グラフィック表現を使用したファームウェア・コードの生成
US20070157176A1 (en) Verification of software application attributes for optimal compatibility with a software system
US20040003135A1 (en) Technique for driver installation
JP2003527654A (ja) 自動的デバイスドライバコンフィギュレーション用方法、システム及びコンピュータ読取可能格納媒体
JP2003521778A (ja) 装置の列挙のための仮想rom
US6832278B2 (en) PCI bar target operation region
US6990576B2 (en) System and method for using a firmware interface table to dynamically load an ACPI SSDT
US7017034B2 (en) System and method for using a firmware interface table to dynamically load multiple ACPI SSDT tables
US7428609B2 (en) Method and system to partition hardware resources between operating systems
US7480790B2 (en) Sleep state resume
US6986032B2 (en) System and method for using an operating system defined field in ACPI support multiple operating systems
US7124226B2 (en) Method or apparatus for establishing a plug and play (PnP) communication channel via an abstraction layer interface
US7228263B2 (en) Method for representing root busses using object oriented abstractions
US7007160B1 (en) System and method for loading an advanced configuration and power interface (ACPI) original equipment manufacturer (OEM) description table

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090219

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090413

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090508

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

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

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

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees