专利名称:串口共用系统及方法
技术领域:
本发明涉及一种串口共用系统及方法。
背景技术:
智能平台管理接口 intelligent Platform Management Interface, IPMI)是一种开放标准的硬件管理接口规格,定义了嵌入式管理子系统进行通信的特定方法。所有的 IPMI功能都是向基板管理控制器(BaseboardManagement Controller,BMC)发送命令来完成的,命令使用IPMI规范中规定的指令。其中,通过服务器串口下达的命令包括给操作系统处理的命令以及给基板管理控制器处理的命令。目前,基于BMC的服务器串口设计的传统方法是采用超级输入输出(Super Input/Output, Super I/O)芯片的串口作为操作系统的串口,然后使用硬件多路复用器 (Multiplexer =MUX)来切换Super 1/0芯片的串口以及BMC的串口。这样使得必须使用一个Super 1/0芯片以及多个硬件MUX来实现系统串口、BMC串口以及BMC的LAN上串行 (Serial OverLAN, LANS0L)功能。此外,若使用MUX切换串口给BIOS使用时,需要BIOS用完后所述BMC才可以使用该串口,反之亦然,依然存在串口不能共用的情况。
发明内容
鉴于以上内容,有必要提供一种串口共用系统,使得虚拟串口可以由BIOS和基板管理控制器共用。还有必要提供一种串口共用方法,使得虚拟串口可以由BIOS和基板管理控制器共用。一种串口共用系统,运行于基板管理控制器中,该基板管理控制器连接于COM串口,该COM串口连接于BIOS,该基板管理控制器包括输入队列和输出队列,该输入队列和输出队列分别包括设备ID标志位,所述串口共用系统包括初始化模块,用于初始化BIOS ;执行模块,用于执行处于初始状态的输入队列和输出队列;上述执行模块,还用于当所述串口共用系统接收到基板管理控制器的处理器发送的控制命令时,根据所述控制命令控制处于初始状态的输入队列和输出队列分别转换为分时队列;及控制模块,用于根据输入队列对应的分时队列和输出队列对应的分时队列中每个元素的设备ID标志位来控制所述COM串口的使用分配。—种串口共用方法,应用于基板管理控制器中,该基板管理控制器连接于COM串口,该COM串口连接于BIOS,该基板管理控制器包括输入队列和输出队列,该输入队列和输出队列分别包括设备ID标志位,该方法包括如下步骤初始化BIOS ;执行处于初始状态的输入队列和输出队列;当接收到基板管理控制器的处理器发送的控制命令时,根据所述控制命令控制处于初始状态的输入队列和输出队列分别转换为分时队列;及根据输入队列对应的分时队列和输出队列对应的分时队列中每个元素的设备ID标志位来控制所述COM串口的使用分配。
相较于现有技术,所述串口共用系统及方法,利用队列的数据结构来代替传统的
MUX,使得BIOS和基板管理控制器可以共用虚拟串口。
图1是本发明串口共用系统较佳实施例的运行环境图。图2是图1中串口共用系统10的功能模块图。图3是本发明串口共用方法较佳实施例的作业流程图。主要元件符号说明
权利要求
1.一种串口共用系统,运行于基板管理控制器中,该基板管理控制器连接于COM串口, 该COM串口连接于BIOS,其特征在于,该基板管理控制器包括输入队列和输出队列,该输入队列和输出队列分别包括设备ID标志位,所述串口共用系统包括初始化模块,用于初始化BIOS ;执行模块,用于执行处于初始状态的输入队列和输出队列;上述执行模块,还用于当所述串口共用系统接收到该基板管理控制器的处理器发送的控制命令时,根据所述控制命令控制处于初始状态的输入队列和输出队列分别转换为分时队列;及控制模块,用于根据输入队列对应的分时队列和输出队列对应的分时队列中每个元素的设备ID标志位来控制所述COM串口的使用分配。
2.如权利要求1所述的串口共用系统,其特征在于,所述初始状态的输入队列和输出队列中所有元素的设备ID标志位的内容都为BIOS。
3.如权利要求1所述的串口共用系统,其特征在于,所述分时队列是指将所述输入队列和输出队列的空间按照所述控制命令中设置的分配比例分配给基板管理控制器和BIOS。
4.如权利要求1所述的串口共用系统,其特征在于,所述控制模块还用于控制BIOS提示用户所述COM串口正在被BIOS和基板管理控制器共用中。
5.一种串口共用方法,应用于基板管理控制器中,该基板管理控制器连接于COM串口, 该COM串口连接于BIOS,其特征在于,该基板管理控制器包括输入队列和输出队列,该输入队列和输出队列分别包括设备ID标志位,该方法包括如下步骤初始化BIOS ;执行处于初始状态的输入队列和输出队列;当接收到该基板管理控制器的处理器发送的控制命令时,根据所述控制命令控制处于初始状态的输入队列和输出队列分别转换为分时队列;及根据输入队列对应的分时队列和输出队列对应的分时队列中每个元素的设备ID标志位来控制所述COM串口的使用分配。
6.如权利要求5所述的串口共用方法,其特征在于,该方法还包括所述初始状态的输入队列和输出队列中所有元素的设备ID标志位的内容都为BIOS。
7.如权利要求5所述的串口共用方法,其特征在于,所述分时队列是指将所述输入队列和输出队列的空间按照所述控制命令中设置的分配比例分配给基板管理控制器和BIOS。
8.如权利要求5所述串口共用方法,其特征在于,该方法还包括步骤控制BIOS提示用户所述COM串口正在被BIOS和基板管理控制器共用中。
全文摘要
一种串口共用系统,运行于基板管理控制器中,该基板管理控制器包括输入队列和输出队列,该输入队列和输出队列分别包括设备ID标志位,串口共用系统包括初始化模块,用于初始化BIOS;执行模块,用于执行处于初始状态的输入队列和输出队列;上述执行模块,还用于当所述串口共用系统接收到基板管理控制器的处理器发送的控制命令时,根据所述控制命令控制处于初始状态的输入队列和输出队列分别转换为分时队列;及控制模块,用于根据输入队列对应的分时队列和输出队列对应的分时队列中每个元素的设备ID标志位来控制所述COM串口的使用分配。本发明还提供了一种串口共用方法,利用本发明,BIOS和基板管理控制器可以共用串口。
文档编号G06F9/50GK102486741SQ20101057451
公开日2012年6月6日 申请日期2010年12月2日 优先权日2010年12月2日
发明者唐庆宗 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司