本技术涉及计算机,特别涉及统一可扩展固件接口的pxe启动方法、装置、设备及介质。
背景技术:
1、当前,uefi(unified extensible firmware interface,统一可扩展固件接口)作为现代计算机系统的启动固件,提供了丰富的启动和管理功能,pxe(preboot executionenvironment,预启动执行环境)作为uefi中的一个关键功能,允许系统通过网络启动操作系统或其他固件。在pxe启动过程中,计算机无需本地存储设备,通过网络从远程服务器加载操作系统映像,这是数据中心、嵌入式系统和企业环境中常用的启动方式。
2、然而,在uefi的pxe启动过程中,网卡的类型和实现方式对启动的成功与否起着至关重要的作用,例如,usb(universal serial bus,通用串行总线)网卡根据其控制器的实现方式,可分为通过pcie(peripheral component interconnect express,一种高速串行计算机扩展总线标准)总线或mmio(memory-mapped i/o,内存映射i/o)总线访问,这种实现差异导致了uefi对usb网卡的适配存在一些问题,如当网卡仅提供mmio接口或pcie接口的驱动程序(driver)时,会导致在特定硬件架构下的uefi无法正确支持这些网卡,这是由于当前的uefi固件通常仅为特定硬件接口提供相应的驱动程序,例如,对于pcie总线下的usb控制器,uefi提供相应的pcie驱动程序;而对于mmio总线下的usb控制器,uefi则提供mmio驱动程序,这些驱动程序通过访问和操作相应的硬件寄存器,实现对usb网卡的初始化和数据传输功能。
3、另外,当前的驱动程序无法兼容不同类型的处理器架构,从而限制了系统的灵活性和兼容性,并且在多种处理器架构共存的环境中(如云服务器机房中),uefi固件需要分别维护不同类型的驱动程序,从而增加了开发和维护成本。
4、综上,如何在多种处理器架构共存的环境下正确加载和初始化网卡驱动是本领域目前还有待进一步解决的问题。
技术实现思路
1、有鉴于此,本技术的目的在于提供一种统一可扩展固件接口的pxe启动方法、装置、设备及存储介质,能够实现多种不同类型usb网卡的兼容,解决无法对不同类型usb网卡进行适配的问题,并提高不同架构系统对各类usb网卡的支持能力,从而增强了系统的灵活性和兼容性。其具体方案如下:
2、第一方面,本技术公开了一种统一可扩展固件接口的pxe启动方法,应用于基于多核处理器架构的计算机系统,包括:
3、当监测到统一可扩展固件接口固件启动时,加载预先创建的驱动程序兼容组件;
4、通过所述驱动程序兼容组件读取当前系统中多核架构处理器的配置寄存器,以获取当前系统的硬件架构,并创建定时器事件和对应的回调函数,以通过所述定时器事件扫描是否有usb网卡接入,若扫描到有usb网卡接入,则执行所述回调函数,以通过读取所述usb网卡的配置寄存器获取所述usb网卡的网卡接口类型,并判断所述网卡接口类型与所述硬件架构是否匹配,若所述网卡接口类型与所述硬件架构不匹配,则设置接口匹配标识为假;
5、加载位于所述驱动程序兼容组件中的寄存器映射组件,以通过所述寄存器映射组件获取所述接口匹配标识,并在所述接口匹配标识为假时,将所述网卡接口类型对应的配置寄存器映射为所述硬件架构对应的配置寄存器;
6、基于所述usb网卡的驱动程序和映射后的所述硬件架构对应的配置寄存器对所述usb网卡进行初始化,并通过引导加载程序加载操作系统,以实现所述统一可扩展固件接口固件的pxe启动。
7、可选的,所述当监测到统一可扩展固件接口固件启动时,加载预先创建的驱动程序兼容组件,包括:
8、当监测到统一可扩展固件接口固件启动时,对当前系统中的硬件进行初始化操作;
9、当监测到所述硬件初始化操作完成后,加载预先创建的驱动程序兼容组件。
10、可选的,所述创建定时器事件和对应的回调函数,以通过所述定时器事件扫描是否有usb网卡接入,包括:
11、创建定时器事件和对应的回调函数,并设置所述定时器事件的事件周期,以通过所述定时器事件并按照所述事件周期扫描是否有usb网卡接入。
12、可选的,所述多核架构处理器、所述usb网卡、各所述配置寄存器位于硬件层,所述usb网卡的驱动程序位于网卡驱动层,所述驱动程序兼容组件位于所述硬件层和所述网卡驱动层之间。
13、可选的,所述通过读取所述usb网卡的配置寄存器获取所述usb网卡的网卡接口类型,包括:
14、获取当前所述usb网卡的连接状态,若所述连接状态为在位,则读取所述usb网卡的配置寄存器,以识别所述usb网卡的网卡接口类型。
15、可选的,所述统一可扩展固件接口的pxe启动方法,还包括:
16、若所述网卡接口类型与所述硬件架构匹配,则设置接口匹配标识为真;
17、加载位于所述驱动程序兼容组件中的寄存器映射组件,以通过所述寄存器映射组件获取所述接口匹配标识,并在所述接口匹配标识为真时,确定所述硬件架构对应的配置寄存器,并基于所述usb网卡的驱动程序和所述硬件架构对应的配置寄存器对所述usb网卡进行初始化,再通过引导加载程序加载操作系统,以实现所述统一可扩展固件接口固件的pxe启动;
18、相应的,所述基于所述usb网卡的驱动程序和所述硬件架构对应的配置寄存器对所述usb网卡进行初始化,再通过引导加载程序加载操作系统,以实现所述统一可扩展固件接口固件的pxe启动,包括:
19、加载所述usb网卡的驱动程序,并在加载过程中访问所述硬件架构对应的配置寄存器,以实现所述usb网卡的初始化和数据传输功能;所述usb网卡的初始化过程包括网卡参数的配置、网络参数的设置以及数据通道的建立;
20、当监测到所述usb网卡初始化完成后,通过引导加载程序及网络下载当前系统的操作系统映像,并启动所述操作系统映像,以实现所述统一可扩展固件接口固件的pxe启动。
21、可选的,所述在所述接口匹配标识为假时,将所述网卡接口类型对应的配置寄存器映射为所述硬件架构对应的配置寄存器,包括:
22、在所述接口匹配标识为假时,将所述网卡接口类型对应的pcie寄存器映射为所述硬件架构对应的mmio寄存器;
23、或,将所述网卡接口类型对应的mmio寄存器映射为所述硬件架构对应的pcie寄存器。
24、第二方面,本技术公开了一种统一可扩展固件接口的pxe启动装置,应用于基于多核处理器架构的计算机系统,包括:
25、加载模块,用于当监测到统一可扩展固件接口固件启动时,加载预先创建的驱动程序兼容组件;
26、读取模块,用于通过所述驱动程序兼容组件读取当前系统中多核架构处理器的配置寄存器,以获取当前系统的硬件架构,并创建定时器事件和对应的回调函数,以通过所述定时器事件扫描是否有usb网卡接入,若扫描到有usb网卡接入,则执行所述回调函数,以通过读取所述usb网卡的配置寄存器获取所述usb网卡的网卡接口类型,并判断所述网卡接口类型与所述硬件架构是否匹配,若所述网卡接口类型与所述硬件架构不匹配,则设置接口匹配标识为假;
27、加载模块,用于加载位于所述驱动程序兼容组件中的寄存器映射组件,以通过所述寄存器映射组件获取所述接口匹配标识,并在所述接口匹配标识为假时,将所述网卡接口类型对应的配置寄存器映射为所述硬件架构对应的配置寄存器;
28、pxe启动模块,用于基于所述usb网卡的驱动程序和映射后的所述硬件架构对应的配置寄存器对所述usb网卡进行初始化,并通过引导加载程序加载操作系统,以实现所述统一可扩展固件接口固件的pxe启动。
29、第三方面,本技术公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述的统一可扩展固件接口的pxe启动方法。
30、第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的统一可扩展固件接口的pxe启动方法。
31、可见,本技术应用于基于多核处理器架构的计算机系统,当监测到统一可扩展固件接口固件启动时,加载预先创建的驱动程序兼容组件,并通过所述驱动程序兼容组件读取当前系统中多核架构处理器的配置寄存器,以获取当前系统的硬件架构,并创建定时器事件和对应的回调函数,以通过所述定时器事件扫描是否有usb网卡接入,若扫描到有usb网卡接入,则执行所述回调函数,以通过读取所述usb网卡的配置寄存器获取所述usb网卡的网卡接口类型,并判断所述网卡接口类型与所述硬件架构是否匹配,若所述网卡接口类型与所述硬件架构不匹配,则设置接口匹配标识为假,再加载位于所述驱动程序兼容组件中的寄存器映射组件,以通过所述寄存器映射组件获取所述接口匹配标识,并在所述接口匹配标识为假时,将所述网卡接口类型对应的配置寄存器映射为所述硬件架构对应的配置寄存器,最后基于所述usb网卡的驱动程序和映射后的所述硬件架构对应的配置寄存器对所述usb网卡进行初始化,并通过引导加载程序加载操作系统,以实现所述统一可扩展固件接口固件的pxe启动。本技术应用于基于多核处理器架构的计算机系统,在监测到统一可扩展固件接口固件启动时,先加载预先创建的驱动程序兼容组件,并通过该组件分别获取当前系统的硬件架构和扫描到的usb网卡的网卡接口类型,然后判断网卡接口类型与硬件架构是否匹配,若不匹配则通过驱动程序兼容组件中的寄存器映射组件将网卡接口类型对应的配置寄存器映射为硬件架构对应的配置寄存器,并基于usb网卡的驱动程序和硬件架构对应的配置寄存器对usb网卡进行初始化,从而实现统一可扩展固件接口固件的pxe启动,可见,本技术通过预先创建的驱动程序兼容组件能够对不同类型usb网卡进行适配,因此可以应用于多种硬件架构共存的环境中,实现了多种不同类型usb网卡的兼容,从而解决了当前无法对不同类型usb网卡进行适配的问题,另外,通过寄存器转化机制可以显著提高不同架构系统对各类usb网卡的支持能力,从而增强了系统的灵活性和兼容性。
1.一种统一可扩展固件接口的pxe启动方法,其特征在于,应用于基于多核处理器架构的计算机系统,包括:
2.根据权利要求1所述的统一可扩展固件接口的pxe启动方法,其特征在于,所述当监测到统一可扩展固件接口固件启动时,加载预先创建的驱动程序兼容组件,包括:
3.根据权利要求1所述的统一可扩展固件接口的pxe启动方法,其特征在于,所述创建定时器事件和对应的回调函数,以通过所述定时器事件扫描是否有usb网卡接入,包括:
4.根据权利要求1所述的统一可扩展固件接口的pxe启动方法,其特征在于,所述多核架构处理器、所述usb网卡、各所述配置寄存器位于硬件层,所述usb网卡的驱动程序位于网卡驱动层,所述驱动程序兼容组件位于所述硬件层和所述网卡驱动层之间。
5.根据权利要求1所述的统一可扩展固件接口的pxe启动方法,其特征在于,所述通过读取所述usb网卡的配置寄存器获取所述usb网卡的网卡接口类型,包括:
6.根据权利要求1所述的统一可扩展固件接口的pxe启动方法,其特征在于,还包括:
7.根据权利要求1至6任一项所述的统一可扩展固件接口的pxe启动方法,其特征在于,所述在所述接口匹配标识为假时,将所述网卡接口类型对应的配置寄存器映射为所述硬件架构对应的配置寄存器,包括:
8.一种统一可扩展固件接口的pxe启动装置,其特征在于,应用于基于多核处理器架构的计算机系统,包括:
9.一种电子设备,其特征在于,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1至7任一项所述的统一可扩展固件接口的pxe启动方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的统一可扩展固件接口的pxe启动方法。