CN113204384B - 设备启动方法、装置及计算机可读存储介质 - Google Patents
设备启动方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113204384B CN113204384B CN202110527988.7A CN202110527988A CN113204384B CN 113204384 B CN113204384 B CN 113204384B CN 202110527988 A CN202110527988 A CN 202110527988A CN 113204384 B CN113204384 B CN 113204384B
- Authority
- CN
- China
- Prior art keywords
- network card
- resource
- target
- type
- pcie
- 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; CALCULATING OR 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种设备启动方法、装置及计算机可读存储介质。其中,方法包括预先将切换资源类型的配置文件刷写在PCIE设备的网卡中,从而将网卡的资源类型由当前资源类型转换为与目标设备的资源类型相兼容的目标资源类型,网卡与目标设备均连接在由Switch设备转接的PCIE插槽中。在对网卡进行初始化过程中,获取网卡所需资源类型与资源占用空间信息,网卡所需资源类型为目标资源类型;基于目标资源类型和资源占用空间信息,为网卡分配相匹配资源,解决了相关技术中网卡在BIOS的Legacy启动模式下由于所需资源类型与已分配资源类型冲突导致无法正常工作的技术问题,保障设备的正常启动和稳定运行。
Description
技术领域
本申请涉及服务器技术领域,特别是涉及一种设备启动方法、装置及计算机可读存储介质。
背景技术
PCIE设备(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)要想正常工作,需要BIOS(Base Input OutputSystem,基本输入输出系统)对其进行初始化,分配资源,加载optionrom等,BIOS为PCIE设备分配的资源类型包括I/O(input/output,输入输出)和MMIO(Memory Mapped input output,内存映射I/O),其中MMIO又分为32bit(32位)、64bit(64位)、32bit prefetchable(32位可预取)、64bitprefetchable(64位可预取)、32bit nonprefetchable(32位不可预取)、64bit nonprefetchable(64位不可预取)等类型。BIOS在对设备进行初始化的过程中,会根据PCI(PeripheralComponent Interconnect,外设部件互连标准)/PCIE规范规定的规则,与设备进行互动,获取设备需要的资源的种类及大小,并为设备分配相应种类和大小的资源,以满足设备正常工作的需求。
在有些服务器机型上,会设置Switch设备(交换设备),通过Switch设备再转接出PCIE插槽,通过PCIE插槽与网卡、GPU卡(Graphics Processing Unit,图形处理器)、显卡、Raid(Redundant Arraysof Independent Disks,磁盘阵列)卡、NVME(Non-VolatileMemory express)等设备相连,BIOS需要为这些设备分配合适种类和大小的资源,来保证设备能正常工作。
对于设计有Switch拓扑结构的服务器,GPU所需要的MMIO资源为64bitprefetchable类型,且其在32bit prefetchable类型的资源中不能正常工作,甚至不能被正常识别。为优先保障主要设备GPU的正常工作,BIOS会优先为GPU分配64bitprefetchable类型的资源,作为处于同一个Switch/PCIE Bridge转接出来的PCIe插槽上的网卡,也只能得到64bit prefetchable类型的MMIO。但是,对于某些网卡,如Intel出品的所有网卡,在BIOS的Legacy启动模式下,网卡需要32bitprefetchable或32bit nonprefetchable类型的资源才能正常工作。而由于业界规范设计的局限,同一个Switch/PCIEBridge下,64bitprefetchable和32bit prefetchable两种MMIO类型是互斥的,只能存在一种,这样为优先保障GPU正常工作,BIOS已经分配了64bitprefetchable类型的MMIO的情况下,网卡无法得到32bit prefetchable类型的MMIO,从而导致网卡不能正常工作,例如无法执行PXE(Preboot Execution Environment,预启动执行环境)。
鉴于此,如何解决相关技术中为优先保障GPU等高价值设备正常工作,而使网卡在BIOS的Legacy启动模式下需要的资源类型与GPU冲突而导致的网卡不能正常工作的现状,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种设备启动方法、装置及计算机可读存储介质,解决了相关技术中网卡在BIOS的Legacy启动模式下由于所需资源类型与已分配资源类型冲突导致无法正常工作的技术问题,保障设备的正常启动和稳定运行。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种设备启动方法,包括:
预先将切换资源类型的配置文件刷写在PCIE设备的网卡中,以将所述网卡的资源类型由当前资源类型转换为与目标设备的资源类型相兼容的目标资源类型;所述网卡与所述目标设备均连接在由Switch设备转接的PCIE插槽中;
在对所述网卡进行初始化过程中,获取所述网卡所需资源类型与资源占用空间信息,所述网卡所需资源类型为所述目标资源类型;
基于所述目标资源类型和所述资源占用空间信息,为所述网卡分配相匹配资源。
可选的,所述获取所述网卡所需资源类型与资源占用空间信息,包括:
从位于所述PCIE设备的配置空间的基址寄存器读取所述网卡的资源类型。
可选的,所述从位于所述PCIE设备的配置空间的基址寄存器读取所述网卡的资源类型,包括:
按照PCIE规范规定的方式,通过IO方式或者读内存地址空间的方式,从位于所述PCIE设备的配置空间的基址寄存器读取所述网卡的资源类型。
可选的,所述获取所述网卡所需资源类型与资源占用空间信息,包括:
向位于所述PCIE设备的配置空间的基址寄存器写全F值,并读取所述基址寄存器的返回值;
基于PCIE规范,根据所述返回值计算所述网卡所需资源的资源长度。
可选的,所述在对所述网卡进行初始化过程中,之前还包括:
在对所述PCIE设备进行初始化过程中,设置所述目标设备的调用内存功能为开启状态。
本发明实施例另一方面提供了一种设备启动装置,包括:
资源类型切换模块,用于预先将切换资源类型的配置文件刷写在PCIE设备的网卡中,以将所述网卡的资源类型由当前资源类型转换为与目标设备的资源类型相兼容的目标资源类型;所述网卡与所述目标设备均连接在由Switch设备转接的PCIE插槽中;
资源获取模块,用于在对所述网卡进行初始化过程中,获取所述网卡所需资源类型与资源占用空间信息,所述网卡所需资源类型为所述目标资源类型;
资源分配模块,用于基于所述目标资源类型和所述资源占用空间信息,为所述网卡分配相匹配资源。
可选的,所述资源获取模块进一步用于:
从位于所述PCIE设备的配置空间的基址寄存器读取所述网卡的资源类型。
可选的,所述资源获取模块进一步用于:
向位于所述PCIE设备的配置空间的基址寄存器写全F值,并读取所述基址寄存器的返回值;基于PCIE规范,根据所述返回值计算所述网卡所需资源的资源长度。
本发明实施例还提供了一种设备启动装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述设备启动方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有设备启动程序,所述设备启动程序被处理器执行时实现如前任一项所述设备启动方法的步骤。
本申请提供的技术方案的优点在于,切换资源类型的配置文件可将网卡本申请所需资源类型转换为与系统主要设备即目标设备所需资源类型相兼容的类型,这样在优先为目标设备分配资源类型后,且经切换资源需求类型后,网卡也可以获取使其正常工作所需的资源类型,并且可以跟目标设备所需要的资源类型共存,保证目标设备和网卡都可以正常工作,从而解决了相关技术中网卡在BIOS的Legacy启动模式下由于所需资源类型与已分配资源类型冲突导致无法正常工作的技术问题,保障设备的正常启动和稳定运行。
此外,本发明实施例还针对设备启动方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种设备启动方法的流程示意图;
图2为本发明实施例提供的设备启动装置的一种具体实施方式结构图;
图3为本发明实施例提供的设备启动装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种设备启动方法的流程示意图,本实施例的执行主语为BIOS,本发明实施例可包括以下内容:
S101:预先将切换资源类型的配置文件刷写在PCIE设备的网卡中。
在本实施例适用于具有Switch交换设备的服务器拓扑结构中,也就是说,适用于具有Switch交换设备的服务器中,服务器的网卡、GPU卡、显卡等均是插在经由Switch交换设备转接出来的PCIE槽上。换句话说,本申请的网卡和目标设备是插在同一个PCIE槽上,且PCIE槽是连接在Switch交换设备上,并非是直接插在服务器主板上。目标设备为服务器或某一计算机系统的主要设备,如GPU卡,所谓的主要设备就是其为保障服务器工作的重要部件,服务器会为其优先分配资源,进一步来说,目标设备的资源分配要比网卡的资源分配时间要早,系统会先为目标设备优先分配资源。目标设备和网卡所需资源类型有时不兼容,为了保证目标设备和网卡可同时工作,本实施例会预先给网卡刷写资源类型切换的文件,从而将网卡的资源类型由当前资源类型转换为与目标设备的资源类型相兼容的目标资源类型。
举例来说,Intel的网卡可以通过网卡的img文件(即镜像文件)或option rom文件来配置网卡需要的资源类型为32bit、32bitprefetchable、64bit、64bit prefetchable类型的MMIO,本实施例可预先向Intel获取切换其出品的网卡所需要的资源类型的img文件,并通过专用工具刷写到网卡上,实现Legacy启动模式下,其网卡资源种类需求由32bitprefetchable到32bit non prefetchable或者是64bit到32bitnon prefetchable种类的转换。当然,可以根据实际需求在网卡出厂前由网卡供应商如Intel刷写好相应类型的img文件;另外不排除网卡供应商有其它方式可以切换网卡所需要的资源种类,本申请对此不做任何限定。
S102:在对网卡进行初始化过程中,获取网卡所需资源类型与资源占用空间信息,网卡所需资源类型为目标资源类型。
在对PCIE设备进行初始化时,BIOS会先为目标设备如GPU卡分配资源,相应的,BIOS为Switch转接的目标设备正常互动,获取目标设备所需的MMIO类型如64bitprefetchable及资源大小,为目标设备分配所需要的资源。为了保证设备的正常识别和正常工作,在对PCIE设备进行初始化过程中,还可设置目标设备的调用内存功能为开启状态,也即保持调用内存功能如Above 4G Decode功能是保持开启的。
在为目标设备分配好资源之后,为了减少对存储器的访问次数,提高数据处理效率,可使用基址寄存器存放操作数或中间结果。对网卡进行初始化,本实施例可从PCIE设备的配置空间的基址寄存器中读取网卡的资源类型。具体的,可按照PCIE规范规定的方式,通过IO方式或者读内存地址空间的方式,从位于PCIE设备的配置空间的基址寄存器读取网卡的资源类型。由于在S101中已经对网卡的资源类型进行了转换,故本步骤中获取的资源类型不是网卡自身所需求的资源类型,而是经切换资源类型的配置文件处理后的目标资源类型。BIOS可按照PCIE规范规定通过向位于PCIE设备的配置空间的基址寄存器写全F值,并读取基址寄存器的返回值,然后基于PCIE规范所规定的算法根据返回值计算得到网卡所需资源的资源长度。
S103:基于目标资源类型和资源占用空间信息,为网卡分配相匹配资源。
举例来说,以配置文件为img文件,网卡经img文件处理后的目标资源类型为32bitnon prefetchable为例阐述BIOS与网卡互动,获取其所需的资源种类和大小,并为其分配所需的资源的过程:
按照PCIE规范规定的方式,BIOS通过IO方式或者读内存地址空间的方式,去读位于设备的配置空间Header(头部)部分的BaseAddress Registers寄存器(基址寄存器),根据规范说明的方式,判断所需资源类型,读到网卡的内存类型Base Address Register的值的bit0-3将会是二进制0000,表明资源种类是32bit non prefetchable;然后在按规范规定的方式经过往该寄存器写全F值,读取返回值,并经过规定的算法计算,获得所需的资源长度;最后BIOS按需要给网卡设备分配所需长度的32bit non prefetchable类型的MMIO资源。
在本发明实施例提供的技术方案中,切换资源类型的配置文件可将网卡本申请所需资源类型转换为与系统主要设备即目标设备所需资源类型相兼容的类型,这样在优先为目标设备分配资源类型后,且经切换资源需求类型后,网卡也可以获取使其正常工作所需的资源类型,并且可以跟目标设备所需要的资源类型共存,保证目标设备和网卡都可以正常工作,从而解决了相关技术中网卡在BIOS的Legacy启动模式下由于所需资源类型与已分配资源类型冲突导致无法正常工作的技术问题,保障设备的正常启动和稳定运行。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
为了使所属领域技术人员更加清楚明白本申请的技术方案,本申请还以一个示意性例子阐述本申请整个技术方案,本实施例例如可应用于服务器,服务器安装Intel网卡和GPU卡,Intel网卡和GPU卡安装在通过Switch设备转接的PCIE插槽中,在BIOS的Legacy启动模式下,网卡需要32bit prefetchable类型的MMIO资源,GPU卡需要64bit prefetchable类型的MMIO资源,可包括以下内容:
A1:向Intel获取切换其出品的网卡所需要的资源类型的img文件,并通过专用工具刷写到网卡上,实现Legacy启动模式下,其网卡资源种类需求由32bit prefetchable到32bit non prefetchable种类的转换。
在本步骤中,Intel可以通过网卡的img文件(镜像文件)或optionrom文件,来配置网卡需要的资源类型为32bit还是32bit prefetchable类型的MMIO,而同一个Switch/PCIEBridge下,32bit non prefetchable和64bit prefetchable类型的MMIO是可以同时存在的。
A2:在对PCIE设备进行初始化时,BIOS为Switch设备转接的GPU设备正常互动,获取GPU所需的64bit prefetchable的MMIO类型及大小,为GPU分配所需要的资源,并保持Above 4G Decode功能是保持开启状态。
A3:BIOS在初始化网卡时,与网卡互动,按照PCIE规范规定的方式,BIOS通过IO方式读取基址寄存器的资源类型数据,然后按PCIE规范规定的方式经过往该寄存器写全F值,读取返回值,并经过规定的算法计算,获得所需的资源长度,最后BIOS按需给网卡分配所需长度的32bit non-prefetchable类型的MMIO资源。
A4:BIOS照常完成对设备的其它初始化动作、加载设备optionrom等。
此外,需要说明的是,本申请技术方案和逻辑可以有类似需求的场景中,包括但不限于BIOS、OS、各种软件、固件、驱动等等,相应领域技术人员可根据实际应用场景灵活调整并使用。
由上可知,经切换资源需求类型后,网卡可以获取其所需的资源类型,并且可以跟GPU所需要的资源类型共存,这样GPU和网卡都可以获得其所需的资源类型,这样处理后,经过Switch转接的GPU和Intel出品的网卡,在Legacy模式下将都可以正常工作。从而解决了为优先保障GPU等高价值设备正常工作,而使已知有Intel的所有网卡,因为在Legacy模式下需要的资源类型与GPU冲突而导致的网卡不能正常工作如进行PXE的业界规范设计难题,提高了服务器产品的竞争力,提升用户满意度。
本发明实施例还针对设备启动方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的设备启动装置进行介绍,下文描述的设备启动装置与上文描述的设备启动方法可相互对应参照。
基于功能模块的角度,参见图2,图2为本发明实施例提供的设备启动装置在一种具体实施方式下的结构图,该装置可包括:
资源类型切换模块201,用于预先将切换资源类型的配置文件刷写在PCIE设备的网卡中,以将网卡的资源类型由当前资源类型转换为与目标设备的资源类型相兼容的目标资源。;
资源获取模块202,用于在对网卡进行初始化过程中,获取网卡所需资源类型与资源占用空间信息,网卡所需资源类型为目标资源类型。
资源分配模块203,用于基于目标资源类型和资源占用空间信息,为网卡分配相匹配资源。
可选的,在本实施例的一些实施方式中,上述资源获取模块202可进一步用于:
从位于PCIE设备的配置空间的基址寄存器读取网卡的资源类型。
作为本实施例的一种可选实施方式,上述资源获取模块202还可进一步用于:按照PCIE规范规定的方式,通过IO方式或者读内存地址空间的方式,从位于PCIE设备的配置空间的基址寄存器读取网卡的资源类型。
作为本实施例的另一种可选实施方式,上述资源获取模块202还可进一步用于:向位于PCIE设备的配置空间的基址寄存器写全F值,并读取基址寄存器的返回值;基于PCIE规范,根据返回值计算网卡所需资源的资源长度。
可选的,在本实施例的另一些实施方式中,上述装置例如还可以包括目标设备功能设置模块,用于在对PCIE设备进行初始化过程中,设置目标设备的调用内存功能为开启状态。
本发明实施例所述设备启动装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例解决了相关技术中网卡在BIOS的Legacy启动模式下由于所需资源类型与已分配资源类型冲突导致无法正常工作的技术问题,保障设备的正常启动和稳定运行。
上文中提到的设备启动装置是从功能模块的角度描述,进一步的,本申请还提供一种设备启动装置,是从硬件角度描述。图3为本申请实施例提供的另一种设备启动装置的结构图。如图3所示,该装置包括存储器30,用于存储计算机程序;处理器31,用于执行计算机程序时实现如上述任一实施例提到的设备启动方法的步骤。
其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用DSP(Digital SignalProcessing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器30可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器30还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器30至少用于存储以下计算机程序301,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的设备启动方法的相关步骤。另外,存储器30所存储的资源还可以包括操作系统302和数据303等,存储方式可以是短暂存储或者永久存储。其中,操作系统302可以包括Windows、Unix、Linux等。数据303可以包括但不限于设备启动结果对应的数据等。
在一些实施例中,设备启动装置还可包括有显示屏32、输入输出接口33、通信接口34或者称为网络接口、电源35以及通信总线36。其中,显示屏32、输入输出接口33比如键盘(Keyboard)属于用户接口,可选的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在设备启动装置中处理的信息以及用于显示可视化的用户界面。通信接口34可选的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在该设备启动装置与其他电子设备之间建立通信连接。通信总线36可以是外设部件互连标准(peripheralcomponent interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域技术人员可以理解,图3中示出的结构并不构成对设备启动装置的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器37。
本发明实施例所述设备启动装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例解决了相关技术中网卡在BIOS的Legacy启动模式下由于所需资源类型与已分配资源类型冲突导致无法正常工作的技术问题,保障设备的正常启动和稳定运行。
可以理解的是,如果上述实施例中的设备启动方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有设备启动程序,所述设备启动程序被处理器执行时如上任意一实施例所述设备启动方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例解决了相关技术中网卡在BIOS的Legacy启动模式下由于所需资源类型与已分配资源类型冲突导致无法正常工作的技术问题,保障设备的正常启动和稳定运行。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种设备启动方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种设备启动方法,其特征在于,适用于具有Switch交换设备的服务器中,所述服务器的BIOS处于Legacy启动模式,网卡和目标设备插在同一个PCIE槽上,且PCIE槽是连接在Switch交换设备上,所述目标设备的资源分配时间早于比所述网卡的资源分配时间,包括:
预先将切换资源类型的配置文件刷写在PCIE设备的网卡中,以将所述网卡的资源类型由当前资源类型转换为与目标设备的资源类型相兼容的目标资源类型;所述网卡与所述目标设备均连接在由Switch设备转接的PCIE插槽中;
在对所述网卡进行初始化过程中,获取所述网卡所需资源类型与资源占用空间信息,所述网卡所需资源类型为所述目标资源类型;
基于所述目标资源类型和所述资源占用空间信息,为所述网卡分配相匹配资源。
2.根据权利要求1所述的设备启动方法,其特征在于,所述获取所述网卡所需资源类型与资源占用空间信息,包括:
从位于所述PCIE设备的配置空间的基址寄存器读取所述网卡的资源类型。
3.根据权利要求2所述的设备启动方法,其特征在于,所述从位于所述PCIE设备的配置空间的基址寄存器读取所述网卡的资源类型,包括:
按照PCIE规范规定的方式,通过IO方式或者读内存地址空间的方式,从所述基址寄存器读取所述网卡的资源类型。
4.根据权利要求2所述的设备启动方法,其特征在于,所述获取所述网卡所需资源类型与资源占用空间信息,包括:
向所述基址寄存器写全F值,并读取所述基址寄存器的返回值;
基于PCIE规范,根据所述返回值计算所述网卡所需资源的资源长度。
5.根据权利要求1至4任意一项所述的设备启动方法,其特征在于,所述在对所述网卡进行初始化过程中,之前还包括:
在对所述PCIE设备进行初始化过程中,设置所述目标设备的调用内存功能为开启状态。
6.一种设备启动装置,其特征在于,适用于具有Switch交换设备的服务器中,所述服务器的BIOS处于Legacy启动模式,网卡和目标设备插在同一个PCIE槽上,且PCIE槽是连接在Switch交换设备上,所述目标设备的资源分配时间早于比所述网卡的资源分配时间,包括:
资源类型切换模块,用于预先将切换资源类型的配置文件刷写在PCIE设备的网卡中,以将所述网卡的资源类型由当前资源类型转换为与目标设备的资源类型相兼容的目标资源类型;所述网卡与所述目标设备均连接在由Switch设备转接的PCIE插槽中;
资源获取模块,用于在对所述网卡进行初始化过程中,获取所述网卡所需资源类型与资源占用空间信息,所述网卡所需资源类型为所述目标资源类型;
资源分配模块,用于基于所述目标资源类型和所述资源占用空间信息,为所述网卡分配相匹配资源。
7.根据权利要求6所述的设备启动装置,其特征在于,所述资源获取模块进一步用于:
从位于所述PCIE设备的配置空间的基址寄存器读取所述网卡的资源类型。
8.根据权利要求7所述的设备启动装置,其特征在于,所述资源获取模块进一步用于:
向所述基址寄存器写全F值,并读取所述基址寄存器的返回值;基于PCIE规范,根据所述返回值计算所述网卡所需资源的资源长度。
9.一种设备启动装置,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至5任一项所述设备启动方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有设备启动程序,所述设备启动程序被处理器执行时实现如权利要求1至5任一项所述设备启动方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110527988.7A CN113204384B (zh) | 2021-05-14 | 2021-05-14 | 设备启动方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110527988.7A CN113204384B (zh) | 2021-05-14 | 2021-05-14 | 设备启动方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113204384A CN113204384A (zh) | 2021-08-03 |
CN113204384B true CN113204384B (zh) | 2023-05-16 |
Family
ID=77031377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110527988.7A Active CN113204384B (zh) | 2021-05-14 | 2021-05-14 | 设备启动方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113204384B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791905A (zh) * | 2021-09-14 | 2021-12-14 | 联想(北京)有限公司 | 计算资源分配方法、装置及电子设备和存储介质 |
CN115344520B (zh) * | 2022-10-18 | 2023-03-24 | 苏州浪潮智能科技有限公司 | PCIe接口兼容银杉卡使用的方法、装置、存储介质及设备 |
CN116302500B (zh) * | 2023-02-22 | 2024-01-30 | 北京乐研科技股份有限公司 | 一种基于x86平台的cpie资源共板调度方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770434A (zh) * | 2009-01-05 | 2010-07-07 | 联想(北京)有限公司 | 一种pci设备中不同功能单元切换的方法及系统 |
CN107908511A (zh) * | 2017-11-13 | 2018-04-13 | 上海斐讯数据通信技术有限公司 | 一种网卡的acpi测试方法、测试机及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729071B (zh) * | 2016-08-09 | 2019-10-22 | 华为技术有限公司 | 一种初始化网卡的方法及装置 |
CN112540801A (zh) * | 2019-09-23 | 2021-03-23 | 西安中兴新软件有限责任公司 | 网卡配置方法、主机设备、网卡设备及存储介质 |
CN111338779B (zh) * | 2020-02-27 | 2021-11-02 | 深圳华锐金融技术股份有限公司 | 资源分配方法、装置、计算机设备和存储介质 |
CN112099946A (zh) * | 2020-08-21 | 2020-12-18 | 西安万像电子科技有限公司 | 资源调度方法、装置及存储介质 |
-
2021
- 2021-05-14 CN CN202110527988.7A patent/CN113204384B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770434A (zh) * | 2009-01-05 | 2010-07-07 | 联想(北京)有限公司 | 一种pci设备中不同功能单元切换的方法及系统 |
CN107908511A (zh) * | 2017-11-13 | 2018-04-13 | 上海斐讯数据通信技术有限公司 | 一种网卡的acpi测试方法、测试机及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113204384A (zh) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113204384B (zh) | 设备启动方法、装置及计算机可读存储介质 | |
CN105264506B (zh) | 向内存映射配置分配处理器 | |
US10572434B2 (en) | Intelligent certificate discovery in physical and virtualized networks | |
CN107729071B (zh) | 一种初始化网卡的方法及装置 | |
US8762695B2 (en) | Computing device and method for registering identification information of network interface card in operating system | |
CN110399217B (zh) | 一种内存资源分配方法、装置及设备 | |
CN112506745B (zh) | 内存温度读取方法、装置及计算机可读存储介质 | |
CN102308280A (zh) | 基本输入/输出系统bios配置数据管理方法及系统 | |
CN111857840A (zh) | 基本输入输出系统bios启动方法及装置 | |
CN113867743B (zh) | 网络操作系统加载烧录方法、装置、电子设备及存储介质 | |
US10871970B1 (en) | Memory channel storage device detection | |
CN104156234A (zh) | 启动多核处理器、bootloader大小端模式自适应的方法及装置 | |
US20160246629A1 (en) | Gpu based virtual system device identification | |
CN115664953B (zh) | 一种外接设备的资源分配方法及相关装置 | |
EP3022643B1 (en) | Techniques for dynamically redirecting device driver operations to user space | |
CN108958837B (zh) | 一种动态配置me固件的方法、系统及介质 | |
CN110209439A (zh) | VxWorks的参数化配置方法 | |
CN112131171B (zh) | 动态修改板载vga所在的pch pcie根端口的方法 | |
US10628309B1 (en) | Loading a serial presence detect table according to jumper settings | |
CN115878327A (zh) | 总线预留方法、装置、服务器、电子设备和存储介质 | |
KR100534613B1 (ko) | 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법 | |
US20050172113A1 (en) | Method and apparatus for basic input output system loading | |
US7003591B2 (en) | Configurable mapping of devices to bus functions | |
CN109656720A (zh) | 地址空间分配方法和装置 | |
CN109144231B (zh) | 一种虚拟化电力管理方法及设备 |
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 |