CN115454904A - Equipment initialization method and device, computer equipment and related products - Google Patents

Equipment initialization method and device, computer equipment and related products Download PDF

Info

Publication number
CN115454904A
CN115454904A CN202211007497.0A CN202211007497A CN115454904A CN 115454904 A CN115454904 A CN 115454904A CN 202211007497 A CN202211007497 A CN 202211007497A CN 115454904 A CN115454904 A CN 115454904A
Authority
CN
China
Prior art keywords
enumeration
peripheral
server
peripheral pcie
information
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.)
Pending
Application number
CN202211007497.0A
Other languages
Chinese (zh)
Inventor
张文强
孙海鹏
栗志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Co Ltd filed Critical Dawning Information Industry Co Ltd
Priority to CN202211007497.0A priority Critical patent/CN115454904A/en
Publication of CN115454904A publication Critical patent/CN115454904A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Abstract

The application relates to a device initialization method, a device initialization apparatus, a computer device and a readable storage medium. The method comprises the following steps: acquiring enumeration identifications of peripheral PCIe devices in the variable memory, and initializing the peripheral PCIe devices according to enumeration information of the peripheral PCIe devices in the variable memory if the enumeration identifications are a first preset value. By adopting the method, the process of initializing the peripheral PCIe devices by running the driver can be avoided, and when the processor executes enumeration and initialization processing processes on all the peripheral PCIe devices connected to the host of the computer device before the server is started, the peripheral PCIe devices connected to the host of the computer device can be quickly initialized based on the historical enumeration information stored in the variable memory, so that the initialization time of the peripheral PCIe devices can be shortened, and the starting speed of the server is further improved.

Description

Equipment initialization method and device, computer equipment and related products
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method and an apparatus for initializing a device, a computer device, and a related product.
Background
With the continuous improvement of server performance, more and more peripheral devices, such as hard disks, network cards, display cards, GPU cards, and the like, need to be installed on the server motherboard. Typically, the Peripheral devices communicate with the processor in the server via a physical Peripheral Component Interconnect express (PCIe) bus.
For a computer device, there is generally one PCIe bus domain that supports 256 PCIe sub-buses, with at most 32 peripheral PCIe devices supported on each PCIe sub-bus, and at most 8 functions supported on each peripheral PCIe device. In order to ensure that these peripheral PCIe devices operate normally, during the process of powering on the server, the peripheral PCIe devices supported on the PCIe bus domain in the computer device must be enumerated and initialized.
However, in the related art, when peripheral PCIe devices supported in a PCIe bus domain are enumerated and initialized, there is a problem that the boot speed of the server is slow.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a device initialization method, apparatus, computer device and related products.
In a first aspect, the present application provides a device initialization method, including:
acquiring enumeration identification of peripheral PCIe devices in a variable memory; the variable memory is used for storing enumeration information and enumeration identification of the peripheral PCIe equipment generated when the server is started up historically;
if the enumeration identifier is the first preset value, initializing the peripheral PCIe devices according to enumeration information of the peripheral PCIe devices in the variable memory.
The device initialization method provided by the embodiment of the application can avoid the process of enumeration and complete initialization of all peripheral PCIe devices connected on a mainboard of a server, and can quickly initialize the peripheral PCIe devices connected on a host of the computer device based on the historical enumeration information stored in the variable memory when the processor executes the enumeration and initialization process of all the peripheral PCIe devices connected on the host of the computer device before the server is started up, so that the initialization time of the peripheral PCIe devices can be shortened, and the starting-up speed of the server is further improved; meanwhile, the method can rapidly initialize the peripheral PCIe devices through the enumeration identification and the enumeration information of the peripheral PCIe devices stored in the power-down nonvolatile variable memory when the subsequent server is started, and reduces the enumeration process of the peripheral PCIe devices in the subsequent server starting process, thereby shortening the initialization time of the peripheral PCIe devices to a greater extent, saving a large amount of starting time of the server and effectively improving the starting speed of the server.
In one embodiment, before initializing the peripheral PCIe device according to enumeration information of the peripheral PCIe device in the variable memory, the method further includes:
detecting whether a re-enumeration request of a peripheral PCIe device is received;
if not, initializing the peripheral PCIe equipment according to enumeration information of the peripheral PCIe equipment corresponding to the last successful startup of the server in the variable memory;
if yes, updating the enumeration information of the peripheral PCIe equipment corresponding to the last successful starting of the server in the variable memory.
The device initialization method provided by the embodiment of the application can select the initialization mode of the peripheral PCIe device by detecting whether the detection result of the re-enumeration request of the peripheral PCIe device is received or not, so as to ensure that all the updated peripheral PCIe devices can be initialized when the peripheral PCIe devices connected to the host of the computer device are different from the peripheral PCIe devices connected to the host of the computer device when the server is started before the server is started for the time and the server is started for the time history, and avoid the problem that the server is failed to be started due to the initialization omission of the peripheral PCIe devices.
In one embodiment, the updating process of the enumeration information of the peripheral PCIe device corresponding to the last successful boot of the server in the variable memory includes:
and modifying the enumeration identifier of the peripheral PCIe equipment corresponding to the last successful starting of the server in the variable memory from the first preset value to a second preset value, and clearing enumeration information of the peripheral PCIe equipment corresponding to the last successful starting of the server in the variable memory.
The device initialization method provided by the embodiment of the application can change the enumeration identifier of the peripheral PCIe device corresponding to the last successful boot-up of the server in the variable storage from the first preset value to the second preset value when the situation that the server is different from all the peripheral PCIe devices connected on the host computer of the computer device when the server is started up before the next boot-up is determined, and clear the enumeration information of the peripheral PCIe device corresponding to the last successful boot-up of the server in the variable storage, so that the problems that the boot-up of the server fails or the boot-up speed of the server is slow due to inaccuracy of the enumeration information and the enumeration identifier stored in the variable storage when the subsequent server is started up can be avoided.
In one embodiment, before detecting whether a re-enumeration request of a peripheral PCIe device is received, the method further includes:
initializing an information input device of a server; the information input device is to receive a re-enumeration request.
According to the device initialization method provided by the embodiment of the application, when the situation that the server is not started for the first time and all peripheral PCIe devices connected to the host computer of the computer device are different from each other before the server is started for the last time is determined, the information input device of the server can be initialized first, so that the re-enumeration processing can be normally triggered when the server is not started for the first time.
In one embodiment, detecting whether a re-enumeration request for a peripheral PCIe device is received includes:
outputting hot key prompt information, wherein the hot key prompt information comprises function information corresponding to a plurality of hot keys;
detecting whether a preset hot key in the information input equipment is triggered or not; the preset hot key is triggered according to the hot key prompt information by the user;
if so, determining to receive a re-enumeration request of the peripheral PCIe equipment;
if not, determining that the re-enumeration request of the peripheral PCIe device is not received.
The device initialization method provided by the embodiment of the application can detect whether a preset hot key in the information input device is triggered, determine that a re-enumeration request of the peripheral PCIe device is received if the preset hot key in the information input device is triggered, and determine that the re-enumeration request of the peripheral PCIe device is not received if the preset hot key in the information input device is not triggered; the method can trigger the re-enumeration request of the peripheral PCIe equipment by inputting the hot key, thereby being capable of entering the re-enumeration processing process quickly and further shortening the time length of the re-enumeration processing.
In one embodiment, the method further includes:
if the enumeration identifier is the second preset value, enumerating all peripheral PCIe devices supported by the server to obtain enumeration information of all peripheral PCIe devices;
the enumeration information of all the peripheral PCIe devices is stored into a variable memory, and the enumeration identification of the peripheral PCIe devices corresponding to the last successful starting of the server in the variable memory is modified into a first preset value.
The device initialization method provided by the embodiment of the application can store the enumeration information and the enumeration identifier of the peripheral PCIe device when the server is started up for the first time into the variable memory, so that the peripheral PCIe device can be quickly initialized by calling the enumeration information and the enumeration identifier corresponding to the last successful startup of the server in the variable memory when the server is started up for the subsequent time, the startup time of the server can be shortened, and the power consumption of the server in the startup process of the server can be further saved.
In a second aspect, the present application provides an apparatus for initializing a device, the apparatus comprising:
an enumeration identifier obtaining module, configured to obtain enumeration identifiers of peripheral PCIe devices in the variable memory; the variable memory is used for storing enumeration information and enumeration identification of the peripheral PCIe equipment generated when the server is started up historically;
and the equipment initialization module is used for initializing the peripheral PCIe equipment according to the enumeration information of the peripheral PCIe equipment in the variable memory when the enumeration identifier is the first preset value.
In a third aspect, the present application provides a computer device comprising a memory and a processor, the memory storing a computer program, the processor implementing the steps of the method of any of the above first aspects when executing the computer program.
In a fourth aspect, the present application provides a readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the method of any of the embodiments of the first aspect described above.
In a fifth aspect, the present application provides a program product comprising a computer program which, when executed by a processor, performs the steps of the method in any of the embodiments of the first aspect described above.
Drawings
FIG. 1 is a diagram of the internal structure of a computer device in one embodiment;
FIG. 2 is a flow diagram illustrating a method for initializing a device in one embodiment;
FIG. 3 is a flow chart illustrating a method for initializing a device according to another embodiment;
FIG. 4 is a flow diagram illustrating a method for detecting whether a re-enumeration request for a peripheral PCIe device is received in another embodiment;
FIG. 5 is a flowchart illustrating a method for enumerating and initializing peripheral PCIe devices when a server is first powered on in another embodiment;
FIG. 6 is a flowchart of another embodiment of a method for initializing peripheral PCIe devices when a server is first powered on;
fig. 7 is a block diagram showing the configuration of the device initialization apparatus according to one embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of and not restrictive on the broad application.
The device initialization method provided by the application can be applied to a processor in the computer device shown in fig. 1. The processor is disposed in the computer device, and the processor can run a computer program stored in a memory in the computer device to implement the device initialization method. Alternatively, the computer program may be a Basic Input Output System (BIOS) program, system software, programming software, application software, or the like. In the embodiment of the application, the processor may run the BIOS program to implement the device initialization method. Alternatively, the BIOS program may be a program that is fixed to a ROM chip on a motherboard within the computer device. Optionally, the processor may be implemented by an independent server or a server cluster formed by multiple servers, and this embodiment does not limit a specific form of the processor, and an execution main body of the following method embodiment is described by taking the processor as an example.
In the process of starting up the server, all the peripheral PCIe devices in place supported by the PCIe bus domain in the computer device must be enumerated and initialized, but when the server is started up each time, all the peripheral PCIe devices in place are enumerated and initialized in sequence by the driver, which may cause a problem that the starting up speed of the server is slow. Based on this, an embodiment of the present application provides an apparatus initialization method, and fig. 2 is a schematic flow diagram of the apparatus initialization method, where the apparatus initialization method may be implemented by the following steps:
s100, acquiring an enumeration identifier of peripheral PCIe (peripheral component interface express) equipment in a variable memory; the variable memory is used for storing enumeration information and enumeration identification of the peripheral PCIe devices generated when the server is started historically.
Specifically, the enumeration information of the peripheral PCIe device and the expression manner of the enumeration identifier stored in the variable memory are different, so that after the server is powered on, the processor may first read only the enumeration identifier of the peripheral PCIe device from the variable memory.
The enumeration identifier of the peripheral PCIe device may characterize whether the processor has performed enumeration and initialization processing on all peripheral PCIe devices connected to the host of the computer device before the server is powered on. The enumerated identifier of the peripheral PCIe device may be represented by any numerical value, may be represented by a string of english characters, and may be represented by a combination of numerical values and english characters, for example.
In this embodiment of the present application, when the processor of the server has performed enumeration and initialization processes on all peripheral PCIe devices connected to the host of the computer device before starting up, the enumeration identifier of the peripheral PCIe device may be represented by a round; the enumeration identification of the peripheral PCIe device may be represented by FALSE when the server has not performed enumeration and initialization processes on all peripheral PCIe devices connected to the host of the computer device by the processor prior to the time of power-on, or when the server has performed enumeration and initialization processes on all peripheral PCIe devices connected to the host of the computer device by the processor prior to the time of power-on but when the peripheral PCIe devices connected to the host of the computer device are updated prior to the time of power-on.
Alternatively, the historical server boot may be understood as any boot process of the server before the server is booted again. For example, when the server is powered on for the 4 th power-on process of the server, the historical power-on of the server may be the 3 rd, 2 nd or 1 st power-on process of the server.
It should be noted that the result of the server boot each time may be a result of successful server boot or a result of failed server boot. In this embodiment of the application, the variable storage may store enumeration information and an enumeration identifier of the peripheral PCIe device generated in a process of a last successful boot of the server before the server is booted next time, that is, historical boot of the server indicates a boot process of an adjacent last successful boot of the server before the server is booted next time. Continuing with the previous example, if the server fails to boot up for the 3 rd time and the server successfully boots up for the 2 nd and 1 st times, the historical boot up of the server may be the 2 nd boot up process of the server.
It will be appreciated that the enumeration information for the peripheral PCIe devices may include the identification of the enumerated peripheral PCIe devices, the enumeration time, the total number of all peripheral PCIe devices enumerated, and configuration information required for peripheral PCIe device initialization, among others. Alternatively, the configuration information required for peripheral PCIe device initialization may be an initialization duration of the peripheral PCIe device, characteristic parameters that must be configured when the peripheral PCIe device is initialized, and the like.
In addition, the variable memory may be a power-down nonvolatile variable memory, and may be a power-down nonvolatile area in a hardware memory for storing the BIOS program in the computer device. Optionally, the hardware memory may be a Flash memory in the computer device, i.e. Flash.
S200, if the enumeration identifier is the first preset value, initializing the peripheral PCIe devices according to enumeration information of the peripheral PCIe devices in the variable memory.
Specifically, when determining that the read enumeration identifier of the peripheral PCIe device is the first preset value, the processor may read enumeration information of the peripheral PCIe device from the variable memory, and initialize the peripheral PCIe device through the enumeration information of the peripheral PCIe device. Optionally, initializing the peripheral PCIe device through enumeration information of the peripheral PCIe device may be understood as directly configuring parameters that need to be configured in the initialization process of the peripheral PCIe device through the enumeration information of the peripheral PCIe device.
In this embodiment, the first preset value may be "tune", which indicates that the processor of the server has performed enumeration and initialization processes on all peripheral PCIe devices connected to the host of the computer device before the server is powered on.
Further, after the peripheral PCIe device initialization is completed, the processor may further load a driver of each peripheral PCIe device, start the peripheral PCIe device through the driver of each peripheral PCIe device, and then enter the operating system of the server, that is, complete the server boot.
The device initialization method provided by the embodiment of the application can acquire enumeration identifiers of peripheral PCIe devices in the variable memory, and initialize the peripheral PCIe devices according to enumeration information of the peripheral PCIe devices in the variable memory when the enumeration identifiers are determined to be a first preset value; the method can avoid the process of enumerating and completely initializing all peripheral PCIe devices connected on a mainboard of the server, and can quickly initialize the peripheral PCIe devices connected on a host of the computer device based on the historical enumeration information stored in the variable memory when the processor is determined to execute the process of enumerating and initializing all the peripheral PCIe devices connected on the host of the computer device before the server is started, so that the initialization time of the peripheral PCIe devices can be shortened, and the starting speed of the server is further improved; meanwhile, the method can rapidly initialize the peripheral PCIe devices through the enumeration identification and the enumeration information of the peripheral PCIe devices stored in the power-down nonvolatile variable memory when the subsequent server is started, and reduces the enumeration process of the peripheral PCIe devices in the subsequent server starting process, thereby shortening the initialization time of the peripheral PCIe devices to a greater extent, saving a large amount of starting time of the server and effectively improving the starting speed of the server.
In some scenarios, a peripheral PCIe device connected on a host of a computer device may be updated at any time, either as actual business requirements of the computer device or as versions of the peripheral PCIe device are upgraded. In the process of booting the server, it will be described how to specifically process all peripheral PCIe devices currently connected to the host of the computer device in the case that it is determined that peripheral PCIe devices connected to the host of the computer device are updated and the processor of the server has performed enumeration and initialization processes on all peripheral PCIe devices connected to the host of the computer device before the server is booted. In an embodiment, as shown in fig. 3, before the step of initializing the peripheral PCIe device according to enumeration information of the peripheral PCIe device in the variable memory in S200, the device initialization method may further include the following steps:
s300, detecting whether a re-enumeration request of the peripheral PCIe device is received.
In particular, the processor may receive a user-entered re-enumeration request of the peripheral PCIe device. Optionally, the input mode of the re-enumeration request may be a gesture, a voice, or the like; the gesture may be any preset gesture, and the voice may be preset information that triggers re-enumeration request.
It should be noted that the processor may detect whether a re-enumeration request of the peripheral PCIe device is received in real time through the request snoop function. Alternatively, the processor may also monitor whether a display of the computer device outputs request-related hint information, and determine whether a re-enumeration request for the peripheral PCIe device is received according to the monitoring result. Optionally, if it is monitored that the display of the computer device outputs the prompt information related to the request, it may be determined that the processor receives a re-enumeration request of the peripheral PCIe device; if no prompt message related to the output request is monitored on the display of the computer device, it may be determined that the processor does not receive a re-enumeration request of the peripheral PCIe device.
The request-related prompt message may include a request-receiving message and a request-rejecting message. Optionally, the request receipt information and the request rejection information output on the display of the computer device may indicate whether the user needs the processor to continue responding to re-enumeration requests. Alternatively, the request to receive information may be displayed on the display of the computer device in the form of a confirmation view or a text button; the request rejection information may be displayed on the display of the computer device in the form of a cancel view or a text button. Optionally, if the user triggers a request to receive information button on the display of the computer device, the processor may determine that a re-enumeration request needs to be continually responded to; if the user toggles the request rejection info button on the display of the computer device, the processor may determine that a re-enumeration request need not be continually responded to.
And S400, if not, initializing the peripheral PCIe equipment according to enumeration information of the peripheral PCIe equipment corresponding to the last successful startup of the server in the variable memory.
It should be noted that, if the processor determines that the detection result is that a re-enumeration request of the peripheral PCIe device is not received, the characterization server corresponds to and is the same as each peripheral PCIe device connected to the host of the computer device when the server is started up in the history before the server is started up, and at this time, the peripheral PCIe device may be initialized by the enumeration information of the peripheral PCIe device corresponding to the last successful start-up of the server, which is stored in the variable storage.
Optionally, before the server is started up again, the peripheral PCIe devices connected to the host of the computer device are the same, which may be understood as that the version, model, and type of the peripheral PCIe devices connected to the host of the computer device are the same before the server is started up again and the total number of all peripheral PCIe devices connected to the host of the computer device is the same before the server is started up again.
And S500, if yes, updating enumeration information of the peripheral PCIe devices corresponding to the last successful starting of the server in the variable memory.
It should be noted that, if the processor determines that the detection result is that a re-enumeration request of the peripheral PCIe device is received, and that the representation server is different from all peripheral PCIe devices connected to the host computer of the computer device when the computer device is started up in the history of the server before the computer device is started up, at this time, all peripheral PCIe devices currently connected to the host computer of the computer device need to be re-enumerated and initialized, and before the re-enumeration and initialization process, the processor may first update enumeration information of the peripheral PCIe device corresponding to the last successful start-up of the server, which is stored in the variable storage.
Optionally, the server may be different from all peripheral PCIe devices connected to the host of the computer device when the server is historically powered on before the server is powered on next time, which may be understood as the version, model, type of each peripheral PCIe device connected to the host of the computer device when the server is historically powered on before the server is powered on next time, and/or the total number of all peripheral PCIe devices connected to the host of the computer device when the server is historically powered on before the server is powered on next time.
In addition, the update process may be understood as a process of modifying, adding, and the like, enumeration information of the peripheral PCIe device, which is stored in the variable storage and corresponds to the last successful boot of the server.
The device initialization method provided by the embodiment of the application can detect whether a re-enumeration request of peripheral PCIe devices is received, if the re-enumeration request of the peripheral PCIe devices is determined not to be received, the peripheral PCIe devices are initialized according to enumeration information of the peripheral PCIe devices corresponding to the last successful startup of the server in the variable memory, and if the re-enumeration request of the peripheral PCIe devices is determined to be received, the enumeration information of the peripheral PCIe devices corresponding to the last successful startup of the server in the variable memory is updated; the method can select the initialization mode of the peripheral PCIe equipment by detecting whether the detection result of the re-enumeration request of the peripheral PCIe equipment is received or not, so as to ensure that all the updated peripheral PCIe equipment can be initialized when the peripheral PCIe equipment connected on the host computer of the computer equipment is different from the peripheral PCIe equipment connected on the host computer of the computer equipment when the server is started before the server is started for the time, and avoid the problem of starting failure of the server caused by initialization omission of the peripheral PCIe equipment.
The following describes a procedure of how to perform the update processing on the enumeration information in the variable storage. In an embodiment, the step of updating the enumeration information of the peripheral PCIe device stored in the variable storage in S500 may include: and modifying the enumeration identification of the peripheral PCIe equipment corresponding to the last successful start-up of the server in the variable memory from the first preset value to a second preset value, and clearing the enumeration information of the peripheral PCIe equipment corresponding to the last successful start-up of the server in the variable memory.
In this embodiment, when it is determined that the server is different from all the peripheral PCIe devices connected to the host computer of the computer device when the server is started up in the history before the server is started up, and it is necessary to re-enumerate and initialize all the peripheral PCIe devices currently connected to the host computer of the computer device, the processor may change the enumeration identifier of the peripheral PCIe device corresponding to the last successful start-up of the server, which is stored in the variable storage device before the current time, from the first preset value to the second preset value, and remove the enumeration information of the peripheral PCIe device corresponding to the last successful start-up of the server, which is stored in the variable storage device before the current time.
Wherein, because the peripheral PCIe devices connected to the host computer of the computer device are user-installed, determining whether all the peripheral PCIe devices connected to the host computer of the computer device are the same as all the peripheral PCIe devices connected to the host computer of the computer device when the server is started before the server is started up for the next time is user-determined.
It should be noted that the second preset value may be FALSE. In this case, the second predetermined value indicates that the server has performed enumeration and initialization processes on all peripheral PCIe devices connected to the host of the computer device by the processor before the current boot, and that the peripheral PCIe devices connected to the host of the computer device are updated before the current boot. Optionally, the foregoing clearing of the enumeration information of the peripheral PCIe device may be understood as a process of deleting the enumeration information of the peripheral PCIe device in the variable memory.
The device initialization method provided by the embodiment of the application can change the enumeration identifier of the peripheral PCIe device, which is stored in the variable memory and corresponds to the last successful startup of the server, from the first preset value to the second preset value when the server is determined to be different from all peripheral PCIe devices connected to the host of the computer device when the server is started up before the server is started up in history, and clear the enumeration information of the peripheral PCIe device, which is stored in the variable memory and corresponds to the last successful startup of the server, so that the problem that the server fails to be started up or the server is slow to be started up due to the fact that the enumeration information and the enumeration identifier, which are stored in the variable memory and correspond to the last successful startup of the server, are inaccurate when the subsequent server is started up can be avoided.
When determining that the server is different from all peripheral PCIe devices connected to the host of the computer device when the server is started up before the server is started up, re-enumeration and initialization are required to be performed on all receiving peripheral PCIe devices currently connected to the host of the computer device. Based on this, in an embodiment, before the step of detecting whether a re-enumeration request of the peripheral PCIe device is received in S300, the device initialization method may further include: initializing an information input device of a server; the information input device is to receive a re-enumeration request.
Specifically, the processor may call or load the driver of the information input device of the server from the memory, the register, or the storage to initialize the information input device of the server. Wherein the user may input a re-enumeration request of the peripheral PCIe device through the information input device.
Alternatively, the information input device may be a keyboard, a mouse, a Universal Serial Bus (USB) device, and a display device. Alternatively, the USB device may be a universal serial bus device provided on a host of the computer device, or may be a universal serial bus device provided on a display device of the computer device. The USB device can be connected with a keyboard, a mouse, a power supply of computer equipment and other equipment. In an embodiment of the present application, the display device of the computer device may be a display of the computer device.
According to the device initialization method provided by the embodiment of the application, when the fact that the server is different from all peripheral PCIe devices connected to the host computer of the computer device when the server is started up in history is determined, the information input device of the server can be initialized first, so that re-enumeration processing can be normally triggered when the server is not started up completely.
The process of detecting whether a re-enumeration request for a peripheral PCIe device is received will be described below. In an embodiment, as shown in fig. 4, the step of detecting whether a re-enumeration request of the peripheral PCIe device is received in S300 may be implemented by the following steps:
and S310, outputting hot key prompt information, wherein the hot key prompt information comprises function information corresponding to a plurality of hot keys.
In particular, the processor may output the hotkey reminder information for display by a display of the computer device. The hot key prompt message may include function information corresponding to a plurality of hot keys; the hot key can be understood as a shortcut key; the function information corresponding to the hot key can be understood as the function operation realized after the hot key is triggered. For example, the function information corresponding to the hot key a + B is peripheral PCIe device initialization operation, the function information corresponding to the hot key a + C is peripheral PCIe device storage operation, the function information corresponding to the hot key B + D is peripheral PCIe device processing operation, and the like.
S320, detecting whether a preset hot key in the information input equipment is triggered or not; the preset hot key is triggered by the user according to the hot key prompt message.
In this embodiment, the hotkey hint information at least includes re-enumeration processing of the peripheral PCIe device and corresponding hotkey information. It should be noted that, the user may determine the hotkey corresponding to the re-enumeration processing of the peripheral PCIe device according to hotkey prompt information displayed in the display of the computer device, and determine the hotkey corresponding to the re-enumeration processing of the peripheral PCIe device as the preset hotkey. Alternatively, the user may trigger the preset hot key through the information input device.
The processor may detect whether a preset hot key in the information input device is triggered, that is, whether a user triggers the preset hot key through the information input device.
In addition, a re-enumeration option of the peripheral PCIe device may be set on the BIOS configuration interface, and the user triggers the re-enumeration option on the BIOS configuration interface output in the information input device through a device such as a mouse or a keyboard to input a re-enumeration request of the peripheral PCIe device to the processor, and further, the processor may detect whether the re-enumeration option on the BIOS configuration interface output in the information input device is triggered.
S330, if yes, determining that a re-enumeration request of the peripheral PCIe equipment is received.
It should be noted that, if the detection result of the processor is that the preset hotkey in the information input device is triggered, the processor may determine that a re-enumeration request of the peripheral PCIe device is received, which indicates that the server is different from all peripheral PCIe devices connected to the host of the computer device when the computer device is started in the history of the server before the server is started again, and at this time, it is necessary to re-enumerate all peripheral PCIe devices connected to the host of the computer device.
S340, if not, determining that the re-enumeration request of the peripheral PCIe equipment is not received.
Meanwhile, if the detection result of the processor is that the preset hot key in the information input device is not triggered, the processor may determine that a re-enumeration request of the peripheral PCIe device is not received, which indicates that the server is the same as all peripheral PCIe devices connected to the host of the computer device when the server is started up before the server is started up for the time, and at this time, the step of initializing the peripheral PCIe device according to the enumeration information of the peripheral PCIe devices in the variable memory in S200 may be continuously performed.
The device initialization method provided by the embodiment of the application can detect whether a preset hot key in the information input device is triggered, and if the preset hot key in the information input device is triggered, determine that a re-enumeration request of the peripheral PCIe device is received, and if the preset hot key in the information input device is not triggered, determine that the re-enumeration request of the peripheral PCIe device is not received; the method can trigger the re-enumeration request of the peripheral PCIe equipment by inputting the hot key, thereby being capable of entering the re-enumeration processing process quickly and further shortening the time length of the re-enumeration processing.
In some scenarios, the server does not perform the enumeration and initialization process on all peripheral PCIe devices connected to the host of the computer device by the processor before starting up the computer device, and at this time, the process of enumerating and initializing all peripheral PCIe devices connected to the host of the computer device is required. Based on this, in an embodiment, as shown in fig. 5 based on fig. 1, after the step of obtaining the enumeration identifier of the peripheral PCIe device in the variable storage in S100, the device initialization method may further include the following steps:
and S110, if the enumeration identifier is the second preset value, enumerating all peripheral PCIe devices supported by the server to obtain enumeration information of all the peripheral PCIe devices.
It should be noted that the second preset value may be FALSE. In this case, the second preset value indicates that the processor has not performed enumeration and initialization processes on all peripheral PCIe devices connected to the host of the computer device before the server is powered on, and at this time, all peripheral PCIe devices supported by the server need to be enumerated. It can also be understood that when the server is first powered up, all peripheral PCIe devices supported by the server need to be enumerated.
It will be appreciated that the processor may enumerate all peripheral PCIe devices supported by the server upon determining that the read enumeration identification of peripheral PCIe devices is the second preset value. Alternatively, all peripheral PCIe devices supported by the server may be understood as all peripheral PCIe devices capable of being supported on the 256 PCIe sub-buses supported by the PCIe bus domain within the computer device.
Alternatively, enumerating all peripheral PCIe devices supported by the server may be understood as the process of detecting a peripheral PCIe device to which the host of the computer device is currently connected. Alternatively, the enumeration process may be implemented by: the method comprises the steps of obtaining configuration space addresses of all functions supported by all peripheral PCIe devices supported by a server, accessing the configuration space according to the configuration space addresses of all the functions supported by all the peripheral PCIe devices, determining in-place states of all the peripheral PCIe devices supported by the server according to whether the configuration space corresponding to all the peripheral PCIe devices is empty, and determining enumerated PCIe sub-buses corresponding to the peripheral PCIe devices and functions supported by the peripheral PCIe devices. Alternatively, the functions supported by the peripheral PCIe device may be understood as storage, processing, and other functions supported by the peripheral PCIe device.
It will also be appreciated that the above-described in-place status of the peripheral PCIe device may be either yes or no. The in-place state of the peripheral PCIe device is that the peripheral PCIe device is currently connected to a mainboard of the computer; a status of the peripheral PCIe device in place of "No" may indicate that the peripheral PCIe device is not currently connected to the motherboard of the computer.
The enumeration information of the peripheral PCIe device may include an in-place state of the peripheral PCIe device, an enumeration time of the peripheral PCIe device, an enumeration parameter of the peripheral PCIe device, a PCIe sub-bus corresponding to the peripheral PCIe device, and a function supported by the peripheral PCIe device.
S120, storing enumeration information of all peripheral PCIe devices into a variable memory, and modifying enumeration identifications of the peripheral PCIe devices corresponding to the last successful starting of the server in the variable memory into a first preset value.
Specifically, after the enumeration of all the peripheral PCIe devices supported by the server is completed, the processor may store enumeration information of all the peripheral PCIe devices in the variable memory, and modify an enumeration identifier of a current peripheral PCIe device in the variable memory to a first preset value, so as to use the enumeration information and the enumeration identifier of the peripheral PCIe device, which are stored in the variable memory and correspond to the last successful start-up of the server when the server is started up next time.
It should be noted that before the server is started for the first time, the enumeration identifier of the peripheral PCIe device stored in the variable memory may be null, which indicates that before the server is started for the second time, the variable memory does not store the value corresponding to the enumeration identifier of the peripheral PCIe device.
The device initialization method provided by the embodiment of the application can enumerate all peripheral PCIe devices supported by the server when the read enumeration identifier of the peripheral PCIe device is determined to be the second preset value, so as to obtain enumeration information of all the peripheral PCIe devices, store the enumeration information of all the peripheral PCIe devices into the variable memory, and modify the enumeration identifier of the corresponding peripheral PCIe device in the variable memory into the first preset value when the server is successfully started last time; the method can store the enumeration information and the enumeration identification of the peripheral PCIe equipment into the variable memory when the server is started for the first time, so that the peripheral PCIe equipment can be quickly initialized by calling the enumeration information and the enumeration identification which are stored in the variable memory and correspond to the server when the server is started successfully for the last time when the server is started for the subsequent time, the starting time of the server can be shortened, and the power consumption of the server in the starting process of the server can be further saved.
The process of initializing the enumerated peripheral PCIe devices after all the peripheral PCIe devices supported by the server are enumerated is described below. In an embodiment, the enumeration information includes initialization information of the peripheral PCIe device; as shown in fig. 6, after the step of enumerating all peripheral PCIe devices supported by the server in S110, the device initialization method may further include the following steps:
and S111, allocating resources to all enumerated peripheral PCIe devices.
In particular, all peripheral PCIe devices enumerated may be understood as all peripheral PCIe devices currently connected on the motherboard of the computer device.
It should be noted that the processor may allocate resources to all enumerated peripheral PCIe devices according to the fixed resources required by each peripheral PCIe device.
In this embodiment, the resource may include configuration information of a memory resource and configuration information of a register, and the memory resource and the register allocated by different peripheral PCIe devices are different. Optionally, the memory resource may be a memory resource and an IO resource.
The configuration information of the memory resource may include a type of the memory resource and a size of the memory resource. Alternatively, the configuration information of the register corresponding to the peripheral PCIe device may be understood as the configuration information of the register in the configuration space of each function supported by the peripheral PCIe device. Meanwhile, the processor may allocate a plurality of registers and configuration information of each register to each peripheral PCIe device according to the fixed configuration information of the register corresponding to each peripheral PCIe device.
S112, initializing the peripheral PCIe devices according to the resources distributed to the peripheral PCIe devices.
Specifically, the processor may directly initialize each peripheral PCIe device according to the resource allocated to each peripheral PCIe device. The information generated in the initialization process can be stored in the resource of each peripheral PCIe device; the information generated by the initialization process may include initialization parameters, initialization time, and/or initialization results, etc. for the peripheral PCIe device. Alternatively, the initialization result may be a result of successful initialization or failed initialization.
S113, according to the initialized peripheral PCIe devices, determining initialization information of the peripheral PCIe devices, and storing the initialization information into a variable memory.
It should be noted that the processor may determine the initialization information of each peripheral PCIe device according to each peripheral PCIe device after the initialization is successful. Alternatively, the initialization information may be initialization parameters and initialization time, etc. information of the peripheral PCIe device. However, in this embodiment of the present application, the initialization information may be configuration information of resources allocated to each peripheral PCIe device and configuration information of corresponding registers.
Further, the processor may determine initialization information of each peripheral PCIe device, an in-place state of each peripheral PCIe device, a PCIe sub-bus corresponding to each peripheral PCIe device, and all functions supported by each peripheral PCIe device as enumeration information of the peripheral PCIe device, and store the enumeration information of the peripheral PCIe device in the variable memory to be used when the server is started next time. It is understood that the drivers for different peripheral PCIe devices may be the same or different.
The device initialization method provided by the embodiment of the application can allocate resources to all enumerated peripheral PCIe devices, initialize the peripheral PCIe devices according to the allocated resources of the peripheral PCIe devices, determine initialization information of the peripheral PCIe devices according to the initialized peripheral PCIe devices, and further store the initialization information of the peripheral PCIe devices into the variable memory, so that the peripheral PCIe devices can be directly and quickly initialized by calling corresponding enumeration information stored in the variable memory when the server is started successfully at the last time, and therefore the processes that the server needs to enumerate and completely initialize all peripheral PCIe devices connected to a mainboard of the server when the server is started every time can be avoided, memory occupation of the server can be reduced to a certain extent, and the running speed of the server is further improved.
In order to facilitate understanding of those skilled in the art, the device initialization method provided in the present application is described by taking an execution subject as a processor as an example, and specifically, the method includes:
(1) Acquiring enumeration identification of peripheral PCIe devices in a variable memory; the variable memory is used for storing enumeration information and enumeration identification of the peripheral PCIe device generated when the server is successfully started last time.
(2) If the enumeration identifier is a first preset value, initializing information input equipment of the server; the information input device is to receive a re-enumeration request.
(3) And outputting hot key prompt information which comprises function information corresponding to a plurality of hot keys.
(4) Detecting whether a preset hot key in the information input equipment is triggered or not; the preset hot key is triggered by the user according to the hot key prompt message.
(5) If not, initializing the peripheral PCIe equipment according to enumeration information of the peripheral PCIe equipment in the variable memory.
(6) If yes, the enumeration identification of the peripheral PCIe devices stored in the variable memory is changed from the first preset value to the second preset value, and the enumeration information of the peripheral PCIe devices stored in the variable memory is cleared.
(7) And initializing the peripheral PCIe equipment according to enumeration information of the peripheral PCIe equipment in the variable memory.
(8) And if the enumeration identifier is the second preset value, allocating resources to all peripheral PCIe devices.
(9) And initializing the peripheral PCIe devices according to the resources distributed to the peripheral PCIe devices.
(10) And determining enumeration information of each peripheral PCIe device according to each initialized peripheral PCIe device, and storing the initialization information into a variable memory.
(11) And storing enumeration information of all peripheral PCIe devices into a variable memory, and modifying enumeration identifiers of the peripheral PCIe devices in the variable memory into a first preset value.
For the implementation processes of (1) to (11), reference may be specifically made to the description of the above embodiments, and the implementation principles and technical effects thereof are similar and are not described herein again.
It should be understood that although the various steps in the flow diagrams of fig. 2-6 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 2-6 may include multiple steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed in turn or alternately with other steps or at least some of the other steps.
In one embodiment, as shown in fig. 7, there is provided a device initialization apparatus, including: an enumeration identifier obtaining module 11 and a device initializing module 12, wherein:
an enumeration identifier obtaining module 11, configured to obtain enumeration identifiers of peripheral PCIe devices in the variable memory; the variable memory is used for storing enumeration information and enumeration identification of the peripheral PCIe equipment generated when the server is started up historically;
the device initialization module 12 is configured to initialize the peripheral PCIe device according to enumeration information of the peripheral PCIe device in the variable memory when the enumeration identifier is the first preset value.
The device initialization apparatus provided in this embodiment may perform the method embodiments described above, and the implementation principle and technical effects are similar, which are not described herein again.
In one embodiment, the device initialization apparatus further includes: the device comprises a request detection module, a reinitialization module and an enumeration information updating module, wherein:
a request detection module, configured to detect whether a re-enumeration request of a peripheral PCIe device is received;
the reinitialization module is used for initializing the peripheral PCIe equipment according to enumeration information of the corresponding peripheral PCIe equipment when the server in the variable memory is successfully started up last time when the detection result of the request detection module is negative;
and the enumeration information updating module is used for updating the enumeration information of the peripheral PCIe equipment corresponding to the last successful starting of the server in the variable memory when the detection result of the request detection module is positive.
The device initialization apparatus provided in this embodiment may perform the method embodiments described above, and the implementation principle and technical effects are similar, which are not described herein again.
In one embodiment, the enumeration information updating module is specifically configured to modify an enumeration identifier of the peripheral PCIe device corresponding to the last successful power-on of the server in the variable storage from a first preset value to a second preset value, and clear the enumeration information of the peripheral PCIe device corresponding to the last successful power-on of the server in the variable storage.
The device initialization apparatus provided in this embodiment may implement the method embodiments described above, and the implementation principle and the technical effect are similar, which are not described herein again.
In one embodiment, the device initialization apparatus further includes: an input device initialization module, wherein:
the input device initialization module is used for initializing the information input device of the server; the information input device is to receive a re-enumeration request.
The device initialization apparatus provided in this embodiment may implement the method embodiments described above, and the implementation principle and the technical effect are similar, which are not described herein again.
In one embodiment, the request detection module comprises: prompt information output unit, hotkey trigger detection unit, first confirm unit and second confirm unit, wherein:
the prompt information output unit is used for outputting hot key prompt information which comprises function information corresponding to a plurality of hot keys;
the hot key triggering detection unit is used for detecting whether a preset hot key in the information input equipment is triggered or not; the preset hot key is triggered according to the hot key prompt information by the user;
the first determining unit is used for determining that a re-enumeration request of the peripheral PCIe equipment is received when the detection result of the hot key trigger detecting unit is yes;
and the second determining unit is used for determining that the re-enumeration request of the peripheral PCIe equipment is not received when the detection result of the hot key trigger detecting unit is negative.
The device initialization apparatus provided in this embodiment may implement the method embodiments described above, and the implementation principle and the technical effect are similar, which are not described herein again.
In one embodiment, the device initialization apparatus further includes: an enumeration module and an information update module, wherein:
the enumeration module is used for enumerating all peripheral PCIe devices supported by the server when the enumeration identifier is a second preset value to obtain enumeration information of all the peripheral PCIe devices;
and the information updating module is used for storing enumeration information of all peripheral PCIe devices into the variable memory and modifying enumeration identifications of the peripheral PCIe devices corresponding to the last successful starting of the server in the variable memory into a first preset value.
The device initialization apparatus provided in this embodiment may implement the method embodiments described above, and the implementation principle and the technical effect are similar, which are not described herein again.
For the specific definition of the device initialization apparatus, reference may be made to the above definition of the device initialization method, which is not described herein again. The respective blocks in the above-described apparatus initialization apparatus may be wholly or partially implemented by software, hardware, and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a server, and the internal structure thereof can be shown in fig. 1. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operating system and the computer program to run on the non-volatile storage medium. The database of the computer device is used for storing the configuration information of the external device. The network interface of the computer device is used for communicating with an external endpoint through a network connection. The computer program is executed by a processor to implement a device initialization method.
Those skilled in the art will appreciate that the architecture shown in fig. 1 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided, comprising a memory and a processor, the memory having a computer program stored therein, the processor implementing the following steps when executing the computer program:
acquiring enumeration identifications of peripheral PCIe devices in a variable memory; the variable memory is used for storing enumeration information and enumeration identification of the peripheral PCIe equipment generated when the server is started historically;
if the enumeration identifier is the first preset value, initializing the peripheral PCIe devices according to enumeration information of the peripheral PCIe devices in the variable memory.
In one embodiment, a readable storage medium is provided, having stored thereon a computer program which, when executed by a processor, performs the steps of:
acquiring enumeration identifications of peripheral PCIe devices in a variable memory; the variable memory is used for storing enumeration information and enumeration identification of the peripheral PCIe equipment generated when the server is started historically;
if the enumeration identifier is the first preset value, initializing the peripheral PCIe devices according to enumeration information of the peripheral PCIe devices in the variable memory.
In one embodiment, a computer program product is provided, comprising a computer program which, when executed by a processor, performs the steps of:
acquiring enumeration identification of peripheral PCIe devices in a variable memory; the variable memory is used for storing enumeration information and enumeration identification of the peripheral PCIe equipment generated when the server is started up historically;
if the enumeration identifier is the first preset value, initializing the peripheral PCIe devices according to enumeration information of the peripheral PCIe devices in the variable memory.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database or other medium used in the embodiments provided herein can include at least one of non-volatile and volatile memory. Non-volatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical storage, or the like. Volatile Memory can include Random Access Memory (RAM) or external cache Memory. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM), among others.
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is specific and detailed, but not to be understood as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, and these are all within the scope of protection of the present application. Therefore, the protection scope of the present patent application shall be subject to the appended claims.

Claims (10)

1. A method for initializing a device, the method comprising:
acquiring enumeration identification of peripheral PCIe devices in a variable memory; the variable memory is used for storing enumeration information and enumeration identification of peripheral PCIe equipment generated when the server is started historically;
if the enumeration identifier is a first preset value, initializing the peripheral PCIe equipment according to enumeration information of the peripheral PCIe equipment in the variable memory.
2. The device initialization method of claim 1, wherein prior to the initialization of the peripheral PCIe device according to enumeration information of the peripheral PCIe device in the variable memory, the method further comprises:
detecting whether a re-enumeration request of a peripheral PCIe device is received;
if not, initializing the peripheral PCIe equipment according to enumeration information of the peripheral PCIe equipment corresponding to the last successful startup of the server in the variable memory;
if yes, updating enumeration information of the peripheral PCIe equipment corresponding to the last successful startup of the server in the variable storage.
3. The device initialization method according to claim 2, wherein the updating of the enumeration information of the peripheral PCIe device corresponding to the last successful boot of the server in the variable storage includes:
and modifying the enumeration identification of the peripheral PCIe equipment corresponding to the last successful start-up of the server in the variable memory from the first preset value to a second preset value, and clearing enumeration information of the peripheral PCIe equipment corresponding to the last successful start-up of the server in the variable memory.
4. The device initialization method of claim 2 or 3, wherein prior to detecting whether a re-enumeration request for a peripheral PCIe device is received, the method further comprises:
initializing an information input device of a server; the information input device is to receive the re-enumeration request.
5. The device initialization method of claim 4, wherein the detecting whether a re-enumeration request for a peripheral PCIe device is received comprises:
outputting hot key prompt information, wherein the hot key prompt information comprises function information corresponding to a plurality of hot keys;
detecting whether a preset hot key in the information input equipment is triggered or not; the preset hot key is triggered by the user according to the hot key prompt message;
if yes, determining to receive a re-enumeration request of the peripheral PCIe equipment;
if not, determining that the re-enumeration request of the peripheral PCIe equipment is not received.
6. The device initialization method according to any one of claims 1 to 3, wherein the method further comprises:
if the enumeration identifier is a second preset value, enumerating all peripheral PCIe devices supported by the server to obtain enumeration information of all peripheral PCIe devices;
and storing the enumeration information of all the peripheral PCIe devices into the variable memory, and modifying the enumeration identification of the peripheral PCIe devices corresponding to the last successful starting of the server in the variable memory into the first preset value.
7. An apparatus for initializing a device, the apparatus comprising:
an enumeration identifier obtaining module, configured to obtain enumeration identifiers of peripheral PCIe devices in the variable memory; the variable memory is used for storing enumeration information and enumeration identification of peripheral PCIe equipment generated when the server is started up historically;
and the equipment initialization module is used for initializing the peripheral PCIe equipment according to enumeration information of the peripheral PCIe equipment in the variable memory when the enumeration identifier is a first preset value.
8. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor, when executing the computer program, implements the steps of the device initialization method of any of claims 1-6.
9. A readable storage medium on which a computer program is stored which, when being executed by a processor, carries out the steps of the device initialization method according to any one of claims 1 to 6.
10. A program product comprising a computer program, characterized in that the computer program, when being executed by a processor, carries out the steps of the device initialization method of any one of claims 1 to 6.
CN202211007497.0A 2022-08-22 2022-08-22 Equipment initialization method and device, computer equipment and related products Pending CN115454904A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211007497.0A CN115454904A (en) 2022-08-22 2022-08-22 Equipment initialization method and device, computer equipment and related products

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211007497.0A CN115454904A (en) 2022-08-22 2022-08-22 Equipment initialization method and device, computer equipment and related products

Publications (1)

Publication Number Publication Date
CN115454904A true CN115454904A (en) 2022-12-09

Family

ID=84299129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211007497.0A Pending CN115454904A (en) 2022-08-22 2022-08-22 Equipment initialization method and device, computer equipment and related products

Country Status (1)

Country Link
CN (1) CN115454904A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116974636A (en) * 2023-08-03 2023-10-31 上海合芯数字科技有限公司 Multi-path interconnection system and bus interface initialization method and device thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116974636A (en) * 2023-08-03 2023-10-31 上海合芯数字科技有限公司 Multi-path interconnection system and bus interface initialization method and device thereof
CN116974636B (en) * 2023-08-03 2024-04-26 上海合芯数字科技有限公司 Multi-path interconnection system and bus interface initialization method and device thereof

Similar Documents

Publication Publication Date Title
US10019253B2 (en) Systems and methods of updating hot-pluggable devices
CN109478135B (en) Computer system and method for rebooting a computer system
USRE40092E1 (en) Method for quickly booting a computer system
JP5368947B2 (en) Method and system for enabling fast platform restart
KR102136906B1 (en) Layout and execution of operating systems using bpram
AU2013215466B2 (en) Method for reducing platform boot times by providing lazy input/output abstractions
CN109408122B (en) Equipment starting method, electronic equipment and computer storage medium
CN112437914A (en) System recovery method and device
US7984282B2 (en) Evasion of power on self test during an operating system initiated reboot
CN115454904A (en) Equipment initialization method and device, computer equipment and related products
KR100678974B1 (en) Apparatus and method for security and user comfortability in rebooting computer system
US11030047B2 (en) Information handling system and method to restore system firmware to a selected restore point
KR20060131296A (en) Computer system capable of supporting multi-operating systems and method for supporting multi-os in the same system
KR20130068630A (en) Method for initializing embedded device and apparatus thereof
TWI743480B (en) Computer system and a booting method for the same
US7577814B1 (en) Firmware memory management
WO2008048581A1 (en) A processing device operation initialization system
CN102455919A (en) Automatic optimization setting method for basic input output system(BIOS)
CN110321179B (en) Application program starting method, system, device and computer storage medium
KR100621613B1 (en) a computer system with security function
CN114579195B (en) Operating system restarting method, system and related components
CN113867753B (en) Firmware updating method and system of server
JPH03138753A (en) Boot loader for multiprocessor system
CN117827304A (en) Loading method and device of device executable firmware, storage medium and electronic device
CN114564240A (en) Server starting method, system, computer equipment and storage medium

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