[发明专利]用于多硬件平台飞腾服务器的软关机方法无效
申请号: | 201210095218.0 | 申请日: | 2012-03-31 |
公开(公告)号: | CN102662710A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 孔金珠;孙立明;邵立松;李真能;张卫华;何易泽;陈霖翔;赵自成 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F1/26 |
代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 赵洪;谭武艺 |
地址: | 410073 湖南省长沙市砚瓦池正街47*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 硬件 平台 飞腾 服务器 关机 方法 | ||
技术领域
本发明涉及飞腾服务器的软关机实现方法,具体涉及一种用于多硬件平台飞腾服务器的软关机方法。
背景技术
飞腾服务器(FT服务器)是国防科大研制、基于FT1000处理器的服务器计算机平台,其中FT1000处理器是国防科大研制、兼容sparc指令集的通用64位处理器。飞腾服务器目前已经硬件的不同,分别包括nanga平台(见图1)、meili平台(见图2)以及nc平台(见图3)等不同的硬件平台。现有基于FT1000处理器的飞腾服务器中,通过处理器上集成的PCI-Express Unit(PEU: PCIe单元,它实现了PCIe总线中的root complex)从而扩展出了PCIe总线,PCI-Express Unit与PCIe交换单元(PCIe switch)相连,PCIe switch后面则连有PCIe插槽或者具体的PCIe设备。
对于飞腾服务器实现软关机的硬件实现而言,目前PCIe交换单元都有片上集成的GPIO,且都是使用PCIe交换单元的某一个GPIO作为关机控制端口来控制关机控制器(CPLD),通过CPLD进一步控制电源模块和复位信号来实现关机功能。但是,不同的硬件平台采用的PCIe交换单元不同,采用的关机控制端口也各不相同。如图1、图2和图3所示,nanga平台的PCIe交换单元采用PEX8664实现,采用的GPIO端口为GPIO 42;meili平台的PCIe交换单元采用PEX8648实现,采用的GPIO端口为GPIO 19;nc平台的PCIe交换单元采用PEX8632实现,采用的GPIO端口为GPIO 32。
对于飞腾服务器实现软关机的软件实现而言,在应用层面的软关机命令有poweroff,halt等,它们在操作系统中是通过系统调用reboot来实现的,该系统调用的实现在文件kernel/sys.c中,定义如下:
SYSCALL_DEFINE4(
reboot,int,magic1,int,magic2,unsigned int,cmd,void_user*,arg);
该函数执行一些系统关机需要执行的一些必要动作后进入平台相关的底层函数中执行具体的关机动作。对飞腾服务器来说,这些底层函数在文件arch/sparc/kerner/reboot.c中。主要有以下几个函数,它们分别定义如下:
void machine_power_off(void);
void machine_halt(void);
void machine_restart(char *cmd);
要想实现软关机功能,只需在这几个函数的实现中加入执行具体关机动作的函数或语句就行了。要在飞腾服务器上实现软关机功能,除了硬件基础外,还要有软件支持,特别是操作系统的软件支持。
目前飞腾服务器的基本输入输出系统和加载引导程序在系统启动检测和初始化硬件时把不同平台的PCIe交换单元的PCI内存空间映射到了同一片CPU物理地址空间。但是由于不同的硬件平台之间的采用的关机控制端口各不相同,最终导致其软关机的软件实现也各不相同,不同的硬件平台之间的软关机无法实现通用。飞腾服务器的不同硬件平台的硬件设计上的差异导致了不同平台上软关机功能软件实现上的差异,但是如果不同的飞腾服务器平台使用不同的实现软关机功能的软件,特别是软关机功能是操作系统的内部功能,将导致在不同的飞腾服务器平台上部署不同的操作系统,这将给飞腾服务器的用户带来不必要的麻烦和使用上的不便,大大降低飞腾服务器的用户体验,不利于飞腾服务器的推广。
发明内容
本发明要解决的技术问题是提供一种能够实现多硬件平台飞腾服务器的软关机,兼容性好、使用方便、操作简单的用于多硬件平台飞腾服务器的软关机方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种用于多硬件平台飞腾服务器的软关机方法,其实施步骤如下:
1)在初始化硬件时把PCIe交换单元的PCI内存空间映射为CPU物理地址空间,再将所述CPU物理地址空间映射为CPU虚拟地址空间;
2)获取当前飞腾服务器的硬件平台信息;
3)根据所述硬件平台信息获取PCIe交换单元的关机控制端口在所述CPU虚拟地址空间内的映射端口地址;
4)如果接收到操作系统的软关机命令,则控制PCIe交换单元通过所述关机控制端口在CPU虚拟地址空间内的映射端口地址向关机控制器发送关机控制脉冲时序,关机控制器接收到关机控制脉冲时序后执行关机。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210095218.0/2.html,转载请声明来源钻瓜专利网。