JP4352086B2 - 情報処理装置およびオペレーティングシステム判別方法 - Google Patents
情報処理装置およびオペレーティングシステム判別方法 Download PDFInfo
- Publication number
- JP4352086B2 JP4352086B2 JP2007331056A JP2007331056A JP4352086B2 JP 4352086 B2 JP4352086 B2 JP 4352086B2 JP 2007331056 A JP2007331056 A JP 2007331056A JP 2007331056 A JP2007331056 A JP 2007331056A JP 4352086 B2 JP4352086 B2 JP 4352086B2
- Authority
- JP
- Japan
- Prior art keywords
- operating system
- acpi
- bit
- compatible
- smi
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 26
- 238000012850 discrimination method Methods 0.000 title claims description 7
- 238000000034 method Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 13
- 230000000717 retained effect Effects 0.000 claims 1
- 230000007246 mechanism Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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/4401—Bootstrapping
Description
SMIは、OS稼働中でもBIOSが処理しなければならない割込み要因を処理するための割込みである。SMIが発生すると、CPUは、汎用レジスタをはじめとしたCPUの状態をCPU STATE MAPと呼ばれる領域に保存し、BIOSのSMIハンドラを呼び出す。CPU STATE MAPには、CPUの動作モードに関する情報も含まれており、この情報を基に稼働中のOSが64ビットOSか否かを判断することができる。SMIハンドラが終了すると、CPUは、CPU STATE MAPからCPUの動作モードを復帰して、SMI発生前の処理を再開する。
Intel64, AMD64アークテクチャのCPUでは、Long Mode(IA-32e mode)と呼ばれるCPUの動作モードを持っており、CPUの動作モードがLong Modeか否かは、EFER(Extended Feature Enable MSR), CR4と呼ばれるレジスタを参照することによって判断できる。
BIOSは、ACPI OSに対して、中間言語(AML:ACPI Machine Language)で記述されたプログラムを提供する。ACPI OSは、ACPI Enableコマンドにより、BIOSに対してACPI OSが起動することを通知し、以後、OS自身が持つインタプリタ(OSPM)によりAMLを解釈しながら当該プログラムを実行する。
以上の「SMIの概要」、「Long Modeの概略」、「ACPI OSの動作の概略」を踏まえて、まず、本コンピュータにおけるBIOS16によるOS100の自動判別の第1実施形態について説明する。
次に、本コンピュータにおけるBIOS16によるOS100の自動判別の第2実施形態について説明する。本第2実施形態では、OS100のカーネル判別についても説明する。
次に、本コンピュータにおけるBIOS16によるOS100の自動判別の第3実施形態について説明する。
Claims (14)
- ACPI(Advanced Configuration and Power Interface)対応のオペレーティングシステムがACPI Enableコマンドを発行したことを要因とするSMI(System Management Interrupt)が発生した場合に、SMI発生時のCPUの状態が保持されるCPU STATE MAP領域を参照して、前記オペレーティングシステムのカーネルの種類を判別する判別手段を、ACPI対応のBIOS(Basic Input/Output System)が備えるSMIハンドラ内に設けたことを特徴とする情報処理装置。
- 前記オペレーティングシステムのカーネルが32ビットカーネルか64ビットカーネルかを判別することで、前記オペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるかを判別することを特徴とする請求項1記載の情報処理装置。
- 前記判別手段は、前記CPU STATE MAP領域のEFER(Extended Feature Enable MSR)レジスタのLMEビットの値に基づき、前記オペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるのかを判定することを特徴とする請求項2記載の情報処理装置。
- 前記ACPI対応のオペレーティングシステムに対して前記ACPI対応のBIOSが提供する、当該ACPI対応のBIOSに対して各種処理を要求すべくSMIを発生させるためのプログラムの初期化処理ルーチン部に、前記ACPI対応のオペレーティングシステムの判別要求がなされたことを要因とするSMIを発生させる手続きを含め、
前記判別手段は、当該判別要求がなされたことを要因とするSMIが発生した場合、前記CPU STATE MAP領域のCR4(Control Register 4)レジスタのPAE Enableビットの値およびEFERレジスタのLMEビットの値に基づき、前記オペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるのかを判定することを特徴とする請求項2記載の情報処理装置。 - 前記ACPI対応のオペレーティングシステムに対して前記ACPI対応のBIOSが提供する、当該ACPI対応のBIOSに対して各種処理を要求すべくSMIを発生させるためのプログラムは、中間言語(AML:ACPI Machine Language)で記述されることを特徴とする請求項4記載の情報処理装置。
- 前記ACPI対応のBIOSは、当該情報処理装置のリソース報告の要求時、前記ACPI対応のオペレーティングシステムの判別要求がなされたことを要因とするSMIを前記ACPI対応のオペレーティングシステムに発生させる手段を有し、
前記判別手段は、当該判別要求がなされたことを要因とするSMIが発生した場合、前記CPU STATE MAP領域のCR4レジスタのPAE Enableビットの値およびEFERレジスタのLMEビットの値に基づき、前記オペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるのかを判定することを特徴とする請求項2記載の情報処理装置。 - 前記ACPI対応のBIOSは、前記ACPI対応のオペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるのかを選択させるための選択画面であって、前記ACPI対応のオペレーティングシステムを自動判別させる選択肢を含む選択画面を提示するセットアップ手段を具備し、
前記セットアップ手段は、前記選択画面上で前記ACPI対応のオペレーティングシステムを自動判別させる選択肢が選択された場合、前記ACPI対応のオペレーティングシステムの判別要求がなされたことを要因とするSMIを前記ACPI対応のオペレーティングシステムに発生させる手段を有し、
前記判別手段は、当該判別要求がなされたことを要因とするSMIが発生した場合、前記CPU STATE MAP領域のEFERレジスタのLMEビットの値に基づき、前記オペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるのかを判定することを特徴とする請求項2記載の情報処理装置。 - ACPI対応のオペレーティングシステムおよびACPI対応のBIOSが動作する情報処理装置におけるオペレーティングシステム判別方法であって、
前記ACPI対応のBIOSが、
前記ACPI対応のオペレーティングシステムがACPI Enableコマンドを発行したことを要因とするSMIが発生した場合に、SMI発生時のCPUの状態が保持されるCPU STATE MAP領域を参照して、前記オペレーティングシステムのカーネルの種類を、SMIハンドラによって判定する、
ことを特徴とするオペレーティングシステム判別方法。 - 前記オペレーティングシステムのカーネルが32ビットカーネルか64ビットカーネルかを判別することで、前記オペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるかを判別することを特徴とする請求項8記載のオペレーティングシステム判別方法。
- 前記CPU STATE MAP領域のEFERレジスタのLMEビットの値に基づき、前記オペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるのかを判定することを特徴とする請求項9記載のオペレーティングシステム判別方法。
- 前記ACPI対応のオペレーティングシステムに対して前記ACPI対応のBIOSが提供する、当該ACPI対応のBIOSに対して各種処理を要求すべくSMIを発生させるためのプログラムの初期化処理ルーチン部に、前記ACPI対応のオペレーティングシステムの判別要求がなされたことを要因とするSMIを発生させる手続きを含め、
前記ACPI対応のBIOSは、
当該判別要求がなされたことを要因とするSMIが発生した場合、前記CPU STATE MAP領域のCR4レジスタのPAE Enableビットの値およびEFERレジスタのLMEビットの値に基づき、前記オペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるのかを判定することを特徴とする請求項9記載のオペレーティングシステム判別方法。 - 前記ACPI対応のオペレーティングシステムに対して前記ACPI対応のBIOSが提供する、当該ACPI対応のBIOSに対して各種処理を要求すべくSMIを発生させるためのプログラムは、中間言語で記述されることを特徴とする請求項11記載のオペレーティングシステム判別方法。
- 前記ACPI対応のBIOSは、
当該情報処理装置のリソース報告の要求時、前記ACPI対応のオペレーティングシステムの判別要求がなされたことを要因とするSMIを前記ACPI対応のオペレーティングシステムに発生させ、
当該判別要求がなされたことを要因とするSMIが発生した場合、前記CPU STATE MAP領域のCR4レジスタのPAE Enableビットの値およびEFERレジスタのLMEビットの値に基づき、前記オペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるのかを判定することを特徴とする請求項9記載のオペレーティングシステム判別方法。 - 前記ACPI対応のBIOSは、
前記ACPI対応のオペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるのかを選択させるための選択画面であって、前記ACPI対応のオペレーティングシステムを自動判別させる選択肢を含む選択画面を提示し、
前記選択画面上で前記ACPI対応のオペレーティングシステムを自動判別させる選択肢が選択された場合、前記ACPI対応のオペレーティングシステムの判別要求がなされたことを要因とするSMIを前記ACPI対応のオペレーティングシステムに発生させ、
当該判別要求がなされたことを要因とするSMIが発生した場合、前記CPU STATE MAP領域のEFERレジスタのLMEビットの値に基づき、前記オペレーティングシステムが32ビットオペレーティングシステムおよび64ビットオペレーティングシステムのいずれであるのかを判定することを特徴とする請求項9記載のオペレーティングシステム判別方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007331056A JP4352086B2 (ja) | 2007-12-21 | 2007-12-21 | 情報処理装置およびオペレーティングシステム判別方法 |
US12/340,002 US7937577B2 (en) | 2007-12-21 | 2008-12-19 | Information processing apparatus and operating system determination method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007331056A JP4352086B2 (ja) | 2007-12-21 | 2007-12-21 | 情報処理装置およびオペレーティングシステム判別方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009151707A JP2009151707A (ja) | 2009-07-09 |
JP4352086B2 true JP4352086B2 (ja) | 2009-10-28 |
Family
ID=40790065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007331056A Active JP4352086B2 (ja) | 2007-12-21 | 2007-12-21 | 情報処理装置およびオペレーティングシステム判別方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7937577B2 (ja) |
JP (1) | JP4352086B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10120663B2 (en) * | 2014-03-28 | 2018-11-06 | Intel Corporation | Inter-architecture compatability module to allow code module of one architecture to use library module of another architecture |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02280229A (ja) | 1989-04-21 | 1990-11-16 | Nec Corp | プログラム実行方式 |
US6732280B1 (en) * | 1999-07-26 | 2004-05-04 | Hewlett-Packard Development Company, L.P. | Computer system performing machine specific tasks before going to a low power state |
US6823516B1 (en) | 1999-08-10 | 2004-11-23 | Intel Corporation | System and method for dynamically adjusting to CPU performance changes |
US20040205730A1 (en) * | 2001-06-11 | 2004-10-14 | Week Jon J. | System and method for building libraries and groups of computer programs |
JP2003196096A (ja) * | 2001-12-07 | 2003-07-11 | Internatl Business Mach Corp <Ibm> | コンピュータシステム、その起動制御方法及びプログラム |
US7100037B2 (en) * | 2002-11-27 | 2006-08-29 | Intel Corporation | Method for reducing BIOS resume time from a sleeping state |
US20060288197A1 (en) * | 2005-06-16 | 2006-12-21 | Swanson Robert C | Identifying an operating system associated with a boot path |
US7856630B2 (en) * | 2006-01-05 | 2010-12-21 | International Business Machines Corporation | System, method and program to manage program updates |
JP2007207074A (ja) | 2006-02-03 | 2007-08-16 | Ricoh Co Ltd | オペレーションシステム、スレッド制御機構、及び情報処理装置 |
US7694125B2 (en) * | 2006-12-01 | 2010-04-06 | Dell Products, Lp | System and method of booting an operating system in an optimal performance state |
US7941810B2 (en) * | 2006-12-28 | 2011-05-10 | Intel Corporation | Extensible and flexible firmware architecture for reliability, availability, serviceability features |
US8056084B2 (en) * | 2007-01-25 | 2011-11-08 | Hewlett-Packard Development Company, L.P. | Method and system for dynamically reallocating a resource among operating systems without rebooting of the computer system |
US7783872B2 (en) * | 2007-03-30 | 2010-08-24 | Dell Products, Lp | System and method to enable an event timer in a multiple event timer operating environment |
US9652210B2 (en) * | 2007-08-28 | 2017-05-16 | Red Hat, Inc. | Provisioning a device with multiple bit-size versions of a software component |
US8832679B2 (en) * | 2007-08-28 | 2014-09-09 | Red Hat, Inc. | Registration process for determining compatibility with 32-bit or 64-bit software |
-
2007
- 2007-12-21 JP JP2007331056A patent/JP4352086B2/ja active Active
-
2008
- 2008-12-19 US US12/340,002 patent/US7937577B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20090164768A1 (en) | 2009-06-25 |
US7937577B2 (en) | 2011-05-03 |
JP2009151707A (ja) | 2009-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI407300B (zh) | 電源管理控制器與方法 | |
EP2380081B1 (en) | Method and system for hibernation or suspend using a non-volatile-memory device | |
JP5489182B2 (ja) | プリロードする方法及びコントローラ | |
JP5385347B2 (ja) | メイン・メモリのフリー・メモリ量を拡大する方法およびコンピュータ | |
JPH06187133A (ja) | オペレーティングシステムのロードシステム、装置接続検出システム、及びオペレーティングシステムローダ決定方法 | |
US20160231935A1 (en) | Memory Configuration Operations for a Computing Device | |
JP2008287505A (ja) | 情報処理装置およびレガシーエミュレーション処理停止制御方法 | |
US10564986B2 (en) | Methods and apparatus to suspend and resume computing systems | |
JP4155545B2 (ja) | コンピュータシステムおよびデータ転送制御方法 | |
US7310725B2 (en) | Common platform pre-boot and run-time firmware services | |
US8291436B2 (en) | Synchronization of event handlers | |
US20070260761A1 (en) | Inter-module data communication control method and system for ACPI and BIOS | |
US20070198822A1 (en) | Method for changing booting sources of a computer system and a related backup/restore method thereof | |
US20130097412A1 (en) | Performing A Boot Sequence In A Multi-Processor System | |
US7293184B2 (en) | Programmatic binding for power management events involving execution of instructions in a first programming system with a first interface and a second programming system with a second interface | |
US7568091B2 (en) | Computer platform system control unit data programming control method and system | |
JP4352086B2 (ja) | 情報処理装置およびオペレーティングシステム判別方法 | |
TWI559227B (zh) | 具有內建雙可隨機關閉開啟電源作業裝置的電腦系統 | |
US20110314203A1 (en) | Resource adjustment methods and systems for virtual machines | |
WO2013136457A1 (ja) | 仮想計算機システム、情報保存処理プログラム及び情報保存処理方法 | |
US10061597B2 (en) | Computing device with first and second operating systems | |
US11023139B2 (en) | System for speculative block IO aggregation to reduce uneven wearing of SCMs in virtualized compute node by offloading intensive block IOs | |
US20120239715A1 (en) | Information processing apparatus with log output function, mobile terminal device, and log output control method | |
JP2006040063A (ja) | 情報処理装置および情報処理装置のsmi処理方法 | |
US11340835B2 (en) | Virtual non-volatile memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090520 |
|
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: 20090630 |
|
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: 20090727 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120731 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4352086 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130731 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313121 Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |