管理主板管理控制器中的显卡显示的方法以及服务器
技术领域
本发明涉及服务器技术领域,更具体地,涉及一种管理主板管理控制器(BMC)中的显卡显示的方法以及一种基于MIPS平台的服务器。
背景技术
远程KVM在服务器技术领域,主要采用BMC芯片来实现。KVM是键盘(Keyboard)、显示器(Video)、鼠标(Mouse)的缩写。KVM技术的核心思想是:通过适当的键盘、鼠标、显示器的配置,实现系统和网络的集中管理。远程KVM技术主要在于远程管理,比如监控、虚拟媒体(Virtual Media)功能等。远程KVM技术在X86平台的服务器上已经普遍存在,然而在MIPS(Microprocessor without interlocked piped stages,无内部互锁流水级的微处理器)平台下的服务器尚不具备KVM功能。
由于MIPS平台的服务器在市场上占据了一定的份额,因此有必要在MIPS平台的服务器上也实现远程KVM技术。然而发明人在研究中发现:要对MIPS平台的服务器实现KVM功能就必须实现管理主板管理控制器BMC中显卡的显示。
发明内容
针对现有技术中存在的问题,本发明提出了能够管理基于MIPS平台的服务器中的BMC显卡显示的方法以及相关的基于MIPS平台的服务器。
根据本发明的一个方面,提供了一种管理主板管理控制器BMC中的显卡显示的方法,其中所述BMC控制器设置在服务器中,基于MIPS平台的操作系统配置在所述服务器中,所述方法包括:
步骤a,将字符模式和/或X WINDOW模式的驱动程序移植到所述基于MIPS平台的操作系统中实现驱动所述BMC中显卡的程序部分;和/或,
步骤b,所述服务器根据接收到的消息启动所述BMC中显卡的显示,并将所述显卡的为所述字符模式或者所述X WINDOW模式的显示信息发送给显示设备或与所述服务器不同的终端。
在可选实施方式中,所述接收到的消息与远程KVM管理功能相关并且来自所述终端,所述终端包括计算机或服务器。
在一实施方式中,步骤a包括:将基于X86平台的操作系统下的aspeed_fb程序的部分移植到所述基于MIPS平台的操作系统中实现驱动所述BMC中显卡的程序部分。
在一实施方式中,步骤a包括:将基于X86平台的操作系统下的xf86-video-ast程序的全部或部分移植到所述基于MIPS平台的操作系统中实现驱动所述BMC中显卡的程序部分,并且将所移植的xf86-video-ast程序中为基地址作输入输出存取IO access的重定位IO方式改变为VGA IO方式。
在可选实施方式中,所述操作系统为Linux或Unix。
根据本发明的另一方面,还提供了一种服务器,所述服务器包括带有显卡的主板管理控制器BMC,基于MIPS平台的操作系统配置在所述服务器中,其中:
所述基于MIPS平台的操作系统中实现驱动所述BMC中显卡的程序部分配置有字符模式和/或X WINDOW模式的驱动程序;
所述服务器根据接收到的消息启动所述BMC中显卡的显示,并将所述显卡的为所述字符模式或者所述X WINDOW模式的显示信息发送给显示设备或与所述服务器不同的终端。
在可选实施方式中,所述接收到的消息与远程KVM管理功能相关,并所述接收到的消息来自所述终端,所述终端包括计算机或者服务器。
在一实施方式中,所配置的基于X86平台的操作系统下的字符模式的驱动程序包括基于X86平台的操作系统下的aspeed_fb程序的部分。
在一实施方式中,所配置的X WINDOW模式的驱动程序包括移植的基于X86平台的操作系统下的xf86-video-ast程序的全部或部分,并且所移植的程序中为基地址作输入输出存取IO access的重定位IO方式改变为VGA IO方式。
在可选实施方式中,所述操作系统为Linux或Unix。
本发明通过管理基于MIPS平台的服务器中的BMC的显卡的显示,使得能够启动该BMC中的显卡的字符模式显示或X WINDOW模式显示。由于能够实现BMC中的显卡的显示,因此能够进行远程KVM管理,
附图说明
图1是根据本发明实施例的管理基于MIPS平台的服务器中的BMC显卡显示的方法的流程示意图。
具体实施方式
下面结合附图对本发明作进一步地详细描述。
本发明提出的管理BMC中的显卡显示的方法,其中所述BMC控制器设置在服务器中,基于MIPS平台的操作系统配置在所述服务器中,所述方法包括:
S101,将字符模式和/或X WINDOW模式的驱动程序移植到在所述基于MIPS平台的操作系统中实现驱动所述BMC中显卡的程序部分;
S102,所述服务器根据接收到的消息启动所述BMC中显卡的显示,并将所述显卡的为所述字符模式或者所述X WINDOW模式的显示信息发送给显示设备或与所述服务器不同的终端。
在可选实施方式中,所述接收到的消息与远程KVM管理功能相关并且来自所述终端,所述终端包括服务器或计算机。这种管理BMC中的显卡显示的方法能够在基于MIPS平台的服务器上实现KVM功能,包括利用字符模式的显示来实现KVM功能,尤其是远程KVM功能。在本发明可选实施方式中,所述操作系统为Linux或Unix,优选为Linux操作系统。
对于字符模式显示的实施方式,使X86平台下实现字符模式显示驱动的功能模块移植到MIPS平台的服务器的操作系统内核中。
在一种实施例中,将开源X86平台下实现字符模式驱动功能的aspeed_fb程序移植到MIPS系统架构下。例如,X86平台下,为驱动字符模式的显示,aspeed_fb程序(或者aspeed_fb函数)中的子函数vgacon函数会向系统内核(kernel)注册0x3c0-0xdf的区间。本发明在MIPS平台的系统内核中的astfb_pci_register函数中添加vgacon函数中的如下代码来实现向内核注册0x3c0-0xdf区间:
在一种实施例中,可采用Wine程序来实现上述代码的加载。在增加上述代码后,便能实现驱动MIPS下BMC控制器中的显卡字符模式的显示。
对于X WINDOW模式显示的实施方式,将X86平台下实现XWINDOW模式显示驱动的功能模块移植到MIPS平台的服务器的系统内核中。
在一种实施例中,目前X86平台下,BMC中的显卡的驱动程序中,driver是用relocate IO方式为基地址(base address)去做IO存取(IO access)或者读写,然而MIPS体系结构并不支持这种方式。本发明提出了在显卡的驱动程序中采用标准VGA IO(video Graphics Array IO,视频图形阵列IO)方式。具体地,在一种实施方式中,将X WINDOW模式驱动的xf86-video-ast程序移植到MIPS系统架构下,并且将在xf86-video-ast程序中使用relocateIO方式为基地址去做IO存取处改为采用standard VGA IO方式,以实现用standard VGA IO方式为基地址去做IO存取或读写。例如,在xf86-video-ast程序里的函数ASTPreInit(ScrnInfoPtr pScrn,int flags)里做下面修改从而实现替代STAND IO的VGA IO方式:
在一种实施例中,可采用Wine程序来实现xf86-video-ast程序的加载。在对服务器的MIPS平台作上述描述的移植和修改后,能够驱动MIPS下BMC控制器中的显卡X WINDOW模式的显示。
本发明还提供了一种服务器,所述服务器包括带有显卡的主板管理控制器BMC,基于MIPS平台的操作系统配置在所述服务器中,其中:
所述基于MIPS平台的操作系统中实现驱动所述BMC中显卡的程序部分配置有字符模式和/或X WINDOW的驱动程序;
所述服务器根据接收到的消息启动所述BMC中显卡的显示,并将所述显卡的为所述字符模式或者所述X WINDOW模式的显示信息发送给显示设备或与所述服务器不同的终端。
在可选实施方式中,所述接收到的消息与远程KVM管理功能相关,并所述接收到的消息来自所述终端,所述终端包括计算机或者服务器。
在一实施例中,所配置的字符模式的驱动程序包括基于X86平台的操作系统下的aspeed_fb程序的部分。在MIPS平台的系统内核中配置的字符模式的驱动程序参见本发明的管理BMC中的显卡显示的方法中的相关描述,在此不再赘述。
在一实施方式中,所配置的X WINDOW模式的驱动程序包括移植的基于X86平台的操作系统下的xf86-video-ast程序的全部或部分,并且所移植的程序中为基地址作输入输出存取IO access的重定位IO方式被改变为VGA IO方式。在MIPS平台的系统内核中配置的X WINDOW模式的驱动程序参见本发明的管理BMC中的显卡显示的方法中的相关描述,在此不再赘述。
在可选实施方式中,所述操作系统为Linux或Unix,优选为Linux操作系统。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。