JP4327363B2 - 周辺リソース構成のためのacpiソース言語の自動生成 - Google Patents
周辺リソース構成のためのacpiソース言語の自動生成 Download PDFInfo
- Publication number
- JP4327363B2 JP4327363B2 JP2000572742A JP2000572742A JP4327363B2 JP 4327363 B2 JP4327363 B2 JP 4327363B2 JP 2000572742 A JP2000572742 A JP 2000572742A JP 2000572742 A JP2000572742 A JP 2000572742A JP 4327363 B2 JP4327363 B2 JP 4327363B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- acpi
- asl
- computer system
- bios
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Power Sources (AREA)
Description
(発明の背景)
(発明の分野)
本発明は、一般に、コンピュータ・システムの構成の分野に関し、詳細には、ACPI使用可能オペレーティング・システム(「OS」)を有するコンピュータの周辺リソース構成のための高度構成およびパワー・マネージメント・インタフェース(Advanced Configuration And Power Management Interface)(「ACPI」)ソース言語(「ASL」)コードの自動生成に関する。
【0002】
(関連技術の説明)
ACPIは、Microsoft、IntelおよびToshibaによって共同開発され、公開された仕様である。これは、OSに、PCなどのコンピュータ・システムにおけるパワー・マネージメントおよびリソース管理についてのより大きい制御を与えることができる、拡張可能な手段を定義する。ACPIは、OSがマザーボード・デバイスの特性を操作できる、ハードウェアおよびソフトウェア・インタフェースを定義する。この技術は、既存の基本入出力システム(「BIOS」)技術とは、少なくとも2点に関して異なる。すなわち、(i)BIOSサポート・コードが、プラットフォーム固有のアセンブリ言語ではなく、本明細書でさらに論じられるACPI機械語(「AML」)と呼ばれるpコードで書かれること、および(ii)BIOSサポート・コードが、電力またはリソース管理のためのポリシーまたはタイムアウトを決定しないことである。むしろ、これらのポリシーは、オペレーティング・システムによって決定される。
【0003】
ACPIハードウェア・インタフェースがOSへ、2つの類別における機能性を提供する。すなわち、(i)システム管理割込み(「SMI」:System Management Interrupt)ではなく、システム制御割込み(「SCI」:System Control 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で書く。次いで、ASLコードが変換ツールによってAMLコード・バージョンの制御メソッドへ変換される。ASLおよびAMLは密接に関係があるが、異なる言語であることに留意されたい。
【0007】
あらゆるACPI準拠のOSがAMLをサポートしなければならない。しかし、ASLの使用は強制的ではないが、それでもASLを使用することが非常に望ましい。少なくとも理論上は、ユーザが自分自身の任意のソース言語を開発することができ、変換器を使用してこの任意のソース言語をAMLに変換することができる。
【0008】
AMLは、ACPI制御メソッド仮想機械語であり、すなわち、ACPI互換OSによってサポートされる仮想機械用の機械コードである。これは、疑似コード・アセンブリ言語であり、OSドライバによって解釈される。ACPI制御メソッドをAMLで書くことができるが、プログラマは通常、制御メソッドをASLでコーディングする。Intel、Microsoft、およびToshibaによる「ACPI Specification」Revision 1.0a、1998年7月1日発行の第15章は、ASLリファレンスを記載しており、その開示が全体として、参照により本明細書に組み込まれる。「ACPI Specification」Revision 1.0aを、以下で「ACPI仕様」と称する。
【0009】
AMLは、ACPIメソッド・インタプリタによって処理された言語である。これは本来、宣言言語であり、1組の宣言を提供し、これがACPIインタプリタによって、定義ブロックのロード時にACPIネーム空間にコンパイルされる。AMLの要件の1つは、メモリ、I/O、およびPCIコンフィギュレーション空間へのそのアクセスが静的であることであり、そうでなければ動的な値のために提供された機能が大幅に無用となるように制限される。その理由は次の通りである。
(a)それらが、AMLが最初にOSによってロードされたときに評価され、かつ
(b)その時点で修正することは大変困難であるからである。
【0010】
たとえば、少なくとも2つのオブジェクトがあり、オブジェクトのパラメータを修正する能力が望ましい、すなわちProcessorおよびOperationRegionである。一般に、OperationRegion(名前、タイプ、オフセット、長さ)が、メモリのチャンク、I/O空間、PCIコンフィギュレーション空間、埋め込みコントローラ空間、またはSMBus空間へのASLコード・アクセスを提供する。しかし、「オフセット」および「長さ」は式であるが、これらはOSがACPIテーブルをロードするときにのみ評価され、したがって、I/Oアドレスがマザーボード構成可能デバイス/プラグ・アンド・プレイ・ルーチン(「MCD/PnP」)またはマザーボード上のジャンパ設定によって位置変更されたときなど、システムにおいて変更された状態に基づいて修正することは困難である。
【0011】
ACPI Processor(名前、APICID、オフセット、長さ)オブジェクトは、CPUおよびそのパワー・マネージメント制御I/OポートをOSへ宣言する。「オフセット」および「長さ」は式ではなく、したがって、構築時に位置指定されなければならない。これは特に、これらのI/Oアドレスを、たとえばMCD/PnPを使用して位置変更することが望ましい場合、極度な制限である。
【0012】
プラグ・アンド・プレイ(PnP)が、inter alia、MicrosoftおよびIntelによって開発された技術の名称であり、PCハードウェアを、接続された周辺デバイスと自動的に動作させるものであることに留意されたい。マザーボード構成可能デバイス(MCD)は、Phoenix Technologiesの、BIOSにおける使用のためのPnP仕様の実装である。プラグ・アンド・プレイ技術は、ハードウェアでは、オペレーティング・システムに実装され、および、デバイス・ドライバおよびBIOSなどのサポーティング・ソフトウェアに実装される。様々なプラグ・アンド・プレイ技術があり、たとえば、BIOS、ISA、SCSI、IDE CD−ROMおよびその他が含まれる。この明細書では、プラグ・アンド・プレイへの参照は、プラグ・アンド・プレイBIOS仕様への、かつ、プラグ・アンド・プレイBIOS仕様のMCD実装への参照である。
【0013】
もう1つの問題が起こる理由は、システムBIOSにおいて、ユーザがSetupプログラムを入力して、マザーボード統合周辺装置の設定を修正することができるからである。この設定にはしばしば、たとえば、デバイスのデフォルト・リソース設定(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 Settings)オブジェクトがデバイス下で発見された場合、ユーザの設定がそうでないものを指示する場合でも、このデバイスが多数の構成をサポートしなければならないと仮定する。したがって、OSがリソース設定を、Setupプログラムを使用してユーザによって指示されたプリファレンスと矛盾する方法で、修正することができる。
【0016】
以下のサブセクションはACPIアーキテクチャの概観を提供し、これは、以下の「発明の概要」というセクションに要約された、本発明のよりよい理解を容易にするものである。
【0017】
(ACPIアーキテクチャの概観)
ACPI仕様は、OSソフトウェア、ハードウェアおよびBIOSソフトウェアの間のインタフェースを含んでいるACPIインタフェースを定義する。加えて、この仕様は、これらのインタフェースの意味も定義する。
【0018】
図1は、ACPIに関連したソフトウェアおよびハードウェア構成要素、および、それらが互いにどのように関係するかを定義するブロック図である。ACPI仕様は、構成要素の間のインタフェース、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およびToshibaによる「ACPI Specification Document」Revision 1.0a、1998年7月1日において提供されており、その内容が全体として、参照により本明細書に組み込まれる。この文書は現在、インターネット上のhttp://www.teleport.com/〜acpiでも入手可能である。
【0023】
以前に論じたように、新しいACPI仕様の出現により、以前にPhoenix 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構成特定コードを移植する必要が大いにあり、これは典型的には、アセンブリ言語においてASLへ行われ、ACPI準拠のBIOSが、以前にPhoenix Technologyによって提供されたBIOSの従来のMCD/PnPサブシステムによって提供されたランタイム・サービス、および、リソース構成要素を提供できるようにする。
【0025】
このアセンブリ・コードのすべてをASLコードへ移植することは、非常に困難な作業である。これは、アセンブリ・コードが各デバイスに特有であるからである。たとえば、Phoenix TechnologiesのBIOSは、PnPリソース構造情報をデバイス・ノード構造の形式で格納する。デバイスの構造を格納するこのPhoenix BIOSサブシステムは、マザーボード構成可能デバイス(「MCD」)サブシステムと呼ばれる。MCD構造は、BIOSにおいてマクロによって初期化される。
【0026】
ASLコードを、MCDデバイスのすべての可能な構成について生成する必要があり、これにより大量のASLコードが書かれる結果となる可能性がある。したがって、BIOSのための構築処理が完了した後で、これらのPnP MCD構造をASLへ自動変換する必要性が大いにある。このPnP MCD情報がASLへ変換された後、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コードを生成して、デバイスのPnP 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)指定された基準に従ってデバイス・ノード構造を発見するステップ、および(iii)指定された基準に基づいて発見されたデバイス・ノード構造に対応するASLコードを生成するステップを含んでいる。
【0039】
この方法には、デバイス・ノード構造を発見するために指定された基準が、静的デバイスに、あるいはMCDデバイスに対応するデバイス・ノード構造を含んでいる。
【0040】
この方法には、ASLコードを生成することが、デバイスのPnP Idを抽出することを含んでいる。
【0041】
この方法にはさらに、ASLコードを生成することが、_CRS制御メソッドを作成すること、および、任意選択的に、必要とされる可能性がある他の制御メソッドを作成することを含んでいる。
【0042】
また、提供されるものには、高度構成およびパワー・マネージメントインタフェース(「ACPI」)準拠の基本入出力システム(「BIOS」)を有するコンピュータ・システムにおいて使用可能な製造品もあり、この製造品は、コンピュータ・システムにおけるACPIソース言語(「ASL」)コードの自動生成のためにそこに書き込まれたコンピュータ可読プログラム・コードを有するコンピュータ可読媒体を含んでおり、このコンピュータ可読プログラム・コードは、(I)BIOSにおいてすべてのデバイス・ノード構造を走査し、指定された基準に従ってデバイス・ノード構造を発見する第1のコンピュータ可読コード、および、(ii)指定された基準に基づいて発見されたオブジェクトに対応するASLコードを修正する第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 BIOSが、各デバイスについて_HIDを供給して、ACPIドライバがデバイスを列挙できるようにする。たとえばPCIバスなど、列挙可能なバス上のデバイスについては、ACPIシステムが、列挙可能なバス上のどのデバイスが特定のPnP Idによって識別されるかを識別する必要がある。これを実施するため、ACPI BIOSが_ADRオブジェクトを供給する。
【0056】
デバイス構成オブジェクトが、ACPIによって列挙されたデバイスのためのハードウェア・リソースを構成するための情報を提供する。これらのオブジェクトが、現在および可能なリソース要件、共有リソースの間の関係、および、ハードウェア・リソースを構成するための方法についての情報を提供する。デバイス構成オブジェクトは、以下の通りである。
【0057】
_CRSは、デバイスの現在のリソース設定を指定するオブジェクトであり、あるいはそのようなオブジェクトを生成する制御メソッドである。これは、ACPI仕様において必要とされるオブジェクトである。リソース・データが、一連のデータ構造として提供され、各データ構造が一意のタグまたは識別子を有する。リソース・データ構造におけるデータの例には、メモリ・アドレス範囲、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制御メソッドを生成する。さらに、静的デバイス・ノードの構成が、定義によって、変更不可能であるため、静的デバイスについてそれ以上の制御メソッドが生成されない。devの後に続くバイト、ノード構造(_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がこれらのMCDマクロを解釈し、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_POSSIBLE_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−on 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* endBuffer,WORD biosEnd,FILE* outFile);
StaticStartは、BCG.ROMにおいて静的devnodeが格納される場所である。StaticEndは、BCG.ROMにおいてdevnodeが終了する場所である。
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】 生成任意選択制御メソッド処理のステップを例示する流れ図である。
Claims (16)
- 高度構成およびパワー・マネージメントインタフェース(「ACPI」)ソース言語(「ASL」)コードを、ACPI準拠のBIOSを有するコンピュータ・システムの基本入出力システム(「BIOS」)において自動生成する方法であって、
コンピュータ・システムによって、BIOS構築処理によって生成されたファイルを読み取って、デバイス・ノード構造を発見するステップと、
前記コンピュータ・システムによって、前記発見された前記デバイス・ノード構造に対応するASLコードを生成するステップと
を含み、さらに、前記ASLコードを生成するステップが、
前記発見されたデバイス・ノード構造から読み取ったプラグアンドプレイ(PnP)Idに対応するデバイスを、デバイス識別オブジェクトによって識別するステップと、
前記識別されたデバイスのリソースを、デバイス構成オブジェクトによって構成するステップと
を含んでいる方法。 - 高度構成およびパワー・マネージメントインタフェース(「ACPI」)ソース言語(「ASL」)コードを、ACPI準拠のBIOSを有するコンピュータ・システムの基本入出力システム(「BIOS」)において自動生成する方法であって、
コンピュータ・システムによって、BIOS構築処理によって生成されたファイルを読み取って、静的デバイス・ノード構造を発見するステップと、
前記コンピュータ・システムによって、前記発見された前記静的デバイス・ノード構造に対応するASLコードを生成するステップと
を含んでいる方法。 - 前記デバイス構成オブジェクトが、前記デバイスの現在のリソース設定を指定するための_CRS制御メソッドを含んでいる請求項1に記載の方法。
- 前記BIOS構築処理によって生成されたファイルがBCG.ROM、ROMEXEC.ROM、およびBUILD.MAPファイルを含んでいる請求項2に記載の方法。
- 前記デバイス・ノード構造がマザーボード構成可能デバイス(「MCD」)に対応する請求項1に記載の方法。
- 前記ASLコードを生成する前記ステップが、同じPnP Idを有する2つのデバイスの間で区別するための2次Idを生成することをさらに含んでいる請求項1に記載の方法。
- 前記ASLコードを生成する前記ステップが、
MCDマクロを読み取ること、および
前記MCDマクロに含まれた情報を符号化するASLパッケージ・コードを生成することを含んでいる請求項5に記載の方法。 - 前記デバイス構成オブジェクトが、さらに、デバイスの可能なリソース設定を指定する_PRS、該_PRSによって指定されたリソース設定を構成する_SRS、デバイスを使用不可にする_DIS、デバイスの状況を返す_STA制御メソッドを含んでいる請求項1に記載の方法。
- 高度構成およびパワー・マネージメントインタフェース(「ACPI」)準拠の基本入出力システム(「BIOS」)を有するコンピュータ・システムにおいて使用可能なコンピュータ可読記憶媒体であって、
前記コンピュータ・システムにおけるACPIソース言語(「ASL」)コードを自動生成するためのコンピュータ可読プログラム・コードを含んでおり、前記コンピュータ可読プログラム・コードは、
コンピュータ・システムに、BIOS構築処理によって生成されたファイルを読み取らせてデバイス・ノード構造を発見させる第1のプログラム・コードと、
前記コンピュータ・システムに、前記発見された前記デバイス・ノード構造に対応するASLコードを生成させる第2のプログラム・コードと
を含み、さらに、この第2のプログラム・コードが、
前記発見されたデバイス・ノード構造から読み取ったプラグアンドプレイ(PnP)Idに対応するデバイスを、前記コンピュータ・システムのデバイス識別オブジェクトに識別させるプログラム・コードと、
前記識別されたデバイスのリソースを、前記コンピュータ・システムのデバイス構成オブジェクトに構成させるプログラム・コードと
を含んでいるコンピュータ可読記憶媒体。 - 高度構成およびパワー・マネージメントインタフェース(「ACPI」)準拠の基本入出力システム(「BIOS」)を有するコンピュータ・システムにおいて使用可能なコンピュータ可読記憶媒体であって、
前記コンピュータ・システムにおけるACPIソース言語(「ASL」)コードを自動生成するためのコンピュータ可読プログラム・コードを含んでおり、前記コンピュータ可読プログラム・コードは、
コンピュータ・システムに、BIOS構築処理によって生成されたファイルを読み取らせて静的デバイス・ノード構造を発見させる第1のプログラム・コードと、
前記コンピュータ・システムに、前記発見された静的デバイス・ノード構造に対応するASLコードを生成させる第2のプログラム・コードと
を含んでいるコンピュータ可読記憶媒体。 - 前記第2のプログラム・コードが、前記デバイスの現在のリソース設定を指定するための_CRS制御メソッドを、前記コンピュータ・システムに作成させるプログラム・コードを含んでいる請求項9に記載のコンピュータ可読記憶媒体。
- 前記BIOS構築処理によって生成されたファイルがBCG.ROM、ROMEXEC.ROM、およびBUILD.MAPファイルを含んでいる請求項10に記載のコンピュータ可読記憶媒体。
- 前記デバイス・ノード構造がマザーボード構成可能デバイス(「MCD」)に対応する請求項9に記載のコンピュータ可読記憶媒体。
- 前記第2のプログラム・コードが、同じPnP Idを有するデバイスの間で区別するための2次Idを、前記コンピュータ・システムに生成させるプログラム・コードを含んでいる請求項9に記載のコンピュータ可読記憶媒体。
- 第2のプログラム・コードが、前記コンピュータ・システムにMCDマクロを読み取らせ、前記MCDマクロに含まれた情報を符号化するASLパッケージ・コードを生成させるプログラム・コードを含んでいる請求項14に記載のコンピュータ可読記憶媒体。
- 前記第2のプログラム・コードが、さらに、デバイスの可能なリソース設定を指定する_PRS、該_PRSによって指定されたリソース設定を構成する_SRS、デバイスを使用不可にする_DIS、デバイスの状況を返す_STA制御メソッドを前記コンピュータ・システムに生成させるプログラム・コードをさらに含んでいる請求項9に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/163,358 US6185677B1 (en) | 1998-09-30 | 1998-09-30 | Automatic generation of ACPI source language for peripheral resource configuration |
US09/163,358 | 1998-09-30 | ||
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 JP2002526823A (ja) | 2002-08-20 |
JP4327363B2 true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009535690A (ja) * | 2006-04-27 | 2009-10-01 | マイクロソフト コーポレーション | Bios構成の更新技術 |
Families Citing this family (40)
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 |
US6928498B2 (en) * | 2001-01-31 | 2005-08-09 | Efficient Networks, Inc. | System and method for identifying open peripheral component interconnect (PCI) slots |
US6772252B1 (en) * | 2001-01-31 | 2004-08-03 | Efficient Networks, Inc. | System and method for identifying a product for use with a computing device |
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 |
GB2373887A (en) * | 2001-03-28 | 2002-10-02 | Hewlett Packard Co | Context dependent operation, including power management, of a mobile computer |
GB2373886A (en) * | 2001-03-28 | 2002-10-02 | Hewlett Packard Co | User selectable power management of software applications |
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 |
JP4831317B2 (ja) * | 2006-02-24 | 2011-12-07 | 日本電気株式会社 | Pci多段ブリッジ構成コンピュータにおけるacpiマシン語テーブル記述方法及び装置とそのプログラム |
JP4960066B2 (ja) * | 2006-11-15 | 2012-06-27 | 株式会社東芝 | 情報処理装置、および情報処理装置の制御方法 |
US7953996B2 (en) * | 2006-12-18 | 2011-05-31 | Hewlett-Packard Development Company, L.P. | ACPI to firmware interface |
US7844845B2 (en) * | 2007-12-04 | 2010-11-30 | Lenovo (Singapore) Pte. Ltd. | System and method for preventing user O.S. in VMM system from deenergizing device being used by service O.S. |
WO2012109874A1 (zh) * | 2011-08-02 | 2012-08-23 | 华为技术有限公司 | 设备动态添加处理方法、装置及动态移除处理方法、装置 |
US8984174B2 (en) * | 2011-12-06 | 2015-03-17 | Qualcomm Incorporated | Method and a portable computing device (PCD) for exposing a peripheral component interface express (PCIE) coupled device to an operating system operable on the PCD |
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)
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 |
-
1998
- 1998-09-30 US US09/163,358 patent/US6185677B1/en not_active Expired - Lifetime
-
1999
- 1999-09-30 JP JP2000572742A patent/JP4327363B2/ja not_active Expired - Fee Related
- 1999-09-30 WO PCT/US1999/022670 patent/WO2000019301A2/en active Application Filing
- 1999-09-30 AU AU65030/99A patent/AU6503099A/en not_active Abandoned
-
2000
- 2000-01-26 TW TW088116825A patent/TW514828B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009535690A (ja) * | 2006-04-27 | 2009-10-01 | マイクロソフト コーポレーション | Bios構成の更新技術 |
Also Published As
Publication number | Publication date |
---|---|
US6185677B1 (en) | 2001-02-06 |
JP2002526823A (ja) | 2002-08-20 |
AU6503099A (en) | 2000-04-17 |
TW514828B (en) | 2002-12-21 |
WO2000019301A2 (en) | 2000-04-06 |
WO2000019301A3 (en) | 2000-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4327363B2 (ja) | 周辺リソース構成のためのacpiソース言語の自動生成 | |
US6970957B1 (en) | Dynamically configuring resources for cycle translation in a computer system | |
US6167511A (en) | Method to reflect BIOS set up changes into ACPI machine language | |
US5854905A (en) | Extensible bios for boot support of devices on multiple hierarchical buses | |
KR100247719B1 (ko) | 주변 디바이스의 자동 인에이블 방법, 및 주변 디바이스의 자동 인에이블 프로그램을 저장한 기억 매체 | |
US5903894A (en) | System and method for using a hierarchical data structure to control and identify devices and represent connections between the devices | |
US7191439B2 (en) | Verification of software application attributes for optimal compatibility with a software system | |
US7328279B2 (en) | System and method for adding hardware registers to a power management and configuration system | |
US7134007B2 (en) | Method for sharing firmware across heterogeneous processor architectures | |
US20040003135A1 (en) | Technique for driver installation | |
US20040230963A1 (en) | Method for updating firmware in an operating system agnostic manner | |
US5797031A (en) | Method and apparatus for peripheral device control by clients in plural memory addressing modes | |
US7953996B2 (en) | ACPI to firmware interface | |
US20070118723A1 (en) | Computer system and method that eliminates the need for an operating system | |
JP2001521243A (ja) | グラフィック表現を使用したファームウェア・コードの生成 | |
US7454547B1 (en) | Data exchange between a runtime environment and a computer firmware in a multi-processor computing system | |
US6990576B2 (en) | System and method for using a firmware interface table to dynamically load an ACPI SSDT | |
JP2010015595A (ja) | コンピュータシステム内の拡張ボードの動作をモデル化する装置および方法 | |
US6832278B2 (en) | PCI bar target operation region | |
JP2003521778A (ja) | 装置の列挙のための仮想rom | |
JP2004070946A (ja) | CECCSRのためにACPIにおけるvendor−longディスクリプタを使用するシステムおよび方法 | |
US7017034B2 (en) | System and method for using a firmware interface table to dynamically load multiple ACPI SSDT tables | |
JP2006164265A (ja) | サブシステム間のリソース共有の可能化 | |
US20040068733A1 (en) | Method and system for integrating non-compliant providers of dynamic services into a resource management infrastructure | |
US7480790B2 (en) | Sleep state resume |
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 |