JP2012014637A - 起動処理方法、情報処理装置、起動処理プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents
起動処理方法、情報処理装置、起動処理プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 Download PDFInfo
- Publication number
- JP2012014637A JP2012014637A JP2010153190A JP2010153190A JP2012014637A JP 2012014637 A JP2012014637 A JP 2012014637A JP 2010153190 A JP2010153190 A JP 2010153190A JP 2010153190 A JP2010153190 A JP 2010153190A JP 2012014637 A JP2012014637 A JP 2012014637A
- Authority
- JP
- Japan
- Prior art keywords
- information
- common
- area
- module
- pei
- 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
Links
Images
Classifications
-
- 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/445—Program loading or initiating
- G06F9/44557—Code layout in executable memory
- G06F9/44563—Sharing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】2以上のモジュールにより共通に用いられる第1共通情報SLをそなえる第1モジュールM11をロードするステップと、記憶領域101に第1共通情報SLへアクセスするためのアクセス情報104を格納するステップと、アクセス情報104にアクセスするためのインタフェース情報SIをそなえる第2モジュールM12をロードするステップと、第2モジュールM12により、インタフェース情報SIによってアクセス情報に10アクセスし、このアクセス情報104を介して第1共通情報SLを取得するステップとをそなえる。
【選択図】図10
Description
また、各フェーズは、複数のモジュールから構成されており、PEIフェーズのモジュールをPEIモジュール(PEIM)という。又、DXEフェーズのモジュールとしては、DXEドライバやEFIドライバがある。
EFIにおいては、図26に示すように、EFIフェーズでCPUの動作モードが異なり、16ビット(bit),32ビット,64ビット,32ビットのSMM(System Management Mode)及び64ビットのSMMの各モードがある。又、図26〜図28に示すように、EFIにおいては、モジュールのプログラムがロードされ、このプログラムが動作する領域(プログラムロード動作領域)もEFIフェーズで異なる。なお、プログラムロード実行領域としては、図26に示すように、BIOSFlash、CAR及びメモリ(SMMを含む)がある。
そして、PEIフェーズにおいては、このCAR領域にプログラムがロードされ、このPEIにおいて、メモリコントローラの初期化が行なわれ、メモリアクセスが有効になった後に、メモリ上にプログラムがロードされる。すなわち、PEIフェーズにおいては、その初期段階においてCAR領域にプログラムがロードされた後、メモリ上にプログラムがロードされる。
また、使用されるプログラム言語もフェーズによって異なり、図26に示すように、SECはアセンブラ言語であり、PEI、DXE、BDSはC言語がメインとなる。
すなわち、図27に示すように、従来のEFIにおいては、PEI及びDXE(BDS)の各モジュールにそれぞれ共通機能ライブラリが付加されている。
具体的には、PEIフェーズにおいて構築したHOB構造体と呼ばれる情報を、メモリを介してDXEフェーズに受け渡すことにより、PEIフェーズとDXEフェーズとの間での情報の共有を実現している。
また、従来のEFIにおけるフェーズ間での情報共有手法に関し、PEIからDXEへのフェーズの切り替え時においては、32ビットから64ビットへのCPUモードの切り替え等、DXEフェーズが動作するためのモジュール(DXEコアという)が整うまではHOB構造体の参照を行なうことはできないという課題がある。
また、各モジュールにおいて、共通機能ライブラリが展開されるアドレスはモジュール毎に異なり、これらのモジュール間で共通機能ライブラリの情報を共有することもできない。従って、従来のEFIにおいては、たとえ共通機能ライブラリに共有域を設けたとしても、この共有域の情報をモジュール間で共有することができず、又、フェーズ切り替え時における情報参照も行なうことができない。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
該情報処理装置にそなえられた記憶領域に、該第1共通情報へアクセスするためのアクセス情報を格納するステップと、該アクセス情報にアクセスするためのインタフェース情報をそなえる第2モジュールをロードするステップと、該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、該アクセス情報を介して該第1共通情報を取得するステップとをそなえる。
図1は実施形態の一例としての情報処理装置のハードウェア構成を模式的に示す図である。図2は実施形態の一例としての情報処理装置100のBIOS Flash22に格納されたEFIのプログラムデータPを模式的に示す図である。図3は実施形態の一例としての情報処理装置におけるEFIのフェーズ毎のモジュールや各種情報のロード領域を模式的に示す図である。
ディスプレイ24は、種々のデータやオペレータに対するメッセージ等の情報を表示する表示装置である。
RAM20は、種々のデータやプログラムを一時的に格納する主記憶装置であって、CPU10がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。又、RAM20は、本情報処理装置100の起動過程において、その所定の記憶領域が固有のメモリ領域201(図3参照)やSMM固定のメモリ領域211(図3参照)として機能する。固有のメモリ領域201には、管理域2001と共通領域202とが含まれ、管理域2001には、後述する共通ライブラリへのアドレス情報201と、同じく後述する共通領域へのアドレス情報203とが格納される。又、共通領域202の詳細についても後述する。
プログラムデータPは、図2に示すように、n個(nは自然数:図2に示す例ではn=3)のモジュールプログラムPn(図2に示す例ではP1〜P3)や、起動処理を制御する制御プログラムP0をそなえる。モジュールプログラムPnは、後述するEFIの個々のモジュールを実現するプログラムであり、各モジュール毎にそなえられている。各モジュールプログラムPnは、それぞれヘッダ部Hと実行可能イメージPIをそなえている。
なお、図2に示す例においては、モジュールプログラムPnの例としてPEIモジュールにかかるモジュールプログラムP1,P2とDXEドライバにかかるモジュールプログラムP3とを示しているが、これに限定されるものではなく、SECモジュールや他の機能を実現するプログラムをモジュールプログラムに含めることを否定するものではなく、種々変形して実施することができる。
共通ライブラリSLは、例えば、ディスプレイ24への画面表示やキーボード25やマウス26の入力制御のような、複数のモジュールがそれぞれ使用しうる共通の情報(第1共通情報)である。この共通ライブラリSLは、これらの複数のモジュール間で共通に必要な機能をライブラリ化することにより、複数のモジュールが共通に使用できるようにしたものである。この共通ライブラリSLは、当該共通ライブラリSLをそなえるモジュールが使用できるとともに、後述する共通インタフェースライブラリSLをそなえる他のモジュールからも使用される。
これにより、例えば、PEIモジュールM11の共通ライブラリSLからCAR領域101の共通領域へのアドレス情報103にアクセスすることができる。同様に、PEIモジュールM21やPEIモジュールM21の共通ライブラリSLから固定のメモリ領域201の共通領域へのアドレス情報203へアクセスすることができる。又、DEXドライバD1やDEXドライバD3の共通ライブラリSLから固定のメモリ領域201の共通領域へのアドレス情報203へアクセスすることができる。
なお、PEI,DXE,SMM(DXE)の各フェーズにおいてロード領域が一致するグループ毎において、同一の共通ライブラリSLが重複してそなえられることがないようにすることが望ましい。つまり、共通ライブラリSLは、上記グループ毎に1つ構築される。これにより、共通ライブラリSLの格納に要する容量を削減し、各モジュールのサイズを小さくすることができる。すなわち、BIOS Flash22やこれらのモジュールをロードするプログラムロード動作領域を小さくすることができる。望ましくは、共通ライブラリSLは、上記フェーズ毎に1つ構築される。
各モジュールは、この共通インタフェースライブラリSIを介することで、後述する管理域1001,2001,2101を経由し、共通ライブラリSLや共通領域102,202にアクセスすることができる。すなわち、共通インタフェースライブラリSIは、共通ライブラリSLや共通領域102,202に格納された共通領域情報へアクセスするためのインタフェース情報として機能する。
CPU(プロセッサ)10は、種々の制御や演算を行なう処理装置であり、ストレージ23等に格納されたプログラムを実行することにより、種々の機能を実現する。又、CPU10は、図示しないキャッシュメモリ(プロセッサキャッシュ)をそなえている。このキャッシュメモリは、データや命令などの情報を一時的に格納する記憶領域であり、CPU10がアクセスしたいデータやそのアドレス、状態、設定など属性情報をコピーし保持する。なお、このキャッシュメモリは、PEIフェーズ(CAR領域)においては、このPEIモジュールが展開(ロード)され、PEIジュールの実行領域となる。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、情報処理装置100がコンピュータとしての機能を有しているのである。
この起動処理部11は、SEC,PEI,DXE及びDXEの4つのフェーズを順次行なうことにより、EFIの仕様に沿った起動処理を実現する。EFIにおいては、各フェーズで利用可能なインフラストラクチャは中心となるフレームワークによって提供される。そして、プラットフォーム固有の機能は相互通信可能なモジュールを使って実装される。以下、PEIフェーズのモジュールをPEIモジュールという。又、DXEフェーズのモジュールとしては、DXEドライバやEFIドライバがある。
モジュール設定部111は、BIOS Flash22から、各モジュールに対応するモジュールプログラムPnの実行可能イメージPIを読み出し、それぞれの所定の実行領域(プログラムロード動作領域,ロード領域)にロード(設定,格納)するローダとして機能する。
モジュール設定部111は、SECフェーズにおいて、BIOS Flash22にSECモジュール(図示省略)をロードする。そして、CPU10がBIOS Flash22上のSECモジュールを実行することにより、CPU10のキャッシュが設定されCARの機能が有効になる。
モジュール設定部111は、EFIの各フェーズを実行するためのPEIモジュールMやDEXドライバDのデータをBIOS Flash22から読み出し、キャッシュメモリ12やRAM20等のそれぞれの所定の実行領域にロードする。
そして、このモジュール設定部111によってロードされるモジュールには、共通ライブラリSLや共通インタフェースライブラリSLをそなえるものも含まれる。すなわち、モジュール設定部111は、起動処理時に、2以上のモジュールにより共通に用いられる共通ライブラリSLをそなえるモジュールをロードする第1モジュール設定部として機能する。更に、モジュール設定部111は、起動処理時に、共通インタフェースライブラリSLをそなえるモジュールをロードする第2モジュール設定部としても機能する。
ここで、共通領域情報は、例えば、メモリサイズやCPU10の種別等、EFIの複数のフェーズ間で共通に使用される情報である。このような共通領域情報は、例えば、PEIフェーズのPEIモジュールMとDXEフェーズのDXEドライバDとのように、異なるフェーズのモジュールによって共通して使用される(共有される)。
アクセス情報設定部112は、CPU10のキャッシュメモリにおけるCAR領域101や、RAM20における固有のメモリ領域201,SMM固定のメモリ領域211に、共通ライブラリへのアドレス情報104,204,212を格納(設定)する。
ここで、共通ライブラリへのアドレス情報104とは、モジュールにそなえられた共通ライブラリSLへアクセスするためのアドレス情報であり、例えば、共通ライブラリSLへのポインタを含む。又、この共通ライブラリSLへのポインタとしては、単なるアドレスを示すポインタ(共有情報ポインタ)の他、関数ポインタが用いられる。
さらに、アクセス情報設定部112は、RAM20におけるSMM(System Management Mode)領域に対しても、その特定の領域であるSMM固定のメモリ領域211に共通ライブラリにアドレス情報212の設定を行なう。
なお、共有領域情報は、PEI用32ビットとDXE用64ビットとでそのまま共用可能である。
具体的には、共通領域アクセス情報設定部113は、PEIフェーズの初期段階において、CPU10のキャッシュメモリにおけるCAR領域101の所定の領域に、共通領域へのアドレス情報103を格納する。
ここで、共通領域へのアドレス情報203は、共通領域202へアクセスするための情報である共有領域アクセス情報であり、例えば、共通領域202における共通領域情報の格納位置を表すポインタ(共有情報ポインタ)を含む。これにより、共通ライブラリSL203にアクセスするモジュールは、共通領域202に格納された共通領域情報にアクセスすることが可能となる。
この情報取得部115は、以下に詳述するように、共通インタフェースライブラリSLや共通ライブラリへのアドレス情報104,204,212を用いて共通ライブラリSLを取得する。すなわち、第1情報取得部として機能する。又、情報取得部115は、以下に詳述するように、共通インタフェースライブラリSLや共通ライブラリへのアドレス情報104,204,212、共通ライブラリSL及び共通領域へのアドレス情報103,203を用いて、共通領域102,202の共通領域情報を取得する。すなわち、第2情報取得部として機能する。
起動処理部11は、共通インタフェースライブラリSIをそなえるモジュールの実行に際して、各共通インタフェースライブラリSLを介して、管理域1001,2001,2101にアクセスする。そして、これらの管理域1001,2001,2101に格納された共通ライブラリへのアドレス情報104,204,212や共通領域へのアドレス情報103,203にアクセスする。起動処理部11は、これらの情報を用いて共通ライブラリSLや共通領域情報にアクセスし、これらの情報を用いて本情報処理装置100の起動処理を実行する。
本実施形態の一例としての情報処理装置100に電源投入(PON:Power ON)が行なわれると、先ず、SECフェーズが行なわれた後(ステップA10)、PEIフェーズが行なわれ(ステップA20)、更に、DXE(BDS)フェーズ(ステップA30)が行なわれる。これらのEFIにかかる各フェーズの処理によりシステムの初期化が完了し、その後、OSローダによるOSの起動処理が開始される。
SECフェーズにおいては、先ず、CPU10の初期化を行なった後(ステップA101)、CAR領域101(CPUキャッシュ)の設定を行なう(ステップA102)。
そして、CAR領域101のスタックポインタを予め規定された所定量ずらすことにより、共通ライブラリへのアドレス情報104や共通領域へのアドレス情報103及び共通領域102の領域を確保する(ステップA103)。なお、スタックポインタをずらす量は、共通ライブラリへのアドレス情報104,共通領域へのアドレス情報103及び共通領域102のサイズに対応する。
次に、本実施形態の一例としての情報処理装置100におけるPEIフェーズの処理を、図7に示すフローチャート(ステップA201〜A209)に従って説明する。
次に、モジュール設定部111が、PEIモジュールをBIOS Flash22から読み出してCAR領域101へロードし、これらのPEIモジュールをそれぞれ実行する(ステップA202)。これらのPEIモジュールによりRAM20の初期化が実行され(ステップA203)、RAM20が使用可能になる。
また、共通領域設定部114が、CAR領域101の共通領域102に格納されている共通領域情報を固定のメモリ領域201の共通領域202にコピーする(ステップA205)。ここで、キャッシュが無効化される。
次に、アクセス情報設定部112及び共通領域アクセス情報設定部113は、固定のメモリ領域201に、PEI用32ビットの共通ライブラリへのアドレス情報204及びPEI用32ビットの共通領域へのアドレス情報203を設定する(ステップA207)。
また、本実施形態の一例としての情報処理装置100におけるDXE(BDS)フェーズの処理を、図8に示すフローチャート(ステップA301〜A302)に従って説明する。
次に、モジュール設定部111が、DXEドライバDをBIOS Flash22から読み出してRAM20上にロードし、これらの各DXEドライバをそれぞれ実行することにより(ステップA302)、DXE(BDS)フェーズを完了させる。
例えば、DXE(BDS)フェーズのステップA302においてDXEドライバをRAM20上にロードし、これらの各DXEドライバをそれぞれ実行した後に行なってもよく、適宜変更して実施することができる。
CAR領域において、PEIモジュールM12は共通インタフェースライブラリSLを呼び出し(ステップB10:図10の符号P01参照)、CAR領域101の共通ライブラリへのアドレス情報104を取得する(ステップB20:図10の符号P02参照)。PEIモジュールM12は、この共通ライブラリへのアドレス情報104を用いて、PEIモジュールM11の共通ライブラリSLの関数を呼び出す(ステップB30:図10の符号P03参照)。
次に、本実施形態の一例としての情報処理装置100におけるPEIフェーズ(CAR領域)での共通領域に格納された共通領域情報の読み出し手法を、図12を参照しながら、図11に示すフローチャート(ステップC10〜C50に従って説明する)。なお、図12は本情報処理装置100におけるPEIフェーズ(CAR領域)での共通領域102への参照経路を説明する図である。
従って、CAR領域101の共通領域102の共通領域情報を、PEIモジュールM11とPEIモジュールM12とによって共用することが可能となる。
メモリ領域において、PEIモジュールM22は共通インタフェースライブラリSLを呼び出し(ステップD10:図14の符号P31参照)、固有のメモリ領域201の共通ライブラリへのアドレス情報204を取得する(ステップD20:図14の符号P32参照)。PEIモジュールM12は、この共通ライブラリへのアドレス情報204を用いて、PEIモジュールM21の共通ライブラリSLの関数を呼び出す(ステップD30:図14の符号P33参照)。
従って、PEIモジュールM21の共通ライブラリSLを、PEIモジュールM21とPEIモジュールM22とによって共用することが可能となる。
従って、固有のメモリ領域201の共通領域202の共通領域情報を、PEIモジュールM21とPEIモジュールM22とによって共用することが可能となる。
メモリ領域において、DEXドライバD2は共通インタフェースライブラリSLを呼び出し(ステップF10:図18の符号P51参照)、固有のメモリ領域201の共通ライブラリへのアドレス情報204を取得する(ステップF20:図18の符号P52参照)。DEXドライバD2は、この共通ライブラリへのアドレス情報204を用いて、DEXドライバD1の共通ライブラリSLの関数を呼び出す(ステップF30:図18の符号P53参照)。
従って、DEXドライバD1の共通ライブラリSLを、DEXドライバD1とDEXドライバD2とによって共用することが可能となる。
従って、固有のメモリ領域201の共通領域202の共通領域情報を、DEXドライバD1とDEXドライバD2とによって共用することが可能となる。
従って、PEIモジュールM23の共通ライブラリSLを、PEIモジュールM23とPEIモジュールM24とによって共用することが可能となり、又、DEXドライバD3の共通ライブラリSLを、DEXドライバD3とDEXドライバD4とによって共用することが可能となる。
PEIモジュールM24やDEXドライバD4は、この共通ライブラリSLから、固有のメモリ領域201の共通領域へのアドレス情報203へアクセスするための情報(例えば、ポインタ)を取得し、この情報に基づいて固定のメモリ領域201の共通領域へのアドレス情報203を取得する(ステップJ40:図24の符号P94及び図25の符号P104参照)。PEIモジュールM24やDEXドライバD4は、この共通領域へのアドレス情報203を用いて、固有のメモリ領域201の共通領域202にアクセスし(ステップJ50:図24の符号P95及び図25の符号P105参照)、この共通領域202に格納されている共通領域情報を取得する。
従って、固有のメモリ領域201の共通領域202の共通領域情報を、PEIモジュールM23とPEIモジュールM24とや、DEXドライバD3とDEXドライバD4とで共有することが可能となる。
同様にして、PEIモジュールM21,M23やDEXドライバD1,D3が、それぞれがそなえる共通ライブラリSLを使用できる。その一方で、PEIモジュールM22がPEIモジュールM21の共通ライブラリSLを、又、PEIモジュールM24がPEIモジュールM23の共通ライブラリSLを用いることができる。更に、DXEドライバD2がDXEドライバd3の共通ライブラリSLを、又、DXEドライバD4がDXEドライバD3の共通ライブラリSLをそれぞれ用いることができる。
同様にして、PEIモジュールM21,M23やDEXドライバD1,D3が、それぞれがそなえる共通ライブラリSLを用いて、固定のメモリ領域201の共通領域へのアドレス情報203を介して共通領域202の共通領域情報を使用できる。その一方で、PEIモジュールM22がPEIモジュールM21の共通ライブラリSLを、又、PEIモジュールM24がPEIモジュールM23の共通ライブラリSLを用いて、固定のメモリ領域201の共通領域へのアドレス情報203を介して共通領域202の共通領域情報を使用できる。更に、DXEドライバD2がDXEドライバd3の共通ライブラリSLを、又、DXEドライバD4がDXEドライバD3の共通ライブラリSLをそれぞれ用いて、固定のメモリ領域201の共通領域へのアドレス情報203を介して共通領域202の共通領域情報を使用できる。
例えば、上述した実施形態においては、PEIモジュールM11,M21,M23やDEXドライバD1,D3に共通ライブラリSLをそなえ、PEIモジュールM12,M22,M24やDEXドライバD2,D4に共通インタフェースライブラリSLをそなえているが、これに限定されるものではない。すなわち、複数のモジュールのうち、どのモジュールに共通ライブラリSLをそなえてもよく、又、同様に、どのモジュールに共通インタフェースライブラリSLをそなえてもよい。又、同一のモジュールに共通ライブラリSLと他のモジュールの共通ライブラリSLを参照するための共通インタフェースライブラリSLとの両方をそなえてもよく、種々変形して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(付記1)
プロセッサをそなえた情報処理装置の起動処理方法であって、
該プロセッサにより実行されることにより当該情報処理装置の起動プロセスの一部を実現する複数のモジュールのうち、2以上のモジュールにより共通に用いられる第1共通情報をそなえる第1モジュールをロードするステップと、
該情報処理装置にそなえられた記憶領域に、該第1共通情報へアクセスするためのアクセス情報を格納するステップと、
該アクセス情報にアクセスするためのインタフェース情報をそなえる第2モジュールをロードするステップと、
該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、該アクセス情報を介して該第1共通情報を取得するステップとをそなえることを特徴とする、起動処理方法。
該記憶領域に、2以上のモジュールにより共通に用いられる第2共通情報を格納する共通領域を形成するステップと、
該記憶領域に、該共通領域へアクセスするための共通領域アクセス情報を格納するステップと、
該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、アクセスした当該アクセス情報を用いて該第1共通情報にアクセスし、アクセスした当該第1共通情報に基づいて該共通領域アクセス情報にアクセスし、アクセスした当該共通領域アクセス情報を用いて、該共通領域に格納された該第2共通情報を取得するステップとをそなえることを特徴とする、付記1記載の起動処理方法。
該起動処理が複数のフェーズをそなえ、
該複数のフェーズのうち一のフェーズにおいて、該プロセッサのプロセッサキャッシュを該記憶領域として用い、
該情報処理装置の主記憶装置が使用可能な状態となった後に、該プロセッサキャッシュに格納されている該第2共通情報を該主記憶装置に複写するステップをそなえることを特徴とする、付記1又は2記載の起動処理方法。
プロセッサをそなえた情報処理装置であって、
起動処理時に、該プロセッサにより実行されることにより当該情報処理装置の起動プロセスの一部を実現する複数のモジュールのうち、2以上のモジュールにより共通に用いられる第1共通情報をそなえる第1モジュールをロードする第1モジュール設定部と、
起動処理時に、該情報処理装置にそなえられた記憶領域に、該第1共通情報へアクセスするためのアクセス情報を格納するアクセス情報設定部と、
起動処理時に、該アクセス情報にアクセスするためのインタフェース情報をそなえる第2モジュールをロードする第2モジュール設定部と、
該起動処理時に、該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、該アクセス情報を介して該第1共通情報を取得する第1情報取得部とをそなえることを特徴とする、情報処理装置。
該起動処理時に、該記憶領域に、2以上のモジュールにより共通に用いられる第2共通情報を格納する共通領域を形成する共通領域設定部と、
該起動処理時に、該記憶領域に、該共通領域へアクセスするための共通領域アクセス情報を格納する共通領域アクセス情報設定部と、
該起動処理時に、該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、アクセスした当該アクセス情報を用いて該第1共通情報にアクセスし、アクセスした当該第1共通情報に基づいて該共通領域アクセス情報にアクセスし、アクセスした当該共通領域アクセス情報を用いて、該共通領域に格納された該第2共通情報を取得する第1情報取得部とをそなえることを特徴とする、付記4記載の情報処理装置。
該起動処理が複数のフェーズをそなえ、
該複数のフェーズのうち一のフェーズにおいて、該プロセッサのプロセッサキャッシュを該記憶領域として用い、
該共通領域設定部が、該情報処理装置の主記憶装置が使用可能な状態となった後に、該プロセッサキャッシュに格納されている該第2共通情報を該主記憶装置に複写することを特徴とする、付記4又は5記載の情報処理装置。
起動処理をコンピュータに実行させるための起動処理プログラムであって、
該コンピュータに実行されることにより当該情報処理装置の起動プロセスの一部を実現する複数のモジュールのうち、2以上のモジュールにより共通に用いられる第1共通情報をそなえる第1モジュールをロードするステップと、
該情報処理装置にそなえられた記憶領域に、該第1共通情報へアクセスするためのアクセス情報を格納するステップと、
該アクセス情報にアクセスするためのインタフェース情報をそなえる第2モジュールをロードするステップと、
該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、該アクセス情報を介して該第1共通情報を取得するステップとを、該コンピュータに実行させることを特徴とする、起動処理プログラム。
該記憶領域に、2以上のモジュールにより共通に用いられる第2共通情報を格納する共通領域を形成するステップと、
該記憶領域に、該共通領域へアクセスするための共通領域アクセス情報を格納するステップと、
該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、アクセスした当該アクセス情報を用いて該第1共通情報にアクセスし、アクセスした当該第1共通情報に基づいて該共通領域アクセス情報にアクセスし、アクセスした当該共通領域アクセス情報を用いて、該共通領域に格納された該第2共通情報を取得するステップとを、該コンピュータに実行させることを特徴とする、付記7記載の起動処理プログラム。
該起動処理が複数のフェーズをそなえ、
該複数のフェーズのうち一のフェーズにおいて、該プロセッサのプロセッサキャッシュを該記憶領域として用い、
該情報処理装置の主記憶装置が使用可能な状態となった後に、該プロセッサキャッシュに格納されている該第2共通情報を該主記憶装置に複写するステップを該コンピュータに実行させることを特徴とする、付記7又は8記載の起動処理プログラム。
起動処理をコンピュータに実行させるための起動処理プログラムを記録したコンピュータ読取可能な記録媒体であって、
該起動処理プログラムが、
該コンピュータに実行されることにより当該情報処理装置の起動プロセスの一部を実現する複数のモジュールのうち、2以上のモジュールにより共通に用いられる第1共通情報をそなえる第1モジュールをロードするステップと、
該情報処理装置にそなえられた記憶領域に、該第1共通情報へアクセスするためのアクセス情報を格納するステップと、
該アクセス情報にアクセスするためのインタフェース情報をそなえる第2モジュールをロードするステップと、
該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、該アクセス情報を介して該第1共通情報を取得するステップとを、該コンピュータに実行させることを特徴とする、起動処理プログラムを記録したコンピュータ読取可能な記録媒体。
該起動処理プログラムが、
該記憶領域に、2以上のモジュールにより共通に用いられる第2共通情報を格納する共通領域を形成するステップと、
該記憶領域に、該共通領域へアクセスするための共通領域アクセス情報を格納するステップと、
該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、アクセスした当該アクセス情報を用いて該第1共通情報にアクセスし、アクセスした当該第1共通情報に基づいて該共通領域アクセス情報にアクセスし、アクセスした当該共通領域アクセス情報を用いて、該共通領域に格納された該第2共通情報を取得するステップとを、該コンピュータに実行させることを特徴とする、付記10記載の起動処理プログラムを記録したコンピュータ読取可能な記録媒体。
該起動処理が複数のフェーズをそなえ、
該起動処理プログラムが、
該複数のフェーズのうち一のフェーズにおいて、プロセッサキャッシュを該記憶領域として用い、
該情報処理装置の主記憶装置が使用可能な状態となった後に、該プロセッサキャッシュに格納されている該第2共通情報を該主記憶装置に複写するステップを該コンピュータに実行させることを特徴とする、付記10又は11記載の起動処理プログラムを記録したコンピュータ読取可能な記録媒体。
11 起動処理部
20 RAM
21 ROM
22 BIOS Flash
23 ストレージ
24 ディスプレイ
100 情報処理装置
101 CAR領域(記憶領域)
102 共通領域
103,203 共通領域へのアドレス情報(共通領域アクセス情報)
104,204,212 共通ライブラリへのアドレス情報(アクセス情報)
111 モジュール設定部(第1モジュール設定部,第2モジュール設定部)
112 アクセス情報設定部
113 共通領域アクセス情報設定部
114 共通領域設定部
115 情報取得部(第1情報取得部,第2情報取得部)
201 固定のメモリ領域(記憶領域)
211 SMM固定のメモリ領域
301,311 SMM領域
1001,2001,2101 管理域
D,D1〜D4 DEXドライバ(モジュール)
H ヘッダ
M,M11,M12,M21〜M24 PEIモジュール(モジュール)
P プログラムデータ
P1〜P3 モジュールプログラム
PI 実行可能イメージ
SL 共通ライブラリ(第1共通情報)
SI 共通インタフェースライブラリ(インタフェース情報)
Claims (8)
- プロセッサをそなえた情報処理装置の起動処理方法であって、
該プロセッサにより実行されることにより当該情報処理装置の起動プロセスの一部を実現する複数のモジュールのうち、2以上のモジュールにより共通に用いられる第1共通情報をそなえる第1モジュールをロードするステップと、
該情報処理装置にそなえられた記憶領域に、該第1共通情報へアクセスするためのアクセス情報を格納するステップと、
該アクセス情報にアクセスするためのインタフェース情報をそなえる第2モジュールをロードするステップと、
該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、該アクセス情報を介して該第1共通情報を取得するステップとをそなえることを特徴とする、起動処理方法。 - 該記憶領域に、2以上のモジュールにより共通に用いられる第2共通情報(共通領域情報)を格納する共通領域を形成するステップと、
該記憶領域に、該共通領域へアクセスするための共通領域アクセス情報(共通領域へのアドレス情報)を格納するステップと、
該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、アクセスした当該アクセス情報を用いて該第1共通情報にアクセスし、アクセスした当該第1共通情報に基づいて該共通領域アクセス情報にアクセスし、アクセスした当該共通領域アクセス情報を用いて、該共通領域に格納された該第2共通情報を取得するステップとをそなえることを特徴とする、請求項1記載の起動処理方法。 - 該起動処理が複数のフェーズをそなえ、
該複数のフェーズのうち一のフェーズにおいて、該プロセッサのプロセッサキャッシュを該記憶領域として用い、
該情報処理装置の主記憶装置が使用可能な状態となった後に、該プロセッサキャッシュに格納されている該第2共通情報を該主記憶装置に複写するステップをそなえることを特徴とする、請求項1又は2記載の起動処理方法。 - プロセッサをそなえた情報処理装置であって、
起動処理時に、該プロセッサにより実行されることにより当該情報処理装置の起動プロセスの一部を実現する複数のモジュールのうち、2以上のモジュールにより共通に用いられる第1共通情報をそなえる第1モジュールをロードする第1モジュール設定部と、
起動処理時に、該情報処理装置にそなえられた記憶領域に、該第1共通情報へアクセスするためのアクセス情報を格納するアクセス情報設定部と、
起動処理時に、該アクセス情報にアクセスするためのインタフェース情報をそなえる第2モジュールをロードする第2モジュール設定部と、
該起動処理時に、該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、該アクセス情報を介して該第1共通情報を取得する第1情報取得部とをそなえることを特徴とする、情報処理装置。 - 該起動処理時に、該記憶領域に、2以上のモジュールにより共通に用いられる第2共通情報を格納する共通領域を形成する共通領域設定部と、
該起動処理時に、該記憶領域に、該共通領域へアクセスするための共通領域アクセス情報を格納する共通領域アクセス情報設定部と、
該起動処理時に、該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、アクセスした当該アクセス情報を用いて該第1共通情報にアクセスし、アクセスした当該第1共通情報に基づいて該共通領域アクセス情報にアクセスし、アクセスした当該共通領域アクセス情報を用いて、該共通領域に格納された該第2共通情報を取得する第1情報取得部とをそなえることを特徴とする、請求項4記載の情報処理装置。 - 該起動処理が複数のフェーズをそなえ、
該複数のフェーズのうち一のフェーズにおいて、該プロセッサのプロセッサキャッシュを該記憶領域として用い、
該共通領域設定部が、該情報処理装置の主記憶装置が使用可能な状態となった後に、該プロセッサキャッシュに格納されている該第2共通情報を該主記憶装置に複写することを特徴とする、請求項4又は5記載の情報処理装置。 - 起動処理をコンピュータに実行させるための起動処理プログラムであって、
該コンピュータに実行されることにより当該情報処理装置の起動プロセスの一部を実現する複数のモジュールのうち、2以上のモジュールにより共通に用いられる第1共通情報をそなえる第1モジュールをロードするステップと、
該情報処理装置にそなえられた記憶領域に、該第1共通情報へアクセスするためのアクセス情報を格納するステップと、
該アクセス情報にアクセスするためのインタフェース情報をそなえる第2モジュールをロードするステップと、
該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、該アクセス情報を介して該第1共通情報を取得するステップとを、該コンピュータに実行させることを特徴とする、起動処理プログラム。 - 起動処理をコンピュータに実行させるための起動処理プログラムを記録したコンピュータ読取可能な記録媒体であって、
該起動処理プログラムが、
該コンピュータに実行されることにより当該情報処理装置の起動プロセスの一部を実現する複数のモジュールのうち、2以上のモジュールにより共通に用いられる第1共通情報をそなえる第1モジュールをロードするステップと、
該情報処理装置にそなえられた記憶領域に、該第1共通情報へアクセスするためのアクセス情報を格納するステップと、
該アクセス情報にアクセスするためのインタフェース情報をそなえる第2モジュールをロードするステップと、
該第2モジュールにより、該インタフェース情報によって該アクセス情報にアクセスし、該アクセス情報を介して該第1共通情報を取得するステップとを、該コンピュータに実行させることを特徴とする、起動処理プログラムを記録したコンピュータ読取可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010153190A JP5609333B2 (ja) | 2010-07-05 | 2010-07-05 | 起動処理方法、情報処理装置、起動処理プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
US13/074,502 US20120005464A1 (en) | 2010-07-05 | 2011-03-29 | Start up processing method, information processing apparatus, and computer-readable storage medium storing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010153190A JP5609333B2 (ja) | 2010-07-05 | 2010-07-05 | 起動処理方法、情報処理装置、起動処理プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012014637A true JP2012014637A (ja) | 2012-01-19 |
JP5609333B2 JP5609333B2 (ja) | 2014-10-22 |
Family
ID=45400641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010153190A Expired - Fee Related JP5609333B2 (ja) | 2010-07-05 | 2010-07-05 | 起動処理方法、情報処理装置、起動処理プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120005464A1 (ja) |
JP (1) | JP5609333B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6129376B1 (ja) * | 2016-03-28 | 2017-05-17 | 株式会社ラック | プログラム |
US9858085B2 (en) | 2014-01-28 | 2018-01-02 | Nec Corporation | Information processing including BIOS apparatus, information processing method thereof, and storage medium |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010062835A1 (de) * | 2010-12-10 | 2012-06-14 | Codewrights Gmbh | Verfahren zur Erstellung eines kundenspezifischen Setups für eine Bibliothek von Gerätetreibern |
US11314578B2 (en) * | 2019-03-06 | 2022-04-26 | Dell Products L.P. | Information handling system and method to detect and recover from spurious resets of PCIe devices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06332675A (ja) * | 1993-05-20 | 1994-12-02 | Mitsubishi Electric Corp | 共有ライブラリ管理機構 |
JP2005196286A (ja) * | 2003-12-26 | 2005-07-21 | Okuma Corp | リアルタイムアプリケーションプログラムを動作可能なオペレーティングシステム及びその制御方法、共有ライブラリをロードする方法 |
JP2006139795A (ja) * | 1998-01-08 | 2006-06-01 | Lg Electronics Inc | コンピュータシステムのbiosデータ格納装置及びその駆動方法 |
US7512719B1 (en) * | 2006-03-16 | 2009-03-31 | American Megatrends, Inc. | Sharing a dynamically located memory block between components executing in different processor modes in an extensible firmware interface environment |
US20110283098A1 (en) * | 2009-02-03 | 2011-11-17 | Gillespie Kurt D | Electronic device with overlapped boot task fetches and boot task execution |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7133994B2 (en) * | 2003-04-17 | 2006-11-07 | International Business Machines Corporation | Configuration size determination in logically partitioned environment |
US7310725B2 (en) * | 2004-06-30 | 2007-12-18 | Intel Corporation | Common platform pre-boot and run-time firmware services |
US8131986B2 (en) * | 2006-09-29 | 2012-03-06 | Lenovo (Singapore) Pte. Ltd. | System and method for boot loading of programs within a host operating environment having one or more linked guest operating systems |
US8176311B1 (en) * | 2009-01-23 | 2012-05-08 | Juniper Networks, Inc. | Initializing platform-specific features of a platform during early stages of booting the kernel |
-
2010
- 2010-07-05 JP JP2010153190A patent/JP5609333B2/ja not_active Expired - Fee Related
-
2011
- 2011-03-29 US US13/074,502 patent/US20120005464A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06332675A (ja) * | 1993-05-20 | 1994-12-02 | Mitsubishi Electric Corp | 共有ライブラリ管理機構 |
JP2006139795A (ja) * | 1998-01-08 | 2006-06-01 | Lg Electronics Inc | コンピュータシステムのbiosデータ格納装置及びその駆動方法 |
JP2005196286A (ja) * | 2003-12-26 | 2005-07-21 | Okuma Corp | リアルタイムアプリケーションプログラムを動作可能なオペレーティングシステム及びその制御方法、共有ライブラリをロードする方法 |
US7512719B1 (en) * | 2006-03-16 | 2009-03-31 | American Megatrends, Inc. | Sharing a dynamically located memory block between components executing in different processor modes in an extensible firmware interface environment |
US20110283098A1 (en) * | 2009-02-03 | 2011-11-17 | Gillespie Kurt D | Electronic device with overlapped boot task fetches and boot task execution |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858085B2 (en) | 2014-01-28 | 2018-01-02 | Nec Corporation | Information processing including BIOS apparatus, information processing method thereof, and storage medium |
JP6129376B1 (ja) * | 2016-03-28 | 2017-05-17 | 株式会社ラック | プログラム |
JP2017182202A (ja) * | 2016-03-28 | 2017-10-05 | 株式会社ラック | プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5609333B2 (ja) | 2014-10-22 |
US20120005464A1 (en) | 2012-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10282192B1 (en) | Updating device code through a bus | |
US7134007B2 (en) | Method for sharing firmware across heterogeneous processor architectures | |
JP6089349B2 (ja) | マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム | |
US11106622B2 (en) | Firmware update architecture with OS-BIOS communication | |
JP2016508647A5 (ja) | ||
US10860307B2 (en) | Fragmented firmware storage system and method therefor | |
JP2016035770A (ja) | コンピュータシステムにおけるオペレーティングシステムの通信ネットワーク経由でのロードおよびブートを最適化するための方法、コンピュータプログラム、および装置 | |
US11334427B2 (en) | System and method to reduce address range scrub execution time in non-volatile dual inline memory modules | |
JP2016518654A (ja) | サーバ制御方法及びサーバ制御装置 | |
TWI514263B (zh) | 用於多核心處理單元的啟動載入處理器指派的技術 | |
US11461178B2 (en) | System and method to prevent endless machine check error of persistent memory devices | |
US11429298B2 (en) | System and method for tying non-volatile dual inline memory modules to a particular information handling system | |
US20050240669A1 (en) | BIOS framework for accommodating multiple service processors on a single server to facilitate distributed/scalable server management | |
US20210055946A1 (en) | Minimizing downtime when importing virtual machines from other platforms | |
JP5609333B2 (ja) | 起動処理方法、情報処理装置、起動処理プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 | |
US8789155B2 (en) | Pure offline software appliance configuration | |
JP6198843B2 (ja) | ハードディスクシステム操作方法、ストレージシステム及びプロセッサ | |
TW201112131A (en) | Controllers, apparatuses, and methods for transferring data | |
US11003778B2 (en) | System and method for storing operating life history on a non-volatile dual inline memory module | |
US20200364040A1 (en) | System and Method for Restoring a Previously Functional Firmware Image on a Non-Volatile Dual Inline Memory Module | |
TWI662419B (zh) | 具有儲存實體資源的本地磁碟的網路系統 | |
JP4569368B2 (ja) | 計算機システム、メモリ初期化方法、および計算機システムのプログラム | |
US11403162B2 (en) | System and method for transferring diagnostic data via a framebuffer | |
US11263023B1 (en) | System and method for updating host operating system drivers from a management controller | |
JP4023441B2 (ja) | コンピュータシステム及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130507 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140401 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140530 |
|
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: 20140805 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140818 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5609333 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |