(57)【特許請求の範囲】
【請求項１】
ＴＥＥという信頼できる実行環境、および、ｎｏｎ−ＴＥＥという信頼できない実行環境を有し、特定のインタラプトに応答して前記ｎｏｎ−ＴＥＥから前記ＴＥＥにエントリするプロセッシングデバイスであって、前記ＴＥＥは、前記ｎｏｎ−ＴＥＥからアクセス不可能なメモリから実行される、プロセッシングデバイスと、
前記メモリに記憶され、ハードウェア構成レジスタを表わしている要求の指標をアービタ論理から受信するように前記ＴＥＥ内で動作する要求サービス論理と、
前記メモリに記憶され、前記ＴＥＥ内で動作し、前記要求によって表わされる前記ハードウェア構成レジスタの値のインジケータを前記アービタ論理にレポートするレポーティング論理であり、前記アービタ論理が、レポートされた前記ハードウェア構成レジスタの値のインジケータを評価して、記憶されたセキュリティ要件が満たされていないと決定される場合にアクションを実行する、レポーティング論理と、
を備える、ハードウェア構成レポーティング用の装置。
【請求項２】
前記アービタ論理からの前記要求の前記指標は、前記ｎｏｎ−ＴＥＥにおいて動作している場合に前記プロセッシングデバイスにアクセス可能な予め定められたレジスタに記憶されている値に、少なくとも部分的に基づく、
請求項１に記載の装置。
【請求項３】
前記アービタ論理からの前記要求の前記指標は、前記プロセッシングデバイスの前記ＴＥＥへのエントリをトリガした前記特定のインタラプトのソースに、少なくとも部分的に基づく、
請求項１または２に記載の装置。
【請求項４】
前記アービタ論理は、前記プロセッシングデバイスの前記ｎｏｎ−ＴＥＥにおいて動作する、
請求項１から３の何れか一項に記載の装置。
【請求項５】
前記アービタ論理は、前記プロセッシングデバイスと異なる第２のプロセッシングデバイス上で動作する、
請求項１から３の何れか一項に記載の装置。
【請求項６】
前記アービタ論理は、前記プロセッシングデバイスの前記ＴＥＥにおいて動作する、
請求項１から３の何れか一項に記載の装置。
【請求項７】
前記要求は前記ハードウェア構成レジスタの値のクエリであり、前記ハードウェア構成レジスタの前記値の前記インジケータは前記ハードウェア構成レジスタの前記値である、
請求項１から６の何れか一項に記載の装置。
【請求項８】
前記要求は、前記ハードウェア構成レジスタの値が規定値に等しいことのチェックであり、前記ハードウェア構成レジスタの前記値の前記インジケータは、前記ハードウェア構成レジスタの前記値が前記規定値に等しいか否かのバイナリインジケータである、
請求項１から６の何れか一項に記載の装置。
【請求項９】
前記アービタ論理は、前記プロセッシングデバイスの基本入出力オペレーティングシステム（ＢＩＯＳ）において動作しているドライバ実行環境（ＤＸＥ）スクリプトである、
請求項８に記載の装置。
【請求項１０】
前記要求サービス論理は更に、複数のドライバのうちの何れが、前記要求によって表わされる前記ハードウェア構成レジスタにアクセス可能であるかを決定し、決定されたドライバと通信して前記要求をサービスする、
請求項１から９の何れか一項に記載の装置。
【請求項１１】
前記アービタ論理は、起動したときに実行する基本入出力オペレーティングシステム（ＢＩＯＳ）フェーズアービタである、
請求項１から１０の何れか一項に記載の装置。
【請求項１２】
前記ＴＥＥは、システム管理モードである、
請求項１から１１の何れか一項に記載の装置。
【請求項１３】
コンピューティング論理が、アプリケーションからの要求の指標を、プロセッシングデバイスのＴＥＥという信頼できる実行環境のレポーティング論理に提供する段階であって、
前記プロセッシングデバイスが、前記ＴＥＥと、ｎｏｎ−ＴＥＥという信頼できない実行環境とを有し、
前記プロセッシングデバイスが、特定のインタラプトに応答して前記ｎｏｎ−ＴＥＥから前記ＴＥＥにエントリし、
前記ＴＥＥが、前記ｎｏｎ−ＴＥＥからアクセス不可能なメモリから実行され、
前記レポーティング論理が前記メモリに記憶され、
前記要求がハードウェア構成レジスタを表わしている段階と、
前記要求の前記指標を受信したことに応答して前記レポーティング論理によって提供された、前記要求によって表わされる前記ハードウェア構成レジスタの値のインジケータが、記憶されたセキュリティ要件を満たしていないと、前記コンピューティング論理が決定する段階と、
前記コンピューティング論理が、前記記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行する段階と
を備える、ハードウェア構成アービトレーションの方法。
【請求項１４】
前記記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行する段階が、前記記憶されたセキュリティ要件が満たされていないとの決定に応答して、前記記憶されたセキュリティ要件が満たされていないことのインジケータの表示をディスプレイデバイス上に引き起こす段階を含む、
請求項１３に記載の方法。
【請求項１５】
前記記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行する段階が、前記記憶されたセキュリティ要件が満たされていないとの決定に応答して、前記ハードウェア構成レジスタと関連付けられたハードウェアにシャットダウンさせる段階を含む、
請求項１３または１４に記載の方法。
【請求項１６】
前記ハードウェア構成レジスタは、チップセット再マッピングレジスタである、
請求項１３から１５の何れか一項に記載の方法。
【請求項１７】
前記ハードウェア構成レジスタは、システム管理モードロックレジスタである、
請求項１３から１５の何れか一項に記載の方法。
【請求項１８】
前記ハードウェア構成レジスタは、フラッシュ部分ロックレジスタである、
請求項１３から１５の何れか一項に記載の方法。
【請求項１９】
前記コンピューティング論理の少なくとも一部は、前記プロセッシングデバイスの前記ｎｏｎ−ＴＥＥにおいて動作する、
請求項１３から１８の何れか一項に記載の方法。
【請求項２０】
前記コンピューティング論理の少なくとも一部は、前記プロセッシングデバイスと異なる第２のプロセッシングデバイス上で動作する、
請求項１３から１８の何れか一項に記載の方法。
【請求項２１】
前記コンピューティング論理の少なくとも一部は、前記プロセッシングデバイスの前記ＴＥＥにおいて動作する、
請求項１３から１８の何れか一項に記載の方法。
【請求項２２】
前記ＴＥＥは、システム管理モードである、
請求項１３から２１の何れか一項に記載の方法。
【請求項２３】
装置に請求項１３から２２の何れか一項に記載の方法を実行させるためのプログラム。
【請求項２４】
請求項２３に記載のプログラムを格納している、１つ又は複数の機械可読記録媒体。
【請求項２５】
アプリケーションからの要求の指標を、プロセッシングデバイスのＴＥＥという信頼できる実行環境のレポーティング論理に提供するための手段であって、
前記プロセッシングデバイスが、前記ＴＥＥと、ｎｏｎ−ＴＥＥという信頼できない実行環境とを有し、
前記プロセッシングデバイスが、特定のインタラプトに応答して前記ｎｏｎ−ＴＥＥから前記ＴＥＥにエントリし、
前記ＴＥＥが、前記ｎｏｎ−ＴＥＥからアクセス不可能なメモリから実行され、
前記レポーティング論理が前記メモリに記憶され、
前記要求がハードウェア構成レジスタを表わしている手段と、
前記要求の前記指標を受信したことに応答して前記レポーティング論理によって提供された、前記要求によって表わされる前記ハードウェア構成レジスタの値のインジケータが、記憶されたセキュリティ要件を満たしていないと決定するための手段と、
前記記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行するための手段と
を備える、ハードウェア構成アービトレーション用の装置。
【請求項２６】
前記記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行するための前記手段が、前記記憶されたセキュリティ要件が満たされていないとの決定に応答して、前記記憶されたセキュリティ要件が満たされていないことのインジケータの表示をディスプレイデバイス上に引き起こすための手段を含む、
請求項２５に記載の装置。
【請求項２７】
ＴＥＥという信頼できる実行環境、および、ｎｏｎ−ＴＥＥという信頼できない実行環境を有し、特定のインタラプトに応答して前記ｎｏｎ−ＴＥＥから前記ＴＥＥにエントリするプロセッシングデバイスであって、前記ＴＥＥは、前記ｎｏｎ−ＴＥＥからアクセス不可能なメモリから実行される、プロセッシングデバイスと、
前記メモリに記憶され、ハードウェア構成レジスタを表わしている要求の指標をアービタ論理から受信するように前記ＴＥＥ内で動作する要求サービス論理と、
前記メモリに記憶され、前記ＴＥＥ内で動作し、前記要求によって表わされる前記ハードウェア構成レジスタの値のインジケータを前記アービタ論理にレポートするレポーティング論理と、
を備え、前記要求は、前記ハードウェア構成レジスタの値が規定値に等しいことのチェックであり、前記ハードウェア構成レジスタの前記値の前記インジケータは、前記ハードウェア構成レジスタの前記値が前記規定値に等しいか否かのバイナリインジケータである、ハードウェア構成レポーティング用の装置。
【請求項２８】
ＴＥＥという信頼できる実行環境、および、ｎｏｎ−ＴＥＥという信頼できない実行環境を有し、特定のインタラプトに応答して前記ｎｏｎ−ＴＥＥから前記ＴＥＥにエントリするプロセッシングデバイスであって、前記ＴＥＥは、前記ｎｏｎ−ＴＥＥからアクセス不可能なメモリから実行される、プロセッシングデバイスと、
前記メモリに記憶され、ハードウェア構成レジスタを表わしている要求の指標をアービタ論理から受信するように前記ＴＥＥ内で動作する要求サービス論理と、
前記メモリに記憶され、前記ＴＥＥ内で動作し、前記要求によって表わされる前記ハードウェア構成レジスタの値のインジケータを前記アービタ論理にレポートするレポーティング論理と、
を備え、前記要求サービス論理は更に、複数のドライバのうちの何れが、前記要求によって表わされる前記ハードウェア構成レジスタにアクセス可能であるかを決定し、決定されたドライバと通信して前記要求をサービスする、ハードウェア構成レポーティング用の装置。
【請求項２９】
ＴＥＥという信頼できる実行環境、および、ｎｏｎ−ＴＥＥという信頼できない実行環境を有し、特定のインタラプトに応答して前記ｎｏｎ−ＴＥＥから前記ＴＥＥにエントリするプロセッシングデバイスであって、前記ＴＥＥは、前記ｎｏｎ−ＴＥＥからアクセス不可能なメモリから実行される、プロセッシングデバイスと、
前記メモリに記憶され、ハードウェア構成レジスタを表わしている要求の指標をアービタ論理から受信するように前記ＴＥＥ内で動作する要求サービス論理と、
前記メモリに記憶され、前記ＴＥＥ内で動作し、前記要求によって表わされる前記ハードウェア構成レジスタの値のインジケータを前記アービタ論理にレポートするレポーティング論理と、
を備え、前記アービタ論理は、起動したときに実行する基本入出力オペレーティングシステム（ＢＩＯＳ）フェーズアービタである、ハードウェア構成レポーティング用の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピューティング装置に関する。より具体的には、ハードウェア構成レポーティングに関する。
【背景技術】
【０００２】
起動中に利用されるハードウェア構成レジスタの値は通常、ブートエンジニアによって最初に手動で構成される。その結果として、適切な構成はヒューマンエラーを受けやすく、多くの場合、手動構成におけるミスは見逃されることがある。
【図面の簡単な説明】
【０００３】
複数の実施形態は、添付の図面と共に、以下の詳細な説明によって容易に理解される。この説明を容易にする目的で、同様の構造要素が同様の参照番号によって指定されている。複数の実施形態は、添付の図面の複数の図において、例として図示されるのであって、限定するものとして図示されるのではない。
【図１】様々な実施形態による、ハードウェア構成レポーティングシステムのブロック図である。
【図２】様々な実施形態による、アービタ論理の１つ又は複数のインスタンシエイションを有するハードウェア構成レポーティングシステムのブロック図である。
【図３】様々な実施形態による、信頼できる実行環境としてシステム管理モードを有するハードウェア構成レポーティングシステムのブロック図である。
【図４】様々な実施形態による、複数のドライバを含むレポーティング論理のブロック図である。
【図５】様々な実施形態による、ハードウェア構成レポーティングの方法の流れ図である。
【図６】様々な実施形態による、ハードウェア構成アービトレーションの方法の流れ図である。
【図７】様々な実施形態による、ハードウェア構成レポーティングおよびアービトレーションの方法の流れ図である。
【図８】幾つかの実施形態による、ハードウェア構成レポーティングシステム１００に含まれ得る更新システムのブロック図である。
【図９】様々な実施形態による、開示される複数の実施形態の様々なものを実施するのに適した例示的な装置のブロック図である。
【発明を実施するための形態】
【０００４】
ハードウェア構成レポーティングおよびアービトレーションに関連する複数の実施形態が本明細書で開示される。例えば、ハードウェア構成レポーティングの装置は、信頼できる実行環境（ＴＥＥ）および信頼できない実行環境（ｎｏｎ−ＴＥＥ）を有するプロセッシングデバイスと、メモリに記憶され、ハードウェア構成レジスタを表わす要求の指標をアービタ論理から受信するようにＴＥＥ内で動作する要求サービス論理と、メモリに記憶され、ＴＥＥ内で動作し、その要求によって表わされるハードウェア構成レジスタの値のインジケータをアービタ論理にレポートするレポーティング論理とを含んでもよい。
【０００５】
上記で述べたように、コンピューティング装置の複数のスタートアップ操作を担う技術者は、意図しないで又は故意に、（多くの場合に４０又はそれより多くの数に達する）特定の複数のハードウェア構成レジスタを適切に設定し損なうことがある。これらのエラーは、極めてコストがかかるかもしれない。もしアクセス許可に対応するレジスタが「オープン」にされたまま（すなわち、改ざんに対してロックされていない）ならば、悪性コードが、そのオープンドアの足元を見て、全ての後続性能に影響する可能性がある複数の変更を行うかもしれない。例えば、もしフラッシュ部分ロックレジスタがアンロックにされたままならば、マザーボード上のリードオンリメモリ（ＲＯＭ）は、悪性コードによる再書き込みに対してオープンにされたままであるかもしれない。起動中に、チップセットメモリマップは、中央処理装置（ＣＰＵ）からフラッシュ部分までに対して、複数の第１命令を実行するように指示するかもしれない。これらの命令が悪意をもって変更されている場合、任意の他の保護が適切に行われる前にＣＰＵがその悪性コードを実行してしまうかもしれない。
【０００６】
本明細書で開示される複数のハードウェア構成レポーティングシステム及び技術の様々な実施形態は、起動中および／またはランタイム中のそのようなエラーの検出を可能にし得、装置が、そのセキュリティリスクを軽減する、又は、ユーザにそのセキュリティリスクを警告する、といった複数のアクションを取ることを可能にし得る。幾つかの実施形態において、管理者又は権限を与えられた他のエンティティは、本明細書で開示される複数のハードウェア構成レポーティングシステム及び技術を用いて、ハードウェア構成情報を入手及びレビューして、（例えば予め定義されたセキュリティポリシーに従って）次の複数の段階を決定してもよい。
【０００７】
以下の詳細な説明では、その一部を形成し、全体を通じて同様の部分が同様の番号によって指定されている添付の図面が参照される。その一部は、添付の図面において、実施され得る複数の例示的な実施形態として示されている。複数の他の実施形態が使用され得ること、及び、本開示の範囲から逸脱することなく複数の構造的又は論理的変更が行われ得ることが理解される。従って、以下の詳細な説明は、限定する意味で解釈されるべきではなく、複数の実施形態の範囲は、添付の特許請求の範囲およびその複数の等価物により規定される。
【０００８】
様々な動作が、特許請求の範囲で主張される主題の理解に最も役立つ態様で、複数の個別のアクション又は動作として順に説明され得る。しかしながら、説明の順序は、これらの動作が必ず順序に左右されるということを暗に示すように解釈されるべきではない。とりわけ、これらの動作は、表示の順序で実行されなくてもよい。説明される複数の動作は、説明される実施形態と異なる順序で実行されてもよい。追加の複数の実施形態では、様々な追加の動作が実行されてもよく、および／または、説明される複数の動作が省略されてもよい。
【０００９】
本開示の目的のため、「Ａおよび／またはＢ」という文言は、（Ａ）、（Ｂ）または（ＡおよびＢ）を意味する。本開示の目的のため、「Ａ、Ｂおよび／またはＣ」という文言は、（Ａ）、（Ｂ）、（Ｃ）、（ＡおよびＢ）、（ＡおよびＣ）、（ＢおよびＣ）または（Ａ、ＢおよびＣ）を意味する。
【００１０】
本明細書では、「ある実施形態において」または「複数の実施形態において」という文言を用いているが、これらは各々、複数の同じ実施形態または異なる実施形態の１つ又は複数を指していてもよい。更に、本開示の複数の実施形態に対して用いられる、「備える（comprising）」、「含む（including）」、「有する（having）」等の用語は類義語である。本明細書で用いられる、「論理」という用語は、ここで説明される機能を提供する、１つ又は複数のソフトウェアまたはファームウェアプログラム、組み合わせ論理回路、および／または、他の複数の適切なコンポーネントを実行する、特定用途向け集積回路（ＡＳＩＣ）、電子回路、（共有、専用またはグループ）プロセッサ、および／または、（共有、専用またはグループ）メモリを指し、または、その一部であり、または、それらを含んでもよい。 
【００１１】
図１は、様々な実施形態による、ハードウェア構成レポーティングシステム１００のブロック図である。ハードウェア構成レポーティングシステム１００は、（図２に示されている）信頼できる実行環境（ＴＥＥ）１１６または１つ又は複数の信頼できない実行環境（ｎｏｎ−ＴＥＥ）１１８で動作可能なプロセッシングデバイスを有する装置（例えば図９を参照して以下で検討される装置９００）で実行される。プロセッシングデバイスがＴＥＥ１１６にある場合に実行されるメモリ記憶論理（ＴＥＥメモリと称される）は、プロセッシングデバイスがｎｏｎ−ＴＥＥ１１８にある場合に実行されるメモリ記憶論理から隔離されてもよい。これにより、プロセッシングデバイスがｎｏｎ−ＴＥＥ１１８にある場合に動作する論理は、ＴＥＥメモリにアクセスできない。プロセッシングデバイスは、インタラプトに応答して、ＴＥＥ１１６とｎｏｎ−ＴＥＥ１１８との間で移行するように構成されてもよい。
【００１２】
幾つかの実施形態において、ＴＥＥ１１６は、プロセッシングデバイスのシステム管理モード（ＳＭＭ）であってもよい。ＳＭＭは、多くの場合、電力制御および熱調整などの複数の低レベル動作を管理するのに用いられる、プロセッシングデバイスモードである。ＳＭＭは、ＳＭＭの外部で動作している論理に不可視又はアクセス不可能である、独自の隠しメモリ空間および実行環境を有してもよい。幾つかの実施形態において、ＳＭＭは、装置の基本入出力オペレーティングシステム（ＢＩＯＳ）によってインストールされてもよく、プロセッシングデバイスがシステム管理インタラプト（ＳＭＩ）を受信した場合に入力されてもよい。ＳＭＩを検出すると、非ＳＭＭのワーキングメモリが後の再インスタンシエイション用に記憶させられ、プロセッシングデバイスがＳＭＭにエントリしてもよい。本明細書でＢＩＯＳに関して検討される複数の実施形態は、統一型拡張ファームウェアインタフェース（ＵＥＦＩ）に関して類似的に実行されてもよい。
【００１３】
ハードウェア構成レポーティングシステム１００は、アービタ論理１０２とレポーティング論理１０４とを含んでもよい。レポーティング論理１０４は、ＴＥＥから動作可能であってもよく、プロセッシングデバイスがｎｏｎ−ＴＥＥ１１８にある場合に実行される論理から隔離されてもよい。とりわけ、レポーティング論理１０４は、ＴＥＥメモリに記憶されてもよい。図２を参照して以下で検討されるように、アービタ論理１０２は、ＴＥＥ１１６内で動作してもよく、または、ｎｏｎ−ＴＥＥ１１８内で動作してもよい。アービタ論理１０２は、レポーティング論理１０４と通信可能に結合されてもよい。
【００１４】
アービタ論理１０２は、要求論理１０６と、セキュリティ論理１０８と、アクション論理１１０とを含んでもよい。アービタ論理１０２はまた、メモリ１５６を含んでもよく、メモリ１５６は、アービタ論理１０２の複数のコンポーネントの何れかによって使用され、アービタ論理１０２の動作に関連するデータを記憶してもよい。
【００１５】
要求論理１０６は、要求の指標をレポーティング論理１０４に提供するように構成されてもよい。要求は、１つ又は複数のハードウェア構成レジスタを表わしてもよく、アービタ論理１０２は、これについての情報を受信することを望んでいる。ハードウェア構成レポーティングシステム１００は、１つ又は複数の異なるタイプの要求を認識してもよい。幾つかの実施形態において、要求は、１つ又は複数のハードウェア構成レジスタの値の「クエリ」であってもよい。レポーティング論理１０４は、これに応じて、複数の値のインジケータを提供してもよい。例えば、要求論理１０６によってレポーティング論理１０４に提供される要求は、フラッシュ部分ロックレジスタを表わすクエリであってもよい。これに応じて、レポーティング論理１０４は、フラッシュ部分ロックレジスタに記憶されているのが「０」の値であるか「１」の値であるかの指標を提供してもよい。一方の値は、フラッシュ部分がロックされ、従って、マザーボードＲＯＭを更新できないことを示し、その一方で、他方の値は、フラッシュ部分がアンロックされ、従って、任意のものがマザーボードＲＯＭを更新できることを示してもよい。幾つかの実施形態において、要求は、１つ又は複数のハードウェア構成レジスタの値が一組の規定値に等しいという「チェック」であってもよく、これに応答して、レポーティング論理１０４は、複数のハードウェア構成レジスタの複数の値がその一組の規定値に等しいか否かのバイナリインジケータを提供してもよい。例えば、要求論理１０６によってレポーティング論理１０４に提供される要求は、フラッシュ部分ロックレジスタと、「１」の規定値とを表すチェックであってもよく、これに応答して、レポーティング論理１０４は、フラッシュ部分ロックレジスタに記憶された値が「１」の規定値に等しい、又は、「１」の規定値に等しくないことの指標を提供してもよい。装置がＳＭＭを含んでいる幾つかの実施形態において、要求論理１０６によってレポーティング論理１０４に提供される要求は、ＳＭＭロックレジスタを表わすクエリまたはチェックであってもよい。一方の値が、ＳＭＭメモリを更新できないことを示し、その一方で、他方の値が、ＳＭＭメモリがアンロックされ、従って、任意のものがＳＭＭメモリを更新できることを示してもよい。幾つかの実施形態において、アービタ論理１０２は、クエリと複数のチェック要求とを選択的に提供するように構成されてもよく、その一方で、複数の他の実施形態では、アービタ論理１０２は、クエリのみを提供すること、又は、複数のチェック要求のみを提供することに制限されてもよい。
【００１６】
幾つかの実施形態において、要求論理１０６によって提供される要求の形態およびコンテンツは、開発者によって構成されてもよい。例えば、開発者は、（例えば、要求によって表わされる複数のハードウェア構成レジスタと要求のタイプといった）要求の形態およびコンテンツを指定する拡張マークアップ言語（ＸＭＬ）スクリプトを書き込んでもよく、そのスクリプトをメモリ１５６に記憶させてもよい。要求論理１０６は、メモリ１５６からＸＭＬスクリプトを取得して、実行用にＸＭＬスクリプトをバイナリスクリプトへと変換するように構成されてもよい。要求論理１０６は、バイナリスクリプトを記憶させるように構成されてもよい。要求論理１０６がバイナリスクリプトを実行する場合、要求がレポーティング論理１０４に提供されてもよい。
【００１７】
セキュリティ論理１０８は、要求論理１０６と結合されてもよく、要求論理１０６から要求の指標を受信したことに応答して、レポーティング論理１０４によって提供されたインジケータを評価するように構成されてもよい。とりわけ、セキュリティ論理１０８は、（要求論理１０６によって提供された要求により表わされる）ハードウェア構成レジスタの値のインジケータが、記憶されたセキュリティ要件を満たしていないか満たしているかを決定するように構成されてもよい。記憶されたセキュリティ要件は、管理者又は権限を与えられた他のエンティティによって設定された、予め定義されたセキュリティポリシーの一部であってもよい。１つ又は複数のセキュリティ要件は、メモリ１５６に記憶されてもよく、（例えば任意の適切なデータベース構造における）様々なハードウェア構成レジスタの、特定の複数の個別の値又は複数の値の複数のパターンと対応してもよい。例えば、メモリ１５６に記憶されたセキュリティ要件は、チップセット再マッピングレジスタの値が、チップセット再マッピングレジスタがロックされて改ざんされ得ないことを示す「１」でなければならないことを指定してもよい。「０」の値は、任意のものがメモリの複数の部分を再マッピングし得ることを示してもよい（例えば、ＴＥＥ１１６に対応する部分のようなメモリの複数の隠し部分を、保護されていない複数のメモリ領域に再マッピングすること）。セキュリティ論理１０８は、要求論理１０６の要求に応答して、レポーティング論理１０４によって提供されたインジケータに基づいて、チップセット再マッピングレジスタの値のインジケータが「１」に等しいか等しくないかを決定するように構成されてもよい。
【００１８】
アクション論理１１０は、セキュリティ論理１０８と結合されてもよく、セキュリティ論理１０８による、自己の記憶されたセキュリティ要件が満たされているか満たされていないかの決定に応答して、アクションを実行するように構成されてもよい。様々な記憶されたセキュリティ要件が満たされているときに実行されるアクション、又は、満たされていないときに実行されるアクションは、メモリ１５６に記憶されてもよく、これによって、セキュリティ論理１０８による決定のうちの、各々の考え得る結果が、（例えば任意の適切なデータベース構造において）実行される１つ又は複数のアクションと対応して記憶されてもよい。アクション論理１１０は、セキュリティ論理１０８による決定の特定の結果をメモリ１５６に配置して、対応する１つ又は複数のアクションを識別してもよく、対応する１つ又は複数のアクションを実行してもよい。実行される複数のアクションは、ハードウェア構成レポーティングシステム１００が危害を受けなくなるように、デバイス設計者によって選択されてもよい。例えば、幾つかの実施形態において、アクション論理１１０は、ハードウェア構成レポーティングシステム１００と結合されたディスプレイデバイス上において、記憶されたセキュリティ要件が満たされているか満たされていないかのインジケータの表示を引き起こすように構成されてもよい。このインジケータは、グラフィカルユーザインタフェースの一部であってもよく、セキュリティ要件のステータスをユーザに通知してもよい。幾つかの実施形態において、アクション論理１１０は、ハードウェア構成レジスタと関連付けられたハードウェアに対して、記憶されたセキュリティ要件が満たされていないとの（セキュリティ論理１０８による）決定に応答してシャットダウンさせるように構成されてもよい。例えば、ハードウェア構成レジスタが並列通信ハードウェアと関連付けられている場合、アクション論理１１０は、並列通信ハードウェア用の記憶されたセキュリティ要件が満たされていないならば、並列通信ハードウェアに、一時的にシャットダウンさせてもよく、又は、複数の動作を中断させてもよい。これらのアクションは単に例示的なものであって、任意の適切なアクションが実行されてもよい。
【００１９】
レポーティング論理１０４は、要求サービス論理１１２と、プロビジョン論理１１４とを含んでもよい。レポーティング論理１０４はまた、レポーティング論理１０４の複数のコンポーネントの何れかによって使用されてレポーティング論理１０４の動作に関連するデータを記憶し得るメモリ１５８を含んでもよい。アービタ論理１０２に関して上記で検討したように、レポーティング論理１０４は、アービタ論理１０２から要求の指標を受信して、それに応答するようにＴＥＥ１１６内で動作するよう、構成されてもよい。とりわけ、（ＴＥＥメモリに記憶される）要求サービス論理１１２は、アービタ論理１０２から（例えば要求論理１０６から）要求の指標を受信するようにＴＥＥ１１６内で動作するよう、構成されてもよい。要求は、１つ又は複数のハードウェア構成レジスタを表わしてもよい。
【００２０】
（ＴＥＥメモリに記憶される）プロビジョン論理１１４は、要求サービス論理１１２に結合されてもよく、アービタ論理１０２に対して（例えばセキュリティ論理１０８に対して）、要求によって表わされるハードウェア構成レジスタの値のインジケータを提供するようにＴＥＥ１１６内で動作するよう、構成されてもよい。
【００２１】
上記で留意されたように、アービタ論理１０２は、ｎｏｎ−ＴＥＥ１１８またはＴＥＥ１１６内から動作可能であってもよい。幾つかの実施形態において、アービタ論理１０２の１つ又は複数のインスタンシエイションは、ＴＥＥ１１６内で動作してもよく、アービタ論理１０２の１つ又は複数のインスタンシエイションは、ｎｏｎ−ＴＥＥ１１８において動作してもよい。図２は、そのようなハードウェア構成レポーティングシステム１００の実施形態を示している。ＴＥＥ１１６におけるアービタ論理１０２のインスタンシエイションは、例えば、起動したときに、起動中の様々なハードウェア構成レジスタの複数の値を評価することを実行し得る、基本入出力オペレーティングシステム（ＢＩＯＳ）フェーズアービタであってもよい。幾つかの実施形態において、ＢＩＯＳフェーズアービタは、様々なハードウェア構成レジスタの複数の値が複数の記憶されたセキュリティ要件に従っているかをチェックすべくチェック要求を提供してもよく、もしその要件に従っていないならば、ＢＩＯＳフェーズアービタは、装置が起動することを防げてもよい。ｎｏｎ−ＴＥＥ１１８におけるアービタ論理１０２のインスタンシエイションは、例えば、オペレーティングシステム内で動作して、（例えば、周期的に、又は、管理者のコマンドで）動作中の様々なハードウェア構成レジスタの複数の値を評価する、セキュリティコンソールアプリケーションであってもよい。幾つかの実施形態において、ｎｏｎ−ＴＥＥ１１８は、レポーティング論理１０４が動作するプロセッシングデバイスとは異なるプロセッシングデバイスで動作してもよく、従って、アービタ論理１０２は、レポーティング論理１０４が動作するプロセッシングデバイスと異なるプロセッシングデバイスで動作してもよい。幾つかの実施形態において、ｎｏｎ−ＴＥＥ１１８は、レポーティング論理１０４が動作するプロセッシングデバイスと同じプロセッシングデバイスで動作してもよい。
【００２２】
アービタ論理１０２が、レポーティング論理１０４がインスタンス化されているのと同じプロセッシングデバイスのｎｏｎ−ＴＥＥ１１８内で動作するアプリケーションに含まれる幾つかの実施形態において、ハードウェア構成レポーティングシステム１００は、レポーティング論理１０４とアービタ論理１０２との間に、信頼できる「帯域内」チャンネルを確立してもよい。上記で留意されたように、アプリケーションは、セキュリティコンソール、ポリシーオーケストレータ、セキュリティドライバ、又は、他のセキュリティ関連ミドルウェアであってもよい。セキュリティコンソールは、アクション論理１１０からの複数の命令に応答して、任意のハードウェア構成レジスタ要求の複数の結果の視覚的表示をユーザに提供するように構成されてもよい。幾つかの実施形態において、この視覚的インジケータは、「合格／不合格」インジケータの形態を取ってもよい。ユーザが管理者であってより詳細な結果を望んでいる複数の実施形態において、セキュリティコンソールは、アクション論理１１０からの複数の命令に応答して、要求によって表わされる各ハードウェア構成レジスタの複数の値の視覚的インジケータを提供してもよい。
【００２３】
アービタ論理１０２が、レポーティング論理１０４がインスタンス化されているプロセッシングデバイスとは異なるプロセッシングデバイスのｎｏｎ−ＴＥＥ１１８内で動作するアプリケーションに含まれる幾つかの実施形態において、ハードウェア構成レポーティングシステム１００は、レポーティング論理１０４とアービタ論理１０２との間に、信頼できる「帯域外」チャンネルを確立してもよい。幾つかのそのような実施形態において、アービタ論理１０２は、マネージャビリティエンジン（ＭＥ）、コンバージドセキュリティおよびマネージャビリティエンジン（ＣＳＭＥ）、又は、アクティブマネージメントテクノロジ（ＡＭＴ）においてインスタンス化されてもよい。
【００２４】
上記で留意されたように、幾つかの実施形態において、ＴＥＥ１１６はＳＭＭであってもよく、ＴＥＥメモリはＳＭＭメモリ（例えば、システム管理ランダムアクセスメモリまたはＳＭＲＡＭ）であってもよい。図３は、そのようなハードウェア構成レポーティングシステム１００の実施形態を示している。図３の実施形態において、ＳＭＭ１６０は、ＴＥＥ１１６として機能してもよく、レポーティング論理１０４は、ＳＭＭ１６０内で動作してもよい。ＢＩＯＳ１２０は、ＳＭＭ１６０を含んでもよく、また、１つ又は複数のドライバ実行環境（ＤＸＥ）スクリプト１２２を含んでもよい。１つ又は複数のＤＸＥスクリプト１２２は、図２のハードウェア構成レポーティングシステム１００の実施形態におけるＴＥＥ１１６に含まれるアービタ論理１０２として機能してもよい。従って、ＤＸＥスクリプト１２２は、ハードウェア構成レジスタを表わす要求のインジケータを、（例えば起動中に）レポーティング論理１０４に提供してもよく、レポーティング論理１０４はそれに従って応答してもよい。オペレーティングシステム１２４は、ｎｏｎ−ＴＥＥ１１８として機能してもよく、（例えば図２に示されるように）ｎｏｎ−ＴＥＥ１１８に含まれるアービタ論理１０２として機能する１つ又は複数のアプリケーション１２６を含んでもよい。１つ又は複数のアプリケーション１２６は、本明細書で開示される複数のハードウェア構成レジスタ要求動作及び応答動作を実行すべく、ＳＭＭ１６０のレポーティング論理１０４と通信可能に結合されてもよい。例えば、アプリケーション１２６は、ハードウェア構成レジスタを表わす要求のインジケータを、レポーティング論理１０４に提供してもよく、レポーティング論理１０４はそれに従って応答してもよい。オペレーティングシステム１２４が動作するプロセッシングデバイスが、ＢＩＯＳ１２０が動作するプロセッシングデバイスと同じである複数の実施形態において、要求のインジケータは、プロセッシングデバイスをＳＭＭ１６０にエントリさせるシステム管理インタラプトを伴ってもよく、その場合に、要求のインジケータはレポーティング論理１０４によって処理されてもよい。
【００２５】
ＴＥＥ１１６用に可能性のある他の候補は、本明細書で説明される機能を有するレポーティング論理と共に構成可能でなくてもよい。例えば、トラステッドプラットフォームモジュール（ＴＰＭ）は、通常は全てのチップセットレジスタ設定をレコードせず、代わりに、通常は現在のオペレーティングシステム構成情報を前のオペレーティングシステム構成情報と比較して、そのような情報における複数の変更を検出するのみである。しかしながら、ＴＰＭは通常、レポーティング論理１０４に関して上記で説明されたようなハードウェア構成レジスタの実際の値を提供することはできない。仮想マシンモニタ（ＶＭＭ）といった他の候補は、多数のハードウェア構成レジスタ（例えばＳＭＭ関連ハードウェア構成レジスタ）にアクセスできず、通常は複数の異なるプラットフォームに一般的であり、従って、複数のプラットフォーム特有クエリを実行できない。
【００２６】
ＳＭＭ１６０がＴＥＥ１１６として機能する複数の実施形態は、様々な利点を有し得る。ＳＭＭ１６０は、複数のハードウェアレジスタにアクセスするために、他の複数のモード（例えばオペレーティングシステムが動作する複数のモード）に割り当てられるものより高いレベルの特権を有してもよい。幾つかの実施形態において、ＳＭＭ１６０における場合には、プロセッシングデバイスは、任意のディスク部分を読み取り可能であってもよく、従って、複数のシステムリソースに完全にアクセス可能であってもよい。上記で検討されたように、ＳＭＭ１６０は、別個の実行環境であり、従って、ＳＭＭメモリに記憶されるコード及びデータは、オペレーティングシステムカーネルに対して、又は、オペレーティングシステムにおいて動作している複数のアプリケーションに対して、可視ではなくてもよい。ＳＭＭ１６０はインタラプトを介して入力されるので、ＳＭＭ１６０は、ハードウェアレポーティング用のトリガ応答メカニズムを提供し、複数の外部ソースからの（例えばＳＭＭ１６０の外部のアービタ論理１０２からの）複数の要求を供給できる。更に、ＳＭＭ１６０はまたプラットフォームファームウェアに組み込まれ、プラットフォームハードウェアのコンポーネントとして配送され、これにより、悪意のあるユーザがＳＭＭ１６０を除去する又は改ざんすることを困難にできる。
【００２７】
幾つかの実施形態において、アービタ論理１０２からの要求のインジケータは、プロセッシングデバイスのＴＥＥ１１６へのエントリをトリガするインタラプトのソースに、少なくとも部分的に基づいてもよい。例えば、ｎｏｎ−ＴＥＥ１１８におけるアプリケーションが指定の入出力（Ｉ／Ｏ）ポートにアクセスするならば、インタラプトがトリガされて、プロセッシングデバイスがＴＥＥ１１６にエントリしてもよい。メモリ１５８は、様々なＩ／Ｏポートの複数の位置を記憶してもよく、それらのポートへのアクセスによってインタラプトがトリガされる場合、そのインタラプトは、アービタ論理１０２からの要求を示している。幾つかの実施形態において、特定のＩ／Ｏポートは、特定のタイプの要求（例えばチェックまたはクエリ）に対応してもよい。
【００２８】
幾つかの実施形態において、アービタ論理１０２からの要求のインジケータは、ｎｏｎ−ＴＥＥ１１８において動作している場合にプロセッシングデバイスにアクセス可能な予め定められたレジスタに記憶されている値に、少なくとも部分的に基づいてもよい。例えば、特定のハードウェアレジスタ（例えばＩ／Ｏポート）が指定され、アービタ論理１０２によって、要求のインジケータとして特定の値でプログラムされてもよい。インタラプトが検出されてプロセッシングデバイスをＴＥＥ１１６にエントリさせた場合、レポーティング論理１０４は、特定のハードウェアレジスタの値を読み取るように構成されてもよい。幾つかの実施形態において、ハードウェアレジスタは、上記で検討されたように、自己のアクセスによって、プロセッシングデバイスをＴＥＥ１１６にエントリさせるインタラプトがトリガされたレジスタと同じである。特定のハードウェアレジスタの異なる複数の値は、異なる複数のタイプの要求（例えばチェック又はクエリ）と、要求インジケータによって表わされる異なる複数のハードウェア構成レジスタとに対応してもよい。特定のハードウェアレジスタの複数の値と、要求の複数のタイプおよび／またはハードウェア構成レジスタとの間の対応関係は、メモリ１５８に記憶され、レポーティング論理１０４によってアクセスされてもよい。幾つかの実施形態において、汎用レジスタが指定され、アービタ論理１０２によって特定の値でプログラムされてもよく、その特定の値は、レポーティング論理１０４に渡されるパラメータとして作用し得る。任意の適切なパラメータが、汎用レジスタを介して伝達されてもよい（例えば、レポーティング論理１０４がクエリ又はチェックの結果を提供する宛先の具体的なメモリ位置）。幾つかの実施形態において、この汎用レジスタの位置は、メモリ１５８に記憶されてもよく、レポーティング論理１０４は、要求を受信すると、この汎用レジスタをルックインするように構成されてもよい。 
【００２９】
図４は、レポーティング論理１０４の実施形態を示しており、要求サービス論理１１２と、プロビジョン論理１１４と、メモリ１５８の機能が、複数のドライバ間に配布されている。複数のドライバのうちの異なるものは、異なる複数のハードウェア構成レジスタにアクセス可能であってもよく、従って、異なる複数のハードウェア構成レジスタを表す複数の要求は、異なる複数のドライバによって少なくとも部分的にサービスされてもよい。図４は、レポーティング論理１０４が、コアドライバ１２８と、チップセットドライバ１３０と、プラットフォームドライバ１３２とを含む実施形態を示している。
【００３０】
コアドライバ１２８は、多数の装置（例えば、単一の製造者によって製造された多数の装置）に共通の、一般的なチップセットであってもよい。レポーティング論理１０４で受信される複数の要求は、コアドライバ１２８で受信されてもよく、コアドライバ１２８は、レポーティング論理１０４の複数のドライバ（例えば、コアドライバ１２８、チップセットドライバ１３０、又は、プラットフォームドライバ１３２）のうち何れが、要求によって表わされるハードウェア構成レジスタにアクセス可能であるかを決定するように構成されてもよい。コアドライバ１２８は次に、決定されたドライバと通信して、要求をサービスしてもよい。例えば、コアドライバ１２８は、（コアドライバ１２８自体が要求をサービスしないならば、）要求を、チップセットドライバ１３０またはプラットフォームドライバ１３２にルーティングしてもよく、チップセットドライバ１３０またはプラットフォームドライバ１３２は、ハードウェア構成レジスタにアクセスして要求に応答してもよく、チップセットドライバ１３０またはプラットフォームドライバ１３２は、アービタ論理１０２への提供用に、コアドライバ１２８に応答を返してもよい。
【００３１】
幾つかの実施形態において、コアドライバ１２８は、（どのようにＳＭＲＡＭがキャッシュされるかを決定し得る）システム管理範囲レジスタ、（様々なデバッグおよび性能モニタタスク用に用いられる）複数のモデル特有レジスタ（ＭＳＲ）１３４、複数の周辺コンポーネント相互接続（ＰＣＩ）レジスタ１４０、複数のメモリマップＩ／Ｏ（ＭＭＩＯ）レジスタ１３６、及び、複数のＩ／Ｏレジスタ１３８などの、基本システムリソースの複数のハードウェア構成レジスタにアクセス可能であってもよい。例えば、コアドライバ１２８は、システム管理範囲レジスタにアクセスして、（クエリに応答して、）システム管理範囲レジスタの値と、（例えばシステム管理範囲レジスタが８Ｍ整合アドレス（aligned address）として構成されているといった）システム管理範囲レジスタのデータタイプ構成とを含むデータを返すように構成されてもよい。
【００３２】
幾つかの実施形態において、チップセットドライバ１３０は、（チップセット再マッピング用の）複数のメモリコントローラハブ（ＭＣＨ）レジスタ１４２、（ＶＴ−ｄレジスタ１４６のような）ダイレクトメモリアクセスに関連する複数のレジスタ、及び、（バックアップ起動ブロックを提供するためのＲＣＢＡ．ＴＯＰ＿ＳＷＡＰ レジスタのような）複数のルートコンプレックスベースアドレス（ＲＣＢＡ）レジスタ１４４などの、チップセットリソースの複数のハードウェア構成レジスタにアクセス可能であってもよい。
【００３３】
幾つかの実施形態において、プラットフォームドライバ１３２は、複数のフラッシュ部分ロックレジスタ１４８、複数の埋め込みコントローラレジスタ、複数のパラレル及びシリアル通信レジスタ１５０、及び、キーボード、マウスまたは他の周辺機器に関連する複数のレジスタなどの、プラットフォームリソースの複数のハードウェア構成レジスタにアクセス可能であってもよい。
【００３４】
図５は、様々な実施形態による、ハードウェア構成レポーティングの方法５００の流れ図である。方法５００の複数の動作が、レポーティング論理１０４内に構成されたＴＥＥ１１６を有するプロセッシングデバイスによって実行されるように検討されるかもしれないが、これは単に複数の例示的目的のためであって、これらの動作は、任意の適切なハードウェアによって実行されてもよい。方法５００に関して以下で検討される複数の動作の何れも、ハードウェア構成レポーティングシステム１００に関して上記で検討された複数の実施形態の何れかに従って実行され得る。
【００３５】
段階５０２では、プロセッシングデバイスは、（例えばｎｏｎ−ＴＥＥ１１８から）ＴＥＥ１１６にエントリしてもよい。プロセッシングデバイスは、インタラプトを受信したことに応答して、ＴＥＥ１１６にエントリしてもよい。例えば、ＴＥＥ１１６がＳＭＭ１６０である場合、プロセッシングデバイスは、システム管理インタラプトに応答してＳＭＭ１６０にエントリしてもよい。
【００３６】
段階５０４では、（ＴＥＥ１１６において動作している）プロセッシングデバイスは、ハードウェア構成レジスタを表わしている要求の指標を受信してもよい。幾つかの実施形態において、レポーティング論理１０４の要求サービス論理１１２が、要求を受信してもよい。
【００３７】
段階５０６では、（ＴＥＥ１１６において動作している）プロセッシングデバイスは、段階５０４の要求において表わされたハードウェア構成レジスタの値のインジケータを提供してもよい。幾つかの実施形態において、レポーティング論理１０４のプロビジョン論理１１４がインジケータを提供してもよい。
【００３８】
図６は、様々な実施形態による、ハードウェア構成アービトレーションの方法６００の流れ図である。方法６００の複数の動作が、アービタ論理１０２と共に構成されたプロセッシングデバイスによって実行されるように検討されるかもしれないが、これは単に複数の例示的目的のためであって、これらの動作は、任意の適切なハードウェアによって実行されてもよい。方法６００に関して以下で検討される複数の動作の何れも、ハードウェア構成レポーティングシステム１００に関して上記で検討された複数の実施形態の何れかに従って実行され得る。
【００３９】
段階６０２では、プロセッシングデバイスは、ハードウェア構成レジスタを表わしている要求の指標を、プロセッシングデバイスのＴＥＥに位置するレポーティング論理（例えば、ＴＥＥ１１６に位置するレポーティング論理１０４）に提供してもよい。幾つかの実施形態において、要求論理１０６は、段階６０２で、要求の指標を提供してもよい。幾つかの実施形態において、要求の指標は、要求を受信するプロセッシングデバイスのＴＥＥと同じＴＥＥにおいて動作しているアービタ論理１０２によって提供されてもよい。幾つかの実施形態において、要求の指標は、要求を受信するプロセッシングデバイスのｎｏｎ−ＴＥＥにおいて動作しているアービタ論理１０２によって提供されてもよい。幾つかの実施形態において、要求の指標を提供するプロセッシングデバイスは、要求を受信するプロセッシングデバイスと異なるプロセッシングデバイスであってもよい。幾つかの実施形態において、ＴＥＥはＳＭＭであってもよい。
【００４０】
段階６０４では、プロセッシングデバイスは、要求に応答してレポーティング論理によって提供されるハードウェア構成レジスタの値がセキュリティ要件を満たしていないと決定してもよい。幾つかの実施形態において、セキュリティ論理１０８は、段階６０４の決定を実行してもよい。
【００４１】
段階６０６では、プロセッシングデバイスは、セキュリティ要件が満たされていないとの決定に応答して、アクションを実行してもよい。幾つかの実施形態において、アクション論理１１０は、段階６０６のアクションを実行してもよい。セキュリティ要件が満たされていないとの決定について段階６０４および段階６０６に関して上記で検討されたが、セキュリティ要件が満たされているとの決定が実行されてもよく、それに従って、（例えばアクション論理１１０に関して上記で検討されたように）複数のアクションが実行されてもよい。
【００４２】
図７は、様々な実施形態による、ハードウェア構成レポーティングおよびアービトレーションの方法７００の流れ図である。方法７００は、方法５００（図５）および方法６００（図６）の複数の動作のうちの、様々なものの複数の実施形態を含んでもよい。とりわけ、方法７００は、複数のレポーティング動作７１６と、複数のアービトレーション動作７３０とを含む。複数のレポーティング動作７１６および複数のアービトレーション動作７３０は、異なる論理によって実行されてもよい。例えば、幾つかの実施形態において、付ｋ数のレポーティング動作７１６は、レポーティング論理１０４によって実行されてもよく、複数のアービトレーション動作７３０は、アービタ論理１０２によって実行されてもよい。方法７００の複数の動作は図４のレポーティング論理１０４および図１のアービタ論理１０２によって様々に実行されるものとして検討されてもよいが、これは単に複数の例示的目的のためであって、これらの動作は、任意の適切なハードウェアによって実行されてもよい。方法７００に関して以下で検討される複数の動作の何れも、ハードウェア構成レポーティングシステム１００に関して上記で検討された複数の実施形態の何れかに従って実行され得る。
【００４３】
段階７０２では、レポーティング論理に含まれるコアドライバが起動されてもよい。段階７０２のコアドライバは、図４を参照して上記で検討されたコアドライバ１２８であってもよい。幾つかの実施形態において、起動は、ドライバエントリポイントの呼出しを含んでもよい。ドライバ（例えばコアドライバ１２８）は、メモリにおいて独自のデータ構造を準備してもよく、そのデータ構造におけるデータは、後になって使用されてもよい。幾つかの実施形態において、起動は、後で他の複数のドライバによって呼び出され得る、１つ又は複数のコールバック機能又はプロトコルを登録することを含んでもよい。例えば、（例えば以下で検討されるような）チップセットドライバが、コアドライバによる利用のために、ChipsetCheck()およびChipsetReport()機能を登録してもよい。コアドライバが（例えばＢＩＯＳまたはＯＳから）対応する機能要求を入手する場合、コアドライバは、その要求を適切なチップセットドライバ機能にディスパッチしてもよい。
【００４４】
段階７０４では、レポーティング論理に含まれるチップセットドライバが起動されてもよい。段階７０４のチップセットドライバは、図４を参照して上記で検討されたチップセットドライバ１３０であってもよい。
【００４５】
段階７０６では、レポーティング論理に含まれるプラットフォームドライバが起動されてもよい。段階７０６のプラットフォームドライバは、図４を参照して上記で検討されたプラットフォームドライバ１３２であってもよい。
【００４６】
段階７０８では、レポーティング論理が、要求が受信されたかどうかを決定してもよい。上記で検討されたように、要求は、１つ又は複数のハードウェア構成レジスタを表わしてもよく、その要求のプロバイダ（例えばアービタ論理１０２）は、１つ又は複数のハードウェア構成レジスタについての情報を受信することを望んでいる。幾つかの実施形態において、段階７０８の決定は、コアドライバ１２８によって実行されてもよい。
【００４７】
レポーティング論理が、要求が受信されていないと決定するならば、レポーティング論理は、段階７０８へと戻り、要求をモニタし続けてもよい。図７で破線矢印７３２によって示されているように、要求は、（以下で検討される）段階７２２の複数の動作を実行したことに応答して、アービタ論理によって提供されてもよい。レポーティング論理が、段階７０８で要求が受信されたと決定するならば、レポーティング論理は、段階７１０へと進み、要求がチェックされたかどうかを決定してもよい。要求論理１０６に関して上記で検討されたように、チェック要求は、１つ又は複数のハードウェア構成レジスタの値が一組の規定値に等しいかどうかを問い合わせてもよい。幾つかの実施形態において、段階７１０の決定は、コアドライバ１２８によって実行されてもよい。
【００４８】
段階７１０において、レポーティング論理が、要求がチェックではないと決定するならば、レポーティング論理は、段階７１２に進み、要求がクエリであるかどうかを決定してもよい。要求論理１０６に関して上記で検討されたように、クエリは、１つ又は複数のハードウェア構成レジスタの値を求めてもよい。幾つかの実施形態において、段階７１２の決定は、コアドライバ１２８によって実行されてもよい。段階７１２において、レポーティング論理が、要求がクエリではないと決定し、許可されている他の要求タイプが無いならば、レポーティング論理は、段階７０８へと戻り、有効な要求の受信をモニタし続けてもよい。レポーティング論理が、段階７１０で要求がチェックであると決定するならば、又は、段階７１２で要求がクエリであると決定するならば、レポーティング論理は、段階７１４に進み、要求によって表わされる１つ又は複数のハードウェア構成レジスタの値のインジケータを提供してもよい。幾つかの実施形態において、コアドライバ１２８は、レポーティング論理１０４に含まれる複数のドライバのうちの他のドライバ（例えばチップセットドライバ１３０またはプラットフォームドライバ１３２）が、要求において表わされるハードウェア構成レジスタにアクセス可能であると決定してもよく、要求を決定されたドライバにルーティングして、決定されたドライバと通信し、適切に、チェック又はクエリへの応答を受信してもよい。幾つかの実施形態において、段階７０２のコアドライバは、１つ又は複数のハードウェア構成レジスタの値のインジケータを提供してもよい。１つ又は複数のハードウェア構成レジスタの値のインジケータは、例えば、アービタ論理（例えばアービタ論理１０２）へと提供されてもよい。図７で破線矢印７３４によって示されるように、その値のインジケータは、アービタ論理へと提供されてもよい。
【００４９】
方法７００の複数の動作７３０へと戻ると、段階７１８では、ＸＭＬスクリプトが生成されてもよい。要求論理１０６に関して上記で検討されたように、ＸＭＬスクリプトは、開発者によって生成されてもよく、（例えば要求論理１０６によって）自動的に生成されてもよい。ＸＭＬは開発者によって容易に理解されるシンタックスを用いているので、ＸＭＬスクリプトにより、開発者が、予期されるハードウェア構成を（例えば、１つ又は複数の記憶されたセキュリティ要件の形態で、又は、他のセキュリティポリシーの形態で）容易に定義することが可能になってもよい。ＸＭＬスクリプトは、特定の要求の形態およびコンテンツを指定してもよく、メモリ１５６に記憶されてもよい。
【００５０】
段階７２０では、段階７１８のＸＭＬスクリプトは、バイナリスクリプトへと変換されてもよい。要求論理１０６に関して上記で検討されたように、バイナリスクリプトは、レポーティング論理（例えばレポーティング論理１０４）に要求の指標を提供すべく、要求論理１０６によって実行可能であってもよい。幾つかの実施形態において、バイナリスクリプトは、ファームウェアに含まれてもよく、アービタ論理１０２によって、ＢＩＯＳ起動中にレポーティング論理１０４へと送信されてもよい。
【００５１】
段階７２２では、段階７２０のバイナリスクリプトが実行されて、レポーティング論理（例えばレポーティング論理１０４）に要求の指標を提供してもよい。要求は、情報が求められているハードウェア構成レジスタを表わしてもよい。幾つかの実施形態において、要求は、レポーティング論理によって認識される特定のタイプの要求であってもよい（例えば、上記で検討されたようなチェック又はクエリ）。図７で破線矢印７３２によって示されているように、要求はレポーティング論理に提供されてもよい。
【００５２】
段階７２４において、（例えば矢印７３４によって示されているように）要求によって表わされるハードウェア構成レジスタの値のインジケータを受信したことに応答して、受信インジケータが評価され、記憶されたセキュリティ要件が満たされているかどうかを決定してもよい。幾つかの実施形態において、セキュリティ論理１０８は、上記で検討された複数の実施形態の何れかに従って、段階７２４の複数の動作を実行してもよい。
【００５３】
段階７２４において、何らかの記憶されたセキュリティ要件が満たされていると決定されるならば、アービタ論理は、段階７２８に進んでもよく、要求によって表わされるハードウェアレジスタと関連付けられたコンピューティングデバイスの通常動作が再開してもよい。幾つかの実施形態において、何らかの記憶されたセキュリティ要件が満たされていると決定したときに、１つ又は複数のアクションが実行されてもよい（例えば、複数の記憶されたセキュリティ要件が満たされていることを、ディスプレイデバイス上でレポーティングすること）。段階７２４において、複数の記憶されたセキュリティ要件が何ら満たされていないと決定されるならば、アービタ論理は、段階７２６に進んでもよく、アクションが実行されてもよい。そのアクションは、アクション論理１１０に関して上記で検討されたように、任意のセキュリティリスクミティゲーションまたは他の適切なアクションであってもよい。幾つかの実施形態において、アクション論理１１０が、段階７２６のアクションを実行してもよい。
【００５４】
幾つかの実施形態において、ハードウェア構成レポーティングシステム１００は、自己の複数の動作を更新するための論理を含んでもよい。図８は、幾つかの実施形態による、ハードウェア構成レポーティングシステム１００に含まれ得る更新システム８００のブロック図である。更新システム８００は、（例えば、図４を参照して上記で検討されたレポーティング論理１０４の実施形態に従って）レポーティング論理１０４のコアドライバ１２８においてスクリプト更新エージェント１５２を含む。スクリプト更新エージェントは、オペレーティングシステム１２４内で動作しているセキュリティコンソール１５４と通信可能に結合されてもよい。セキュリティコンソール１５４は、レポーティング論理１０４に、レポーティング論理１０４の基礎となるコードのバージョン番号またはデジタル署名を問い合わせる（query）ように構成されてもよく、このコードが最新バージョン（又は許容可能なバージョン）であるかどうかを決定してもよい。ＴＥＥ１１６の外部で動作しているコンポーネントがＴＥＥ１１６のメモリを直接見ることができなくてもよいが、セキュリティコンソール１５４は、ＴＥＥ１１６のハンドラに要求を送信して、デジタル署名またはバージョン番号をチェックするように構成されてもよい。幾つかの実施形態において、ＴＥＥ１１６は、信頼できるソースから、レポーティング論理１０４の更新イメージを要求し、それに従ってレポーティング論理１０４を更新するように構成されてもよい。
【００５５】
ここで図９を参照すると、様々な実施形態に従って、開示される複数の実施形態を実施するのに適した例示的な装置のブロック図が提供されている。様々な実施形態において、装置９００は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、パーソナルデジタルアシスタント、ゲームコンソール、インターネットアプライアンス、モバイルインターネットデバイスまたは他のコンピューティングデバイスであってもよい。
【００５６】
示されるように、装置９００は、多数のプロセッシングデバイス９０２と、システムメモリ９０４とを含む。複数のプロセッシングデバイス９０２の任意の１つ又は複数は、ハードウェア構成レポーティングシステム（例えばハードウェア構成レポーティングシステム１００）の一部として、（レポーティング論理１０４のような）レポーティング論理、および／または、（アービタ論理１０２のような）アービタ論理を含むように構成されてもよい。例えば、複数のプロセッシングデバイス９０２の１つ又は複数は、１つのＴＥＥにおいて動作するように構成され、複数のプロセッシングデバイス９０２の１つ又は複数は、１つ又は複数のｎｏｎ−ＴＥＥにおいて動作するように構成されてもよい。幾つかの実施形態において、ＴＥＥはＳＭＭであってもよい。本明細書で開示される複数のハードウェア構成レポーティングシステムの何れかのコンポーネントの機能を実行している論理は、少なくとも部分的に、（ＴＥＥの複数の境界に従ってパーティション化され得る）システムメモリ９０４に記憶されてもよい。更に、装置９００は、（ディスケット、ハードドライブ、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）等の）複数の大容量ストレージデバイス９０６、（ディスプレイ、キーボード、カーソル制御等の）複数の入出力デバイス９０８、及び、（複数のネットワークインタフェースカード、モデム等の）複数の通信インタフェース９１０を含んでもよい。複数の要素は、１つ又は複数のバスを表わしているシステムバス９１２を介して各々他に結合されてもよい。複数のバスの場合、それらは１つ又は複数のバスブリッジ（不図示）によって橋渡しされてもよい。
【００５７】
これらの要素のそれぞれは、この分野で既知である、自己の従来の機能を実行してもよい。とりわけ、システムメモリ９０４および大容量ストレージ９０６は、本明細書では計算論理９２２として集合的に示されている各プロセッシングデバイス９０２によって実行された場合に、図５−７の何れかの方法を実行する複数のプログラミング命令の作業用コピーおよび永久コピー、又は、それらの複数部分を記憶するのに使用されてもよい。様々なコンポーネントは、複数のプロセッシングデバイス９０２によってサポートされている複数のアセンブラ命令、又は、例えばそのような命令へとコンパイルされ得るＣのような複数の高レベル言語によって実行されてもよい。複数のプロセッシングデバイス９０２およびシステムメモリ９０４は、様々な実行速度および電力消費の複数のプロセッシングコアと、（例えば１つ又は複数のレベルのキャッシュを備える）様々なアーキテクチャおよび様々なタイプ（例えばダイナミックランダムアクセス、ＦＬＡＳＨ等）のメモリとの複数の配置を含む、広範なプロセッシングデバイスおよびメモリ配置を表わしてもよい。例えば、システムメモリ９０４は、プロセッシングデバイス９０２がｎｏｎ−ＴＥＥにおいて動作している場合にはアクセス不可能であるＴＥＥメモリを含んでもよい。
【００５８】
複数のプログラミング命令の永久コピーは、ファクトリにおける大容量ストレージ９０６へと置かれてもよく、又は、例えば、コンパクトディスク（ＣＤ）のような機械アクセス可能配布媒体（不図示）を介して、若しくは、（例えば配信サーバ（不図示）から）通信インタフェース９１０を介して、フィールドに置かれてもよい。すなわち、エージェントプログラムの実装例を有している１つ又は複数の配布媒体は、そのエージェントプログラムを様々なコンピューティングデバイスに配布するのに使用されてもよい。幾つかの実施形態において、レポーティングおよび／またはアービタ論理は、更新メカニズム（例えば、図８を参照して上記で検討されたレポーティング論理更新メカニズム）に従って、更新されてもよい。複数の要素９０２−９１２の構成は既知であり、従って、更なる説明は行わない。
【００５９】
上記で説明された複数の技術を実行するための、（機械可読記憶媒体のような非一時的機械可読媒体を含む）機械可読媒体、複数の方法、システムおよびデバイスは、本明細書で開示される複数の実施形態の複数の用例である。追加して、上記で説明された複数のインタラクションにおける他の複数のデバイスは、開示される様々な技術を実行するように構成されてもよい。
【００６０】
本明細書で開示される複数のハードウェア構成レポーティングシステムの様々な実施形態は、任意の数の装置にレポーティングする機能およびハードウェア構成を提供するのに用いられてもよい。例えば、様々な実施形態が、ＢＩＯＳ整合性試験を提供するのに用いられてもよい。様々な実施形態が、ハードウェアおよびファームウェアセキュリティ状態情報を提供するのに用いられてもよい。
【００６１】
以下の複数の段落は、本明細書で開示された様々な実施形態の複数の例を記載している。例１は、ＴＥＥおよびｎｏｎ−ＴＥＥを有し、特定のインタラプトに応答してｎｏｎ−ＴＥＥからＴＥＥにエントリするプロセッシングデバイスであって、ＴＥＥは、ｎｏｎ−ＴＥＥからアクセス不可能なメモリから実行される、プロセッシングデバイスと、メモリに記憶され、ハードウェア構成レジスタを表わしている要求の指標をアービタ論理から受信するようにＴＥＥ内で動作する要求サービス論理と、メモリに記憶され、ＴＥＥ内で動作し、要求によって表わされるハードウェア構成レジスタの値のインジケータをアービタ論理にレポートするレポーティング論理と、を備えるハードウェア構成レポーティング用の装置である。
【００６２】
例２は、例１の主題を含んでもよく、更に、アービタ論理からの要求の指標が、ｎｏｎ−ＴＥＥにおいて動作している場合にプロセッシングデバイスにアクセス可能な予め定められたレジスタに記憶されている値に、少なくとも部分的に基づくことを特定してもよい。
【００６３】
例３は、例１−２の何れかの主題を含んでもよく、更に、アービタ論理からの要求の指標が、プロセッシングデバイスのＴＥＥへのエントリをトリガした特定のインタラプトのソースに、少なくとも部分的に基づくことを特定してもよい。
【００６４】
例４は、例１−３の何れかの主題を含んでもよく、更に、アービタ論理がプロセッシングデバイスのｎｏｎ−ＴＥＥにおいて動作することを特定してもよい。
【００６５】
例５は、例１−３の何れかの主題を含んでもよく、更に、アービタ論理が、プロセッシングデバイスと異なる第２のプロセッシングデバイス上で動作することを特定してもよい。
【００６６】
例６は、例１−３の何れかの主題を含んでもよく、更に、アービタ論理が、プロセッシングデバイスのＴＥＥにおいて動作することを特定してもよい。
【００６７】
例７は、例１−６の何れかの主題を含んでもよく、更に、要求がハードウェア構成レジスタの値のクエリであり、ハードウェア構成レジスタの値のインジケータがハードウェア構成レジスタの値であることを特定してもよい。
【００６８】
例８は、例１−６の何れかの主題を含んでもよく、更に、要求が、ハードウェア構成レジスタの値が規定値に等しいことのチェックであり、ハードウェア構成レジスタの値のインジケータが、ハードウェア構成レジスタの値が規定値に等しいか否かのバイナリインジケータであることを特定してもよい。
【００６９】
例９は、例８の主題を含んでもよく、更に、アービタ論理が、プロセッシングデバイスの基本入出力オペレーティングシステム（ＢＩＯＳ）において動作しているドライバ実行環境（ＤＸＥ）スクリプトであることを特定してもよい。
【００７０】
例１０は、例１−９の何れかの主題を含んでもよく、更に、要求サービス論理が更に、複数のドライバのうちの何れが、要求によって表わされるハードウェア構成レジスタにアクセス可能であるかを決定し、決定されたドライバと通信して要求をサービスすることを特定してもよい。
【００７１】
例１１は、例１−３および６−１０の何れかの主題を含んでもよく、更に、アービタ論理が、起動したときに実行する基本入出力オペレーティングシステム（ＢＩＯＳ）フェーズアービタであることを特定してもよい。
【００７２】
例１２は、例１−１１の何れかの主題を含んでもよく、更に、ＴＥＥがシステム管理モードであることを特定してもよい。
【００７３】
例１３は、コンピューティング論理が、アプリケーションからの要求の指標を、プロセッシングデバイスのＴＥＥという信頼できる実行環境のレポーティング論理に提供する段階であって、プロセッシングデバイスが、ＴＥＥと、ｎｏｎ−ＴＥＥという信頼できない実行環境とを有し、プロセッシングデバイスが、特定のインタラプトに応答してｎｏｎ−ＴＥＥからＴＥＥにエントリし、ＴＥＥが、ｎｏｎ−ＴＥＥからアクセス不可能なメモリから実行され、レポーティング論理がメモリに記憶され、要求がハードウェア構成レジスタを表わしている、段階と、要求の指標を受信したことに応答してレポーティング論理によって提供された、要求によって表わされるハードウェア構成レジスタの値のインジケータが、記憶されたセキュリティ要件を満たしていないと、コンピューティング論理が決定する段階と、コンピューティング論理が、記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行する段階と、を備えるハードウェア構成アービトレーションの方法である。
【００７４】
例１４は、例１３の主題を含んでもよく、更に、記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行する段階が、記憶されたセキュリティ要件が満たされていないとの決定に応答して、記憶されたセキュリティ要件が満たされていないことのインジケータの表示をディスプレイデバイス上に引き起こす段階を含むことを特定してもよい。
【００７５】
例１５は、例１３−１４の何れかの主題を含んでもよく、更に、記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行する段階が、記憶されたセキュリティ要件が満たされていないとの決定に応答して、ハードウェア構成レジスタと関連付けられたハードウェアにシャットダウンさせる段階を含むことを特定してもよい。
【００７６】
例１６は、例１３−１５の何れかの主題を含んでもよく、更に、ハードウェア構成レジスタがチップセット再マッピングレジスタであることを特定してもよい。
【００７７】
例１７は、例１３−１５の何れかの主題を含んでもよく、更に、ハードウェア構成レジスタがシステム管理モードロックレジスタであることを特定してもよい。
【００７８】
例１８は、例１３−１５の何れかの主題を含んでもよく、更に、ハードウェア構成レジスタがフラッシュ部分ロックレジスタであることを特定してもよい。
【００７９】
例１９は、例１３−１８の何れかの主題を含んでもよく、更に、コンピューティング論理の少なくとも一部がプロセッシングデバイスのｎｏｎ−ＴＥＥにおいて動作することを特定してもよい。
【００８０】
例２０は、例１３−１９の何れかの主題を含んでもよく、更に、コンピューティング論理の少なくとも一部が、プロセッシングデバイスと異なる第２のプロセッシングデバイス上で動作することを特定してもよい。
【００８１】
例２１は、例１３−２０の何れかの主題を含んでもよく、更に、コンピューティング論理の少なくとも一部がプロセッシングデバイスのＴＥＥにおいて動作することを特定してもよい。
【００８２】
例２２は、例１３−２１の何れかの主題を含んでもよく、更に、ＴＥＥがシステム管理モードであることを特定してもよい。
【００８３】
例２３は、装置の１つ又は複数のプロセッシングデバイスによって実行されたことに応答して、装置に例１３−２２の何れかの方法を実行させる複数の命令を有する１つ又は複数の機械可読媒体である。
【００８４】
例２４は、アプリケーションからの要求の指標を、プロセッシングデバイスのＴＥＥという信頼できる実行環境のレポーティング論理に提供するための手段であって、プロセッシングデバイスが、ＴＥＥと、ｎｏｎ−ＴＥＥという信頼できない実行環境とを有し、プロセッシングデバイスが、特定のインタラプトに応答してｎｏｎ−ＴＥＥからＴＥＥにエントリし、ＴＥＥが、ｎｏｎ−ＴＥＥからアクセス不可能なメモリから実行され、レポーティング論理がメモリに記憶され、要求がハードウェア構成レジスタを表わしている、手段と、要求の指標を受信したことに応答してレポーティング論理によって提供された、要求によって表わされるハードウェア構成レジスタの値のインジケータが、記憶されたセキュリティ要件を満たしていないと決定するための手段と、記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行するための手段と、を備えるハードウェア構成アービトレーション用の装置である。
【００８５】
例２５は、例２４の主題を含んでもよく、更に、記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行するための手段が、記憶されたセキュリティ要件が満たされていないとの決定に応答して、記憶されたセキュリティ要件が満たされていないことのインジケータの表示をディスプレイデバイス上に引き起こすための手段を含むことを特定してもよい。
【００８６】
例２６は、例２４−２５の何れかの主題を含んでもよく、更に、記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行するための手段が、記憶されたセキュリティ要件が満たされていないとの決定に応答して、ハードウェア構成レジスタと関連付けられたハードウェアにシャットダウンさせるための手段を含むことを特定してもよい。
【００８７】
例２７は、例２４−２６の何れかの主題を含んでもよく、更に、ハードウェア構成レジスタがチップセット再マッピングレジスタであることを特定してもよい。
【００８８】
例２８は、例２４−２６の何れかの主題を含んでもよく、更に、ハードウェア構成レジスタがシステム管理モードロックレジスタであることを特定してもよい。
【００８９】
例２９は、例２４−２６の何れかの主題を含んでもよく、更に、ハードウェア構成レジスタがフラッシュ部分ロックレジスタであることを特定してもよい。
【００９０】
例３０は、例２４−２９の何れかの主題を含んでもよく、更に、装置の少なくとも一部がプロセッシングデバイスのｎｏｎ−ＴＥＥにおいて動作することを特定してもよい。
【００９１】
例３１は、例２４−３０の何れかの主題を含んでもよく、更に、装置の少なくとも一部が、プロセッシングデバイスと異なる第２のプロセッシングデバイス上で動作することを特定してもよい。
【００９２】
例３２は、例２４−３１の何れかの主題を含んでもよく、更に、装置の少なくとも一部がプロセッシングデバイスのＴＥＥにおいて動作することを特定してもよい。
【００９３】
例３３は、例２４−３２の何れかの主題を含んでもよく、更に、ＴＥＥがシステム管理モードであることを特定してもよい。
【００９４】
例３４は、アプリケーションからの要求の指標を、プロセッシングデバイスのＴＥＥのレポーティング論理に提供する要求論理であって、プロセッシングデバイスが、ＴＥＥおよびｎｏｎ−ＴＥＥを有し、プロセッシングデバイスが、特定のインタラプトに応答してｎｏｎ−ＴＥＥからＴＥＥにエントリし、ＴＥＥが、ｎｏｎ−ＴＥＥからアクセス不可能なメモリから実行され、レポーティング論理がメモリに記憶され、要求がハードウェア構成レジスタを表わしている、要求論理と、要求の指標を受信したことに応答してレポーティング論理によって提供された、要求によって表わされるハードウェア構成レジスタの値のインジケータが、記憶されたセキュリティ要件を満たしていないと決定するセキュリティ論理と、記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行するアクション論理と、を備えるハードウェア構成アービトレーション用の装置である。
【００９５】
例３５は、例３４の主題を含んでもよく、更に、記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行することが、記憶されたセキュリティ要件が満たされていないとの決定に応答して、記憶されたセキュリティ要件が満たされていないことのインジケータの表示をディスプレイデバイス上に引き起こすことを含むことを特定してもよい。
【００９６】
例３６は、例３４−３５の何れかの主題を含んでもよく、更に、記憶されたセキュリティ要件が満たされていないとの決定に応答して、アクションを実行することが、記憶されたセキュリティ要件が満たされていないとの決定に応答して、ハードウェア構成レジスタと関連付けられたハードウェアにシャットダウンさせることを含むことを特定してもよい。
【００９７】
例３７は、例３４−３６の何れかの主題を含んでもよく、更に、ハードウェア構成レジスタがチップセット再マッピングレジスタであることを特定してもよい。
【００９８】
例３８は、例３４−３６の何れかの主題を含んでもよく、更に、ハードウェア構成レジスタがシステム管理モードロックレジスタであることを特定してもよい。
【００９９】
例３９は、例３４−３６の何れかの主題を含んでもよく、更に、ハードウェア構成レジスタがフラッシュ部分ロックレジスタであることを特定してもよい。
【０１００】
例４０は、例３４−３９の何れかの主題を含んでもよく、更に、装置の少なくとも一部がプロセッシングデバイスのｎｏｎ−ＴＥＥにおいて動作することを特定してもよい。
【０１０１】
例４１は、例３４−４０の何れかの主題を含んでもよく、更に、装置の少なくとも一部が、プロセッシングデバイスと異なる第２のプロセッシングデバイス上で動作することを特定してもよい。
【０１０２】
例４２は、例３４−４１の何れかの主題を含んでもよく、更に、装置の少なくとも一部がプロセッシングデバイスのＴＥＥにおいて動作することを特定してもよい。
【０１０３】
例４３は、例３４−４２の何れかの主題を含んでもよく、更に、ＴＥＥがシステム管理モードであることを特定してもよい。
【０１０４】
例４４は、コンピューティング論理が、アービタ論理から要求の指標を受信する段階であって、コンピューティング論理はメモリ内に記憶され、プロセッシングデバイスのＴＥＥ内で動作し、プロセッシングデバイスは、ＴＥＥおよびｎｏｎ−ＴＥＥを有し、プロセッシングデバイスは、特定のインタラプトに応答してｎｏｎ−ＴＥＥからＴＥＥにエントリし、ＴＥＥは、メモリから実行され、メモリは、ｎｏｎ−ＴＥＥからアクセス不可能であり、要求は、ハードウェア構成レジスタを表わしている、段階と、コンピューティング論理が、要求によって表わされるハードウェア構成レジスタの値のインジケータをアービタ論理にレポーティングする段階と、を備えるハードウェア構成レポーティングの方法である。
【０１０５】
例４５は、例４４の主題を含んでもよく、更に、アービタ論理からの要求の指標が、ｎｏｎ−ＴＥＥにおいて動作している場合にプロセッシングデバイスにアクセス可能な予め定められたレジスタに記憶されている値に、少なくとも部分的に基づくことを特定してもよい。
【０１０６】
例４６は、例４４−４５の何れかの主題を含んでもよく、更に、アービタ論理からの要求の指標が、プロセッシングデバイスのＴＥＥへのエントリをトリガした特定のインタラプトのソースに、少なくとも部分的に基づくことを特定してもよい。
【０１０７】
例４７は、例４４−４６の何れかの主題を含んでもよく、更に、アービタ論理がプロセッシングデバイスのｎｏｎ−ＴＥＥにおいて動作することを特定してもよい。
【０１０８】
例４８は、例４４−４６の何れかの主題を含んでもよく、更に、アービタ論理が、プロセッシングデバイスと異なる第２のプロセッシングデバイス上で動作することを特定してもよい。
【０１０９】
例４９は、例４４−４６の何れかの主題を含んでもよく、更に、アービタ論理がプロセッシングデバイスのＴＥＥにおいて動作することを特定してもよい。
【０１１０】
例５０は、例４４−４９の何れかの主題を含んでもよく、更に、要求がハードウェア構成レジスタの値のクエリであり、ハードウェア構成レジスタの値のインジケータがハードウェア構成レジスタの値であることを特定してもよい。
【０１１１】
例５１は、例４４−４９の何れかの主題を含んでもよく、更に、要求が、ハードウェア構成レジスタの値が規定値に等しいことのチェックであり、ハードウェア構成レジスタの値のインジケータが、ハードウェア構成レジスタの値が規定値に等しいか否かのバイナリインジケータであることを特定してもよい。
【０１１２】
例５２は、例５１の主題を含んでもよく、更に、アービタ論理が、プロセッシングデバイスの基本入出力オペレーティングシステム（ＢＩＯＳ）において動作しているドライバ実行環境（ＤＸＥ）スクリプトであることを特定してもよい。
【０１１３】
例５３は、例４４−５２の何れかの主題を含んでもよく、更に、コンピューティング論理が、複数のドライバのうちの何れが、要求によって表わされるハードウェア構成レジスタにアクセス可能であるかを決定する段階と、決定されたドライバと通信して要求をサービスする段階と、を更に含んでもよい。
【０１１４】
例５４は、例４４−４６および４９−５３の何れかの主題を含んでもよく、更に、アービタ論理が、起動したときに実行する基本入出力オペレーティングシステム（ＢＩＯＳ）フェーズアービタであることを特定してもよい。
【０１１５】
例５５は、例４４−５４の何れかの主題を含んでもよく、更に、ＴＥＥがシステム管理モードであることを特定してもよい。
【０１１６】
例５６は、アービタ論理から要求の指標を受信するための手段であって、受信するための手段はメモリ内に記憶され、プロセッシングデバイスのＴＥＥ内で動作し、プロセッシングデバイスは、ＴＥＥおよびｎｏｎ−ＴＥＥを有し、プロセッシングデバイスは、特定のインタラプトに応答してｎｏｎ−ＴＥＥからＴＥＥにエントリし、ＴＥＥは、メモリから実行され、メモリは、ｎｏｎ−ＴＥＥからアクセス不可能であり、要求は、ハードウェア構成レジスタを表わしている、手段と、要求によって表わされるハードウェア構成レジスタの値のインジケータをアービタ論理にレポーティングするための手段であって、受信するための手段はメモリ内に記憶され、プロセッシングデバイスのＴＥＥ内で動作する、手段と、を備えるハードウェア構成レポーティング用の装置である。
【０１１７】
例５７は、例５６の主題を含んでもよく、更に、アービタ論理からの要求の指標が、ｎｏｎ−ＴＥＥにおいて動作している場合にプロセッシングデバイスにアクセス可能な予め定められたレジスタに記憶されている値に、少なくとも部分的に基づくことを特定してもよい。
【０１１８】
例５８は、例５６−５７の何れかの主題を含んでもよく、更に、アービタ論理からの要求の指標が、プロセッシングデバイスのＴＥＥへのエントリをトリガした特定のインタラプトのソースに、少なくとも部分的に基づくことを特定してもよい。
【０１１９】
例５９は、例５６−５８の何れかの主題を含んでもよく、更に、アービタ論理がプロセッシングデバイスのｎｏｎ−ＴＥＥにおいて動作することを特定してもよい。
【０１２０】
例６０は、例５６−５８の何れかの主題を含んでもよく、更に、アービタ論理がプロセッシングデバイスと異なる第２のプロセッシングデバイス上で動作することを特定してもよい。
【０１２１】
例６１は、例５６−５８の何れかの主題を含んでもよく、更に、アービタ論理がプロセッシングデバイスのＴＥＥにおいて動作することを特定してもよい。
【０１２２】
例６２は、例５６−６１の何れかの主題を含んでもよく、更に、要求がハードウェア構成レジスタの値のクエリであり、ハードウェア構成レジスタの値のインジケータがハードウェア構成レジスタの値であることを特定してもよい。
【０１２３】
例６３は、例５６−６１の何れかの主題を含んでもよく、更に、要求が、ハードウェア構成レジスタの値が規定値に等しいことのチェックであり、ハードウェア構成レジスタの値のインジケータが、ハードウェア構成レジスタの値が規定値に等しいか否かのバイナリインジケータであることを特定してもよい。
【０１２４】
例６４は、例６３の主題を含んでもよく、更に、アービタ論理が、プロセッシングデバイスの基本入出力オペレーティングシステム（ＢＩＯＳ）において動作しているドライバ実行環境（ＤＸＥ）スクリプトであることを特定してもよい。
【０１２５】
例６５は、例５６−６４の何れかの主題を含んでもよく、更に、複数のドライバのうちの何れが、要求によって表わされるハードウェア構成レジスタにアクセス可能であるかを決定するための手段と、決定されたドライバと通信して要求をサービスするための手段と、を含んでもよく、決定するための手段および通信するための手段は、メモリ内に記憶され、プロセッシングデバイスのＴＥＥ内で動作する。
【０１２６】
例６６は、例５６−５８および６１−６５の何れかの主題を含んでもよく、更に、アービタ論理が、起動したときに実行する基本入出力オペレーティングシステム（ＢＩＯＳ）フェーズアービタであることを特定してもよい。
【０１２７】
例６７は、例５６−６６の何れかの主題を含んでもよく、更に、ＴＥＥがシステム管理モードであることを特定してもよい。
【０１２８】
例６８は、装置の１つ又は複数のプロセッシングデバイスによって実行されたことに応答して、装置に例４４−５５の何れかの方法を実行させる複数の命令を有する１つ又は複数の機械可読媒体である。
【図１】
0006481900.tif 000002
【図２】
0006481900.tif 000003
【図３】
0006481900.tif 000004
【図４】
0006481900.tif 000005
【図５】
0006481900.tif 000006
【図６】
0006481900.tif 000007
【図７】
0006481900.tif 000008
【図８】
0006481900.tif 000009
【図９】
0006481900.tif 000010