CN106933558B - 一种电源控制方法及装置 - Google Patents
一种电源控制方法及装置 Download PDFInfo
- Publication number
- CN106933558B CN106933558B CN201511027941.5A CN201511027941A CN106933558B CN 106933558 B CN106933558 B CN 106933558B CN 201511027941 A CN201511027941 A CN 201511027941A CN 106933558 B CN106933558 B CN 106933558B
- Authority
- CN
- China
- Prior art keywords
- apm
- int15
- shutdown
- processing program
- executing
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/442—Shutdown
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明适用于计算机电源管理领域,提供了一种电源控制方法及装置,所述电源控制方法包括:当基本输入输出系统BIOS升级为统一的可扩展固件接口UEFI时,在中断向量表中,获取中断向量int15指向的地址;在所述int15指向的地址对应的内存区域中,嵌入APM关机处理程序;当系统关机时,在所述中断向量表中,读取并执行所述int15;通过执行所述int15,跳转到所述int15指向的地址,执行嵌入的APM关机处理程序。本发明使得系统既可以使用ACPI电源管理模块,也可以支持APM的命令。当APM命令响应时,通过控制ACPI来实现APM命令,其有益效果在于两方面,一方面,提高了响应效率和系统可用性,另一方面,满足了计算机对电源的控制需求。
Description
技术领域
本发明属于计算机电源管理领域,尤其涉及一种电源控制方法及装置。
背景技术
计算机上的高级电源管理有两种,分别是高级电源管理(Advanced PowerManagement,APM)和高级配置和电源管理接口(Advanced Configuration and PowerManagement Interface,ACPI)。BIOS(Basic Input Output System,基本输入输出系统)使用APM,UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)使用ACPI。此外,APM是比较落后的电源管理,目前已经近乎淘汰,只有一些特定的行业仍在使用着。而ACPI则是现在主流使用的高级电源管理,其性能突出,所以很多计算机将主板的BIOS升级为UEFI,以便于提高性能。
然而,当BIOS升级为UEFI时,UEFI中的ACPI和APM不兼容,UEFI无法支持APM执行关机动作,降低了电源控制的智能程度,难以满足计算机对电源的控制需求。其原因在于,部分行业操作系统仍使用较为落后的版本内核,当其主板BIOS升级为UEFI时,机器主板对APM电源管理将不再支持,这时有关于电源管理的命令全部失效,例如power off。如果采用升级系统的措施去解决,需花费的资源巨大,还要重新设定改变一些系统或者应用程序配置,恢复备份资料等,因此难以满足计算机对电源的控制需求。
发明内容
本发明实施例的目的在于提供一种电源控制方法,旨在解决当BIOS升级为UEFI时,UEFI中的ACPI和APM不兼容,UEFI无法支持APM执行关机动作的问题。
本发明实施例是这样实现的,一种电源控制方法,包括:
当基本输入输出系统BIOS升级为统一的可扩展固件接口UEFI时,在中断向量表中,获取中断向量int15指向的地址;
在所述int15指向的地址对应的内存区域中,嵌入APM关机处理程序;
当系统关机时,在所述中断向量表中,读取并执行所述int15;
通过执行所述int15,跳转到所述int15指向的地址,执行嵌入的APM关机处理程序。
本发明实施例的另一目的在于提供一种电源控制装置,包括:
地址获取模块,用于当基本输入输出系统BIOS升级为统一的可扩展固件接口UEFI时,在中断向量表中,获取中断向量int15指向的地址;
APM关机处理程序嵌入模块,用于在所述int15指向的地址对应的内存区域中,嵌入APM关机处理程序;
int15执行模块,用于当系统关机时,在所述中断向量表中,读取并执行所述int15;
APM关机处理程序执行模块,用于通过执行所述int15,跳转到所述int15指向的地址,执行嵌入的APM关机处理程序。
在本发明实施例中,通过执行int15,跳转到int15指向的地址,执行嵌入的APM关机处理程序,解决了当BIOS升级为UEFI时,UEFI中的ACPI和APM不兼容,UEFI无法支持APM执行关机动作的问题。在计算机正常使用的前提下,系统既可以使用ACPI电源管理模块,也可以支持APM命令,当APM命令需要响应时,通过控制ACPI来实现APM命令,其有益效果在于两方面,一方面,提高了响应效率和系统可用性,另一方面,满足了计算机对电源的控制需求。
附图说明
图1是本发明实施例提供的电源控制方法的实现流程图;
图2是本发明实施例提供的电源控制方法步骤S102的实现流程图;
图3是本发明实施例提供的电源控制方法步骤S103的实现流程图;
图4是本发明实施例提供的电源控制装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
图1是本发明实施例提供的电源控制方法的实现流程图,详述如下:
在步骤S101中,当基本输入输出系统BIOS升级为统一的可扩展固件接口UEFI时,在中断向量表中,获取中断向量int15指向的地址;
在步骤S102中,在所述int15指向的地址对应的内存区域中,嵌入高级电源管理APM关机处理程序;
步骤S102,具体为:
检测系统关机事件是否触发;
当所述系统关机事件触发时,在所述中断向量表中,读取并执行所述int15。
在步骤S103中,当系统关机时,在所述中断向量表中,读取并执行所述int15;
在步骤S104中,通过执行所述int15,跳转到所述int15指向的地址,执行嵌入的APM关机处理程序。
在本发明实施例中,通过利用ACPI支持APM,无需重新设定改变一些系统或者应用程序配置,当APM命令响应时,通过控制ACPI来实现APM命令,其有益效果在于两方面,一方面,提高了响应效率和系统可用性,另一方面,满足了计算机对电源的控制需求。
实施例二
本发明实施例描述了写入APM电源管理的命令的实现流程,详述如下:
在所述int15指向的地址对应的内存区域中,通过写入APM电源管理的命令,嵌入APM关机处理程序。
实施例三
图2是本发明实施例提供的嵌入APM关机处理程序的实现流程图,详述如下:
在步骤S201中,获取PMbase偏移5位后的地址位;
在步骤S202中,在所述int15指向的地址对应的内存区域中,通过在获取到的地址位中写入3C,嵌入APM关机处理程序;
其中,3C为十六进制的数值;
其中,PMbase为高级配置和电源管理接口ACPI的始地址。
实施例四
本发明实施例描述了配置关机预处理程序的实现流程,详述如下:
配置关机预处理程序,避免当前应用程序异常结束导致文件被损坏。
其中,关机预处理程序,处理的内容如下:
关闭睡眠sleep按键信号;
在总线接口PCI配置空间寄存器中读出1byte数据,将power控制bit0清零写入;
清理电源适配器GPE[31:0]记录的状态标识位;
判断是否有系统时钟告警RTC Alarm功能,若有,进行定时开机的控制操作;
清理电脑内存DRAM中的重置状态Initialization标志位;
清理所有活动Activity事件;
清理所有管理信息结构SMI标志位;
清理PMBase中节流throttle控制位,即SLP_SMI_EN位。
实施例五
图3是本发明实施例提供的电源控制方法步骤S103的实现流程图,详述如下:
在步骤S301中,当系统关机时,执行所述关机预处理程序;
在步骤S302中,待所述关机预处理程序执行完毕后,在所述中断向量表中,读取并执行所述int15。
实施例六
图4是本发明实施例提供的电源控制装置的结构框图,该装置可以运行于具备高级电源管理的计算机中。为了便于说明,仅示出了与本实施例相关的部分。
参照图4,该电源控制装置,包括:
地址获取模块,用于当基本输入输出系统BIOS升级为统一的可扩展固件接口UEFI时,在中断向量表中,获取中断向量int15指向的地址;
APM关机处理程序嵌入模块,用于在所述int15指向的地址对应的内存区域中,嵌入APM关机处理程序;
int15执行模块,用于当系统关机时,在所述中断向量表中,读取并执行所述int15;
APM关机处理程序执行模块,用于通过执行所述int15,跳转到所述int15指向的地址,执行嵌入的APM关机处理程序。
作为本实施例的一种实现方式,在所述电源控制装置中,所述APM关机处理程序嵌入模块用于在所述int15指向的地址对应的内存区域中,通过写入APM电源管理的命令,嵌入APM关机处理程序。
作为本实施例的一种实现方式,在所述电源控制装置中,所述APM关机处理程序嵌入模块,包括:
地址位获取单元,用于获取PMbase偏移5位后的地址位;
APM关机处理程序嵌入单元,用于在所述int15指向的地址对应的内存区域中,通过在获取到的地址位中写入3C,嵌入APM关机处理程序;
其中,3C为十六进制的数值;
其中,PMbase为高级配置和电源管理接口ACPI的始地址。
作为本实施例的一种实现方式,在所述电源控制装置中,所述电源控制装置,还包括:
配置关机预处理模块,用于配置关机预处理程序,避免当前应用程序异常结束导致文件被损坏。
作为本实施例的一种实现方式,在所述电源控制装置中,所述int15执行模块,包括:
关机预处理程序执行单元,用于当系统关机时,执行所述关机预处理程序;
int15执行单元,用于待所述关机预处理程序执行完毕后,在所述中断向量表中,读取并执行所述int15。
本发明实施例提供的装置可以应用在前述对应的方法实施例中,详情参见上述实施例的描述,在此不再赘述。
在本发明实施例中,在int15指向的地址对应的内存区域中,嵌入了高级电源管理APM关机处理程序,而APM关机处理程序用于响应并处理APM命令,因此当BIOS升级为UEFI时,UEFI能够通过int15中的APM关机处理程序响应并处理APM命令,使得计算机在使用ACPI电源管理模块的时候,也可以同时响应APM命令,因此本发明能够取得UEFI中的ACPI和APM兼容,UEFI支持APM执行关机动作的技术效果。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现。所述的程序可以存储于可读取存储介质中,所述的存储介质,如随机存储器、闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种电源控制方法,其特征在于,包括:
当基本输入输出系统BIOS升级为统一的可扩展固件接口UEFI时,在中断向量表中,获取中断向量int15指向的地址;
在所述int15指向的地址对应的内存区域中,嵌入高级电源管理APM关机处理程序;
当系统关机时,在所述中断向量表中,读取并执行所述int15;
通过执行所述int15,跳转到所述int15指向的地址,执行嵌入的APM关机处理程序;
所述在所述int15指向的地址对应的内存区域中,通过写入APM电源管理的命令,嵌入APM关机处理程序,具体为:
获取PMbase偏移5位后的地址位;
在所述int15指向的地址对应的内存区域中,通过在获取到的地址位中写入3C,嵌入APM关机处理程序;
其中,3C为十六进制的数值;
其中,PMbase为高级配置和电源管理接口ACPI的始地址。
2.如权利要求1所述的电源控制方法,其特征在于,所述在所述int15指向的地址对应的内存区域中,嵌入APM关机处理程序,具体为:
在所述int15指向的地址对应的内存区域中,通过写入APM电源管理的命令,嵌入APM关机处理程序。
3.如权利要求1所述的电源控制方法,其特征在于,在所述当系统关机时,在所述中断向量表中,读取并执行所述int15之前,所述电源控制方法还包括:
配置关机预处理程序,避免当前应用程序异常结束导致文件被损坏。
4.如权利要求3所述的电源控制方法,其特征在于,所述当系统关机时,在所述中断向量表中,读取并执行所述int15,具体为:
当系统关机时,执行所述关机预处理程序;
待所述关机预处理程序执行完毕后,在所述中断向量表中,读取并执行所述int15。
5.一种电源控制装置,其特征在于,包括:
地址获取模块,用于当基本输入输出系统BIOS升级为统一的可扩展固件接口UEFI时,在中断向量表中,获取中断向量int15指向的地址;
APM关机处理程序嵌入模块,用于在所述int15指向的地址对应的内存区域中,嵌入APM关机处理程序;
int15执行模块,用于当系统关机时,在所述中断向量表中,读取并执行所述int15;
APM关机处理程序执行模块,用于通过执行所述int15,跳转到所述int15指向的地址,执行嵌入的APM关机处理程序;
所述APM关机处理程序嵌入模块,包括:
地址位获取单元,用于获取PMbase偏移5位后的地址位;
APM关机处理程序嵌入单元,用于在所述int15指向的地址对应的内存区域中,通过在获取到的地址位中写入3C,嵌入APM关机处理程序;
其中,3C为十六进制的数值;
其中,PMbase为高级配置和电源管理接口ACPI的始地址。
6.如权利要求5所述的电源控制装置,其特征在于,所述APM关机处理程序嵌入模块用于在所述int15指向的地址对应的内存区域中,通过写入APM电源管理的命令,嵌入APM关机处理程序。
7.如权利要求5所述的电源控制装置,其特征在于,所述电源控制装置,还包括:
配置关机预处理模块,用于配置关机预处理程序,避免当前应用程序异常结束导致文件被损坏。
8.如权利要求7所述的电源控制装置,其特征在于,所述int15执行模块,包括:
关机预处理程序执行单元,用于当系统关机时,执行所述关机预处理程序;
int15执行单元,用于待所述关机预处理程序执行完毕后,在所述中断向量表中,读取并执行所述int15。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201511027941.5A CN106933558B (zh) | 2015-12-31 | 2015-12-31 | 一种电源控制方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201511027941.5A CN106933558B (zh) | 2015-12-31 | 2015-12-31 | 一种电源控制方法及装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106933558A CN106933558A (zh) | 2017-07-07 |
| CN106933558B true CN106933558B (zh) | 2021-08-13 |
Family
ID=59441879
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201511027941.5A Active CN106933558B (zh) | 2015-12-31 | 2015-12-31 | 一种电源控制方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106933558B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107861790B (zh) * | 2017-10-27 | 2020-05-15 | 新华三云计算技术有限公司 | 虚拟机磁盘空间扩展方法、装置、宿主机及可读存储介质 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6360327B1 (en) * | 1999-03-12 | 2002-03-19 | Compaq Information Technologies Group, L.P. | System with control registers for managing computer legacy peripheral devices using an advanced configuration power interface software power management system |
| US20030018892A1 (en) * | 2001-07-19 | 2003-01-23 | Jose Tello | Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer |
| CN101650647A (zh) * | 2008-08-12 | 2010-02-17 | 武汉卓华软件有限责任公司 | 一种efi平台的兼容方法 |
| TWI643130B (zh) * | 2013-09-12 | 2018-12-01 | 系微股份有限公司 | 用於在uefi安全開機資料庫中自動註冊任選rom的系統以及方法 |
| CN104460925A (zh) * | 2014-12-18 | 2015-03-25 | 山东超越数控电子有限公司 | 一种基于申威平台的电源管理实现方法 |
-
2015
- 2015-12-31 CN CN201511027941.5A patent/CN106933558B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN106933558A (zh) | 2017-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10387261B2 (en) | System and method to capture stored data following system crash | |
| US8468389B2 (en) | Firmware recovery system and method of baseboard management controller of computing device | |
| US11526411B2 (en) | System and method for improving detection and capture of a host system catastrophic failure | |
| JP6530774B2 (ja) | ハードウェア障害回復システム | |
| US9158628B2 (en) | Bios failover update with service processor having direct serial peripheral interface (SPI) access | |
| CN102789305B (zh) | 推迟挂起 | |
| CN103207797B (zh) | 基于通用可扩展固件接口固件系统的胶囊式定制更新方法 | |
| US8219851B2 (en) | System RAS protection for UMA style memory | |
| US11977744B2 (en) | Memory anomaly processing method and system, electronic device, and storage medium | |
| US9229729B2 (en) | Initializing processor cores in a multiprocessor system | |
| JP2004295885A (ja) | メイン・メモリの動的再割当てが可能なコンピュータ・システム | |
| US20190004818A1 (en) | Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof | |
| CN102799497A (zh) | Nvram数据恢复系统及方法 | |
| CN101937344B (zh) | 一种计算机快速启动的装置及方法 | |
| US9239742B2 (en) | Embedded systems and methods for threads and buffer management thereof | |
| CN105739666B (zh) | 用于降低功耗的转换方法及其运算装置 | |
| US20120102358A1 (en) | Server having memory dump function and memory dump acquisition method | |
| CN103257922B (zh) | 一种快速测试bios与os接口代码可靠性的方法 | |
| US20160179626A1 (en) | Computer system, adaptable hibernation control module and control method thereof | |
| CN106933558B (zh) | 一种电源控制方法及装置 | |
| CN121166177A (zh) | 基板管理控制器的固件升级方法、设备和存储介质 | |
| US20120185713A1 (en) | Server, storage medium, and method for controlling sleep and wakeup function of the server | |
| US20040098527A1 (en) | Method and apparatus for an I/O controller to alert an external system management controller | |
| KR101100894B1 (ko) | 임베디드 장치의 오류검출 및 복구방법 | |
| JP2006338445A (ja) | 異常情報格納装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20230717 Address after: 518000 1701, Yanxiang Science and Technology Building, No. 31, High-tech Middle 4th Road, Maling Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong Province Patentee after: Shenzhen Yanxiang Smart Technology Co.,Ltd. Address before: 518057 floor 5, No. 1, chuangxiang place, Yanxiang Zhigu, No. 11, Gaoxin Road, Guangming New Area, Shenzhen, Guangdong Patentee before: EVOC INTELLIGENT TECHNOLOGY Co.,Ltd. |
|
| TR01 | Transfer of patent right |