在BIOS中控制外插设备的方法及系统与流程

文档序号:11154902阅读:529来源:国知局
在BIOS中控制外插设备的方法及系统与制造工艺

本发明涉及计算机技术领域,具体来说,涉及一种在BIOS中控制外插设备的方法及系统。



背景技术:

现有技术中,在BIOS(Basic Input Output System,基本输入输出系统)中对主板上的外插卡类的外插设备的控制方法是通过BIOS选项按照外插设备的类型对所有外插设备进行整体控制,其实现是通过判断选项值对设备中的option ROM加载与否来进行控制。但是这种方法的功能单一、结构简单,而且不能针对某一外插设备进行处理,不能对外插设备上的每个端口进行控制,不能提供外插设备的名称以及卡槽位置等基本信息。随着技术的发展,用户的需求越来越多,个性定制化功能也越来越多,当前的功能实现已经无法满足用户需求。

由于传统的BIOS限制,为解决上述问题技术难度相对较大,代码实现也很复杂,问题一直存在。

针对相关技术中的上述问题,目前尚未提出有效的解决方案。



技术实现要素:

针对相关技术中的上述问题,本发明提出一种在BIOS中控制外插设备的方法及系统,能够实现在BIOS中对外插设备进行单独处理,能够对外插设备上的每个端口进行控制,能够提供外插设备的名称以及卡槽位置等基本信息。

本发明的技术方案是这样实现的:

根据本发明的一个方面,提供了一种在BIOS中控制外插设备的方法,包括:获取外插设备的卡槽位置信息并获取外插设备的设备名称信息;将卡槽位置信息和设备名称信息组合并动态生成外插设备的主控制选项;根据外插设备的所有端口设备生成主控制选项的对应于每个端口设备的子控制选项;以及根据需要通过主控制选项和子控制选项对相应的外插设备及其端口设备进行控制。

根据本发明的一个实施例,在获取外插设备的卡槽位置信息并获取外插设备的设备名称信息之前,还包括:在NVRAM中分配预定义的存储区,以存放与主控制选项对应的子控制选项的选项值。

根据本发明的一个实施例,在NVRAM中分配预定义的存储区包括:设置预定义的端口数量;其中,预定义的存储区包括多个子控制选项存储区,且多个子控制选项存储区的数量与预定义的端口数量相同。

根据本发明的一个实施例,根据外插设备的所有端口设备生成主控制选项的对应于每个端口设备的子控制选项包括:当外插设备的所有端口设备的数量大于预定义的端口数量、且预定义的存储区的后续存储区被占用时,则生成多功能子控制选项以控制多出的各个多口设备,并在最后一个子控制选项存储区中存储多功能子控制选项的选项值;其中,多功能子控制选项的选项值包括冲突标志位。

根据本发明的一个实施例,根据外插设备的所有端口设备生成主控制选项的对应于每个端口设备的子控制选项包括:当外插设备的所有端口设备的数量大于预定义的端口数量、且预定义的存储区的后续存储区未被占用时,则在后续存储区中顺序增加子控制选项存储区以存储子控制选项的选项值;其中,子控制选项的选项值包括拓展标志位。

根据本发明的一个实施例,对相应的外插设备及其端口设备进行的控制包括:对端口设备的Option ROM进行控制。

根据本发明的一个实施例,获取外插设备的卡槽位置信息并获取外插设备的设备名称信息包括:系统启动后,遍历主板上的所有外插设备;获取各个外插设备对应的根端口;根据根端口获取外插设备的卡槽位置信息;根据外插设备的ID信息查询ID信息表来获取设备名称信息。

根据本发明的一个实施例,根据外插设备的所有端口设备生成主控制选项的对应于每个端口设备的子控制选项包括:根据根端口获取外插设备的所有端口设备;自适应动态生成主控制选项的对应于每个端口设备的子控制选项。

根据本发明的一个实施例,通过主控制选项和子控制选项对外插设备对应的端口设备进行控制包括:通过子控制选项和主控制选项来设定子控制选项的选项值,以对相应的外插设备及其端口设备进行控制。

根据本发明的另一方面,提供了一种在BIOS中控制外插设备的系统,包括顺序连接的以下模块:获取模块,用于获取外插设备的卡槽位置信息并获取外插设备的设备名称信息;主控制选项生成模块,用于将卡槽位置信息和设备名称信息组合并动态生成外插设备的主控制选项;以及子控制选项生成模块,根据外插设备的所有端口设备生成主控制选项的对应于每个端口设备的子控制选项。

本发明通过采用动态生成外插设备控制选项的方法,在BIOS界面中生成选项,可实现对外插卡设备的单独控制功能并显示外插设备的基本信息,不需要进入操作系统了解当前系统所有外插设备的基本信息以及外插设备是否都已正确识别。具有通用性,实用性强,易于实现,易于推广。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的在BIOS中控制外插设备的方法的流程图;

图2是根据本发明实施例的在BIOS中控制外插设备的方法的主控制选项和子控制选项的示意图;

图3是根据本发明实施例的在BIOS中控制外插设备的方法中后续存储区没有被占用时子控制选项的选项值存储示意图;

图4是根据本发明实施例的在BIOS中控制外插设备的方法中后续存储区被占用时子控制选项的选项值存储示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明的实施例,提供了一种在BIOS中控制外插设备的方法。

如图1所示,根据本发明实施例的在BIOS中控制外插设备的方法包括以下步骤:

S120,获取外插设备的卡槽位置信息并获取外插设备的设备名称信息;

S130,将卡槽位置信息和设备名称信息组合并动态生成外插设备的主控制选项;

S140,根据外插设备的所有端口设备生成主控制选项的对应于每个端口设备的子控制选项。外插设备指包括PCI(Peripheral Component Interconnect,外部设备互连总线)和PCIE(新的总线和接口标准)的外插卡类设备;以及

S150,根据需要通过主控制选项和子控制选项对相应的外插设备及其端口设备进行控制。

其中,如图2所示,一个外插设备只有一个主控制选项21,主控制选项21可以显示外插设备的设备名称信息(Network card xxxxxx)和卡槽位置信息(Slot x),并可以提供该外插设备的启用(enable)和禁用功能。一个外插设备可以有一个或多个子控制选项22,子控制选项22的具体数量由外插设备决定,该子控制选项22可以提供对相应端口(P1,…Px)的控制。当主控制选项21禁用后相应的子控制选项22隐藏。

本发明的上述技术方案,通过采用动态生成外插设备控制选项的方法,在BIOS界面中生成选项,可实现对外插卡设备的单独控制功能并显示外插设备的基本信息,不需要进入操作系统了解当前系统所有外插设备的基本信息以及外插设备是否都已正确识别。具有通用性,实用性强,易于实现,易于推广。

优选地,在步骤S150中,对外插设备对应的端口设备进行的控制包括:对端口设备的Option ROM(是用于设备初始化和系统引导的代码)进行控制。如图2所示,子控制选项22可以提供对相应端口(P1,…Px)的控制,例如Option ROM控制功能。

在一个实施例中,步骤S120可以包括以下步骤:

S121,系统启动后,遍历主板上的所有PCI/PCIE设备(即外插设备);

S122,获取各个PCI/PCIE设备对应的root port(根端口);

S123,根据root port确认root port与主板上的卡槽位置的关系,进而获取卡槽位置信息;

S124,得到当前PCI/PCIE设备的ID信息,并通过ID信息表查询当前PCI/PCIE设备的ID信息来获取PCI/PCIE设备的设备名称信息。

进一步地,在步骤S130中,将卡槽位置信息与设备名称信息组合动态生成PCI/PCIE设备的主控制选项。

在步骤S140中可以包括以下步骤:

S141,根据root port找出所有相同的root port所对应的设备,即为PCI/PCIE设备上的所有端口设备;

S142,自适应动态生成主控制选项的对应于每个端口设备的子控制选项,即生成PCI/PCIE设备对应的所有子控制选项。

在一个实施例中,在步骤S120之前还包括:

S110,在NVRAM(非易失性随机访问存储器,Non-Volatile Random Access Memory)中分配预定义的存储区,以存放与主控制选项对应的子控制选项的选项值。即预先在NVRAM中分配一定大小的主控制选项与子控制选项存储区,用于存放主控制选项与子控制选项的选项值。

进一步地,步骤S110可以包括:

设置预定义的端口数量;

其中,预定义的存储区包括多个子控制选项存储区,且多个子控制选项存储区的数量与预定义的端口数量相同。

在本实施例中,步骤S140包括:

当外插设备的所有端口设备的数量大于预定义的端口数量、且预定义的存储区的后续存储区未被占用时,则在后续存储区中顺序增加子控制选项存储区以存储子控制选项的选项值;其中,子控制选项的选项值包括拓展标志位。

当外插设备的所有端口设备的数量大于预定义的端口数量、且预定义的存储区的后续存储区被占用时,则生成多功能子控制选项以控制多出的各个多口设备,并在最后一个子控制选项存储区中存储多功能子控制选项的选项值;其中,多功能子控制选项的选项值包括冲突标志位。

具体地,由于在BIOS中NVRAM存储资源有限,一个外插设备上的端口设备的数量不固定,因此在BIOS中先预定义一个适中的端口数大小,即预定义的端口数量,分配资源。当外插设备的实际端口设备数量超出预定义的端口数量时,若后续存储区并未被使用时,则正常增加多出的端口设备的子控制选项的存储区,并在该子控制选项的选项值中增加拓展标志位;若后续存储区被使用时,则在预定义的端口数量对应的最后一个端口设备的子控制选项生成为后续端口设备多口合一功能的多功能子控制选项,并在其值中增加冲突标志位。通过设定扩展标志位和冲突标能够是为后续程序实现功能控制提供依据,节省了存储空间的使用并实现了存储资源的共享使用。

结合图3和图4所示,若在卡槽1上插了一个有7个端口的外插卡,而卡槽1预定义的端口数量为4即预定义的存储区30包括4个子控制选项存储区(31、32、33和34)。如图3所示,当后续存储区即卡槽2的存储区40没有被占用时,外插卡就可以使用卡槽2的存储区40的资源,对应7个端口将生成7个子控制选项,并在所占用的存储区(31、32、33、34、41、42和43)设定拓展标志位。如图4所示,当后续存储区即由于卡槽2的存储区40的资源被使用,因此就在卡槽1的最后一个存储区34中设定冲突标志位,对应的生成4个子控制选项,且最后一个子控制选项显示为多口合一控制功能。

进一步地,步骤S150可以包括:

通过子控制选项和主控制选项来设定子控制选项的选项值,以对相应的外插设备及其端口设备进行控制。具体地,在步骤S120中在PCI/PCIE设备运行前找出其对应的root port,按顺序找出所有相同的root port所对应的多口设备并生成端口设备的清单,进而在步骤S150中反向确认当前端口设备在上述清单中的位置,进而确定端口设备的端口值即确定当前需要控制的是哪个端口,并可以根据此端口设备对应的主控制选项值以及对应端口子控制选项值配置对设备进行控制设定。

可选地,可以预先在BIOS中生成多个空选项,空选项上显示的内容在开机后通过读取外插卡信息后再进行更新,并将多余的空选项进行隐藏。若卡槽上有LED灯,卡槽位置可以通过在设置BIOS中此外插卡的选项时使对应的LED灯点亮或闪烁,来提示和确定卡槽位置。

根据本发明的实施例,还提供了一种在BIOS中控制外插设备的系统,包括顺序连接的以下模块:

获取模块,用于获取外插设备的卡槽位置信息并获取外插设备的设备名称信息;

主控制选项生成模块,用于将卡槽位置信息和设备名称信息组合并动态生成外插设备的主控制选项;以及

子控制选项生成模块,根据外插设备的所有端口设备生成主控制选项的对应于每个端口设备的子控制选项。

综上所述,借助于本发明的上述技术方案,通过自适应动态生成外插设备的主控制选项和对应的子控制选项,能够实现对外插设备的单独控制,实现启用和禁用当前外插设备的功能,能够对外插设备上的每个端口进行单独的功能,例如Option ROM控制,还能够显示外插设备的卡槽位置信息和设备名称信息等基本信息,不受硬件设计限制,通用性高,使用户更加直观的对需要控制的外插设备进行控制,提高了用户体验以及存储资源的使用率。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1