Processing method and apparatus for baseboard management controller, and processing method and apparatus for basic input / output system
Through the PCIe path and shared memory space transfer setting options, the problem of slow Redfish transmission speed and the need to add USB network card hardware module is solved, achieving more efficient and secure setting option transmission.
Patent Information
- Application Number
- PCT/CN2024/115902
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-25
- Filing Date
- 2024-08-30
- Publication Date
- 2025-04-03
AI Technical Summary
When the substrate management controller uses the Setup option transmitted through Redfish, it is necessary to add a USB network card hardware module, and the transmission speed is slow.
Send settings options to the substrate management controller via the PCIe path, leveraging shared memory space storage and transfer settings options, avoiding additional hardware dependence and improving transmission speed.
It realizes that without adding hardware modules, the transmission speed of setting options is improved and the transmission process is more secure and reliable.
Smart Images

Figure CN2024115902_03042025_PF_FP_ABST
Abstract
Description
Baseboard management controller, basic input and output system processing method and device
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on September 25, 2023, with application number 202311244088.7 and application name “Baseboard management controller, basic input and output system processing method and device”, all contents of which are incorporated by reference into this application. Technical Field
[0003] The present application relates to the field of server technology, and in particular to a baseboard management controller and a processing method and device for a basic input and output system. Background Art
[0004] The Baseboard Management Controller (BMC) is a controller used to monitor and manage servers. The Basic Input / Output System (BIOS) provides the lowest-level, most direct hardware configuration and control for servers, as well as system parameters for the BMC, BIOS, and the operating system booted within the BIOS. System parameters are stored in the BIOS's Setup module and can be modified by the user as needed.
[0005] Existing technology typically uses the Redfish standard to connect a baseboard management controller (BMC) to a basic input / output system (BIOS) via a USB (Universal Serial Bus) network card to transmit setup options. The BMC then uses the setup options transmitted via Redfish to adjust the BMC. Using Redfish to transmit setup options requires the addition of a USB network card hardware module, and the transmission speed of setup options is relatively slow.
[0006] Summary of the Invention
[0007] The embodiments of the present application provide a processing method and device for a baseboard management controller and a basic input / output system to solve the problem that when the baseboard management controller uses the Setup options transmitted through Redfish to adjust the baseboard management controller, the use of Redfish to transmit the Setup options requires the addition of a USB network card hardware module and the speed of transmitting the Setup options is slow.
[0008] The present invention discloses a method for processing a baseboard management controller (BMC), which is applied to a server. The server includes a BMC, a basic input / output system (BIOS), and a shared memory space between the BMC and the BIOS. The BIOS also provides a setting interface. The BIOS and the BMC are connected via a PCIe (Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard). The setting interface is used to display setting options. The method includes:
[0009] In a case where the basic input / output system sends the first setting option to the baseboard management controller, before displaying the setting interface and / or after modifying the setting option through the setting interface, the basic input / output system collects the first setting option and stores the first setting option in the shared memory space;
[0010] The PCIe path sends the first setting option to the baseboard management controller;
[0011] The baseboard management controller adjusts the baseboard management controller based on the first setting option.
[0012] In some embodiments of the present application, the shared memory space includes a first area; collecting the first setting option and storing the first setting option in the shared memory space further includes:
[0013] The basic input and output system converts the collected first setting option into a first character string;
[0014] The basic input and output system calculates the length of the first character string based on the first character string, and determines whether the length of the first character string exceeds a preset length range;
[0015] If the length of the first character string does not exceed a preset length range, the basic input and output system uses the first character string as the second character string;
[0016] The basic input and output system stores the second character string in the first area.
[0017] In some embodiments of the present application, the first area further stores a first data field corresponding to the first character string; and the method further includes:
[0018] The basic input and output system calculates a first check value of the first character string based on the first character string;
[0019] The basic input and output system stores the length of the first character string and the first check value in the first data field.
[0020] In some embodiments of the present application, the method further comprises:
[0021] If the length of the first character string exceeds a preset length range, the basic input and output system compresses the first character string to obtain a compressed character string;
[0022] The basic input and output system stores information about whether the first character string is compressed in a first data field;
[0023] The basic input and output system calculates the length of the compressed string and determines whether the length of the compressed string exceeds a preset length range;
[0024] If the length of the compressed character string is within a preset length range, the basic input and output system uses the compressed character string as the second character string.
[0025] In some embodiments of the present application, the first data field further includes a first owner field; the first owner field is used to indicate the owner of the first area; and the step of storing the second character string in the first area further includes:
[0026] The BIOS reads the first owner field to get the owner of the first region:
[0027] If the owner of the first area is the basic input and output system, the basic input and output system stores the second character string in the first area.
[0028] In some embodiments of the present application, the method further comprises:
[0029] If the owner of the first area is the baseboard management controller, the basic input and output system suspends storing the second character string in the first area;
[0030] The basic input and output system reads the first owner field again to obtain the owner of the first area.
[0031] In some embodiments of the present application, the first data field further includes a first validity field; the first validity field is used to indicate whether the second string in the first area is valid; after storing the second string in the first area, the following further includes:
[0032] The basic input and output system indicates that the second character string in the first area is valid by modifying the first validity field.
[0033] In some embodiments of the present application, before the baseboard management controller adjusts the baseboard management controller based on the first setting option, the method further includes:
[0034] The baseboard management controller reads the first validity field to determine whether the second character string is valid;
[0035] If the second character string is valid, the baseboard management controller reads the first owner field to obtain the owner of the first area;
[0036] If the owner of the first area is a baseboard management controller, the baseboard management controller extracts a second character string;
[0037] The baseboard management controller parses the second character string to obtain a first setting option.
[0038] In some embodiments of the present application, extracting the second character string further includes:
[0039] The baseboard management controller reads the first data field to obtain the length of the first character string and information on whether the first character string is compressed;
[0040] The baseboard management controller determines whether the first character string exceeds a preset length range based on the length of the first character string;
[0041] If the length of the first character string exceeds a preset length range, the baseboard management controller determines whether the first character string is compressed based on the information of whether the first character string is compressed;
[0042] If the first character string is not compressed, the baseboard management controller ignores the second character string;
[0043] If the first character string is compressed, the baseboard management controller extracts the second character string.
[0044] In some embodiments of the present application, the step of parsing the second character string to obtain the first setting option further includes:
[0045] The baseboard management controller reads the first data field to obtain a first check value of the first character string;
[0046] The baseboard management controller calculates a second check value of the first character string based on the first character string;
[0047] The baseboard management controller compares the first check value and the second check value to determine whether the first check value and the second check value are the same;
[0048] If the first check value and the second check value are different, the baseboard management controller ignores the second character string;
[0049] If the first check value and the second check value are the same, the baseboard management controller parses the second character string to obtain the first setting option.
[0050] In some embodiments of the present application, the method further comprises:
[0051] If the owner of the first area is the basic input and output system, the baseboard management controller suspends extracting the second character string;
[0052] The baseboard management controller reads the first owner field again to obtain the owner of the first area.
[0053] The present application also discloses a method for processing a basic input / output system (BIOS), which is applied to a server. The server includes a baseboard management controller (BMC), a basic input / output system (BIOS), and a shared memory space between the BMC and the BIOS. The BIOS and the BMC are connected via a PCIe path. The BMC stores a preset second character string. The method includes:
[0054] When the baseboard management controller sends the second setting option to the basic input and output system, the baseboard management controller modifies the second character string to obtain a third character string corresponding to the second setting option;
[0055] The baseboard management controller stores the third character string in the shared memory space;
[0056] The PCIe lane sends the third string to the basic input and output system;
[0057] The basic input and output system parses the third character string to obtain the second setting option;
[0058] The BIOS adjusts the BIOS based on the second setting option.
[0059] In some embodiments of the present application, the shared memory area further includes a second area; the second area is used to store a third string; the second area further stores a second data field corresponding to the third string; the second data field includes a second owner field and a second validity field; the second owner field is used to indicate the owner of the second area, and the second validity field is used to indicate whether the third string in the second area is valid; the step of storing the third string in the shared memory space further includes:
[0060] The baseboard management controller reads the second owner field to obtain the owner of the second area;
[0061] If the owner of the second area is the baseboard management controller, the baseboard management controller stores the third character string in the second area;
[0062] The baseboard management controller indicates that the third character string is valid by modifying the second validity field.
[0063] In some embodiments of the present application, before the step of parsing the third character string to obtain the second setting option, the method further includes:
[0064] The basic input and output system reads the second validity field to determine whether the third character string is valid;
[0065] If the third character string is valid, the basic input and output system extracts the third character string;
[0066] The basic input and output system parses the third character string to obtain the second setting option.
[0067] In some embodiments of the present application, the shared memory area further includes a third area; and the step of adjusting the basic input and output system based on the second setting option further includes:
[0068] The basic input and output system determines whether the second setting option meets the preset format requirement;
[0069] If the second setting option meets the preset format requirement, the basic input and output system adjusts the basic input and output system based on the second setting option;
[0070] If the second setting option does not meet the preset format requirement, the basic input and output system converts the second setting option into a fourth character string and stores the fourth character string in the third area; wherein the fourth character string is used to determine whether the second setting option meets the preset format requirement.
[0071] In some embodiments of the present application, the method further comprises:
[0072] If the second setting option meets the preset format requirement, the server is restarted to adapt the server to the second setting option.
[0073] The present application also discloses another baseboard management controller processing method, which is applied to a server. The server includes a baseboard management controller, a basic input / output system (BIOS), and a shared memory space between the baseboard management controller and the BIOS. The BIOS and the baseboard management controller are connected via a PCIe path. The shared memory space stores a preset fourth character string. The method includes:
[0074] In a case where the basic input and output system sends the fourth character string to the baseboard management controller, the PCIe path sends the fourth character string to the baseboard management controller;
[0075] The baseboard management controller extracts the fourth character string and determines, based on the fourth character string, whether the second setting option corresponding to the fourth character string meets a preset format requirement.
[0076] The present application also discloses a processing device for a baseboard management controller, which is provided on a server. The server includes a baseboard management controller, a basic input / output system (BIOS), and a shared memory space between the baseboard management controller and the BIOS. The BIOS also provides a setting interface. The BIOS and the baseboard management controller are connected via a PCIe channel, and the setting interface is used to display setting options. The BIOS includes an acquisition module, the PCIe channel includes a first sending module, and the baseboard management controller includes a first adjustment module. The device includes:
[0077] a collection module configured to, when the basic input / output system sends the first setting option to the baseboard management controller, collect the first setting option by the basic input / output system before displaying the setting interface and / or after modifying the setting option through the setting interface, and store the first setting option in the shared memory space;
[0078] A first sending module, configured to enable the PCIe channel to send the first setting option to the baseboard management controller;
[0079] The first adjustment module is configured to enable the baseboard management controller to adjust the baseboard management controller based on a first setting option.
[0080] In some embodiments of the present application, the shared memory space includes a first area; and the acquisition module further includes:
[0081] A first conversion module, configured to enable the basic input and output system to convert the collected first setting option into a first character string;
[0082] a first calculation module, configured to enable the basic input and output system to calculate the length of the first character string based on the first character string, and to determine whether the length of the first character string exceeds a preset length range;
[0083] The first module is used to enable the basic input and output system to use the first character string as the second character string if the length of the first character string does not exceed a preset length range;
[0084] The first storage module is used to enable the basic input and output system to store the second character string in the first area.
[0085] In some embodiments of the present application, the first area further stores a first data field corresponding to the first character string; the basic input and output system includes a second computing module and a second storage module, and the device further includes:
[0086] a second calculation module, configured to enable the basic input and output system to calculate a first check value of the first character string based on the first character string;
[0087] The second storage module is configured to enable the basic input / output system to store the length of the first character string and the first check value in the first data field.
[0088] In some embodiments of the present application, the basic input and output system includes a compression module, a third storage module, a third calculation module, and a second operation module, and the device further includes:
[0089] a compression module, configured to compress the first character string using a basic input / output system to obtain a compressed character string if the length of the first character string exceeds a preset length range;
[0090] a third storage module, configured to enable the basic input and output system to store information on whether the first character string is compressed in the first data field;
[0091] a third calculation module, configured to enable the basic input / output system to calculate the length of the compressed string and determine whether the length of the compressed string exceeds a preset length range;
[0092] The second module is used for, if the length of the compressed character string is within a preset length range, allowing the basic input and output system to use the compressed character string as the second character string.
[0093] In some embodiments of the present application, the first data field further includes a first owner field; the first owner field is used to indicate the owner of the first area; and the first storage module further includes:
[0094] The first reading module is used to enable the basic input and output system to read the first owner field to obtain the owner of the first area:
[0095] The fourth storage module is configured to enable the basic input and output system to store the second character string in the first area if the owner of the first area is the basic input and output system.
[0096] In some embodiments of the present application, the basic input and output system includes a first pause module and a second read module, and the device further includes:
[0097] a first suspending module, which suspends the basic input and output system from storing the second character string in the first area if the owner of the first area is the baseboard management controller;
[0098] The second reading module is configured to enable the basic input and output system to read the first owner field again to obtain the owner of the first area.
[0099] In some embodiments of the present application, the first data field further includes a first validity field; the first validity field is used to indicate whether the second character string in the first region is valid; the basic input and output system includes a first modification module, and the device further includes:
[0100] The first modifying module is configured to enable the basic input and output system to indicate that the second character string in the first area is valid by modifying the first validity field.
[0101] In some embodiments of the present application, the baseboard management controller further includes a third reading module, a fourth reading module, a first extraction module, and a first parsing module, and the device further includes:
[0102] a third reading module, configured to enable the baseboard management controller to read the first validity field to determine whether the second character string is valid;
[0103] A fourth reading module, configured to enable the baseboard management controller to read the first owner field to obtain the owner of the first area if the second character string is valid;
[0104] a first extraction module, configured to enable the baseboard management controller to extract a second character string if the owner of the first area is the baseboard management controller;
[0105] The first parsing module is configured to enable the baseboard management controller to parse the second character string to obtain a first setting option.
[0106] In some embodiments of the present application, the first extraction module further includes:
[0107] The fifth reading module is used to enable the baseboard management controller to read the first data field to obtain the length of the first character string and information on whether the first character string is compressed;
[0108] A first judging module, configured to enable the baseboard management controller to judge whether the first character string exceeds a preset length range based on the length of the first character string;
[0109] a second determining module, configured to enable the baseboard management controller to determine whether the first character string is compressed based on the information of whether the first character string is compressed if the length of the first character string exceeds a preset length range;
[0110] A second ignoring module, configured to cause the baseboard management controller to ignore the second character string if the first character string is not compressed;
[0111] The second extraction module is configured to enable the baseboard management controller to extract a second character string if the first character string is compressed.
[0112] In some embodiments of the present application, the first parsing module further includes:
[0113] a fifth reading module, configured to enable the baseboard management controller to read the first data field to obtain a first check value of the first character string;
[0114] A fourth calculation module, configured to enable the baseboard management controller to calculate a second check value of the first character string based on the first character string;
[0115] a third judgment module, configured to enable the baseboard management controller to compare the first verification value and the second verification value to determine whether the first verification value and the second verification value are the same;
[0116] A second ignoring module, configured to cause the baseboard management controller to ignore the second character string if the first check value and the second check value are different;
[0117] The second parsing module is configured to enable the baseboard management controller to parse the second character string to obtain the first setting option if the first check value and the second check value are the same.
[0118] In some embodiments of the present application, the baseboard management controller further includes a second pause module and a sixth reading module, and the device further includes:
[0119] a second pausing module, configured to cause the baseboard management controller to suspend extracting the second character string if the owner of the first area is a basic input and output system;
[0120] The sixth reading module is configured to enable the baseboard management controller to read the first owner field again to obtain the owner of the first region.
[0121] The present application also discloses a basic input / output system processing device, which is applied to a server. The server includes a baseboard management controller (BMC), a basic input / output system (BMC), and a shared memory space between the BMC and the BMC. The BMC and the BMC are connected via a PCIe channel. The BMC stores a preset second character string. The BMC includes a third parsing module and a second adjustment module. The PCIe channel includes a second sending module. The BMC includes a second modification module and a fifth storage module. The device includes:
[0122] a second modifying module, configured to, when the baseboard management controller sends the second setting option to the basic input and output system, cause the baseboard management controller to modify the second character string to obtain a third character string corresponding to the second setting option;
[0123] a fifth storage module, configured to store the third character string in a shared memory space in the baseboard management controller;
[0124] A second sending module is used to send the third character string to the basic input and output system through the PCIe channel;
[0125] a third parsing module, configured to parse the third character string in the basic input / output system to obtain a second setting option;
[0126] The second adjustment module is configured to enable the basic input and output system to adjust the basic input and output system based on a second setting option.
[0127] In some embodiments of the present application, the shared memory area further includes a second area; the second area is used to store a third string; the second area further stores a second data field corresponding to the third string; the second data field includes a second owner field and a second validity field; the second owner field is used to indicate the owner of the second area, and the second validity field is used to indicate whether the third string in the second area is valid; the fifth storage module further includes:
[0128] a seventh reading module, configured to enable the baseboard management controller to read the second owner field to obtain the owner of the second region;
[0129] a sixth storage module, configured to cause the baseboard management controller to store the third character string in the second area if the owner of the second area is the baseboard management controller;
[0130] The third modifying module is configured to enable the baseboard management controller to indicate that the third character string is valid by modifying the second validity field.
[0131] In some embodiments of the present application, the basic input and output system further includes an eighth reading module, a third extraction module, and a fourth parsing module, and the device further includes:
[0132] an eighth reading module, configured to enable the basic input and output system to read the second validity field to determine whether the third character string is valid;
[0133] a third extraction module, configured to enable the basic input and output system to extract the third character string if the third character string is valid;
[0134] In some embodiments of the present application, the shared memory area further includes a third area; and the second adjustment module further includes:
[0135] a fourth determination module, configured to enable the basic input / output system to determine whether the second setting option meets a preset format requirement;
[0136] a third adjustment module, configured to enable the basic input and output system to adjust the basic input and output system based on the second setting option if the second setting option meets the preset format requirement;
[0137] The second conversion module is configured to cause the basic input / output system to convert the second setting option into a fourth character string if the second setting option does not meet the preset format requirement, and store the fourth character string in the third area; wherein the fourth character string is used to determine whether the second setting option meets the preset format requirement.
[0138] In some embodiments of the present application, the apparatus further comprises:
[0139] The restart module is configured to restart the server if the second setting option meets a preset format requirement, so as to adapt the server to the second setting option.
[0140] The present application also discloses a processing device for a baseboard management controller, which is applied to a server. The server includes a baseboard management controller, a basic input / output system (BIOS), and a shared memory space between the baseboard management controller and the BIOS. The BIOS and the baseboard management controller are connected via a PCIe path. The shared memory space stores a preset fourth character string. The PCIe path includes a third sending module, and the baseboard management controller includes a fourth extraction module. The device includes:
[0141] a third sending module, configured to, when the basic input and output system sends the fourth character string to the baseboard management controller, cause the PCIe channel to send the fourth character string to the baseboard management controller;
[0142] The fourth extraction module is configured to enable the baseboard management controller to extract a fourth character string and determine, based on the fourth character string, whether a second setting option corresponding to the fourth character string meets a preset format requirement.
[0143] The embodiment of the present application further discloses an electronic device, comprising a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;
[0144] Memory for storing computer programs;
[0145] The processor is used to implement the method of the embodiment of the present application when executing the program stored in the memory.
[0146] The embodiments of the present application also disclose one or more non-volatile readable storage media having instructions stored thereon, which, when executed by one or more processors, enable the processors to execute the method of the embodiments of the present application.
[0147] The embodiments of the present application include the following advantages:
[0148] The present application provides a method and device for processing a baseboard management controller and a basic input / output system, which are applied to a server. The server includes a baseboard management controller, a basic input / output system, and a shared memory space between the baseboard management controller and the basic input / output system; the basic input / output system also provides a setting interface; the basic input / output system is connected to the baseboard management controller via a PCIe path, and the setting interface is used to display setting options; when the basic input / output system sends a setting option to the baseboard management controller, before displaying the setting interface and / or after modifying the setting option through the setting interface, the basic input / output system collects a first setting option and stores the first setting option in the shared memory space; the PCIe path sends the first setting option to the baseboard management controller; the baseboard management controller adjusts the baseboard management controller based on the first setting option. The present application transmits the setting option via the PCIe path, does not require the addition of hardware modules, and improves the transmission speed of the setting option, and the process of transmitting the setting option is more secure and reliable. BRIEF DESCRIPTION OF THE DRAWINGS
[0149] FIG1 is a flowchart of a processing method of a baseboard management controller provided in an embodiment of the present application;
[0150] FIG2 is a flowchart of a basic input / output system processing method provided in an embodiment of the present application;
[0151] FIG3 is a flowchart of another processing method of a baseboard management controller provided in an embodiment of the present application;
[0152] FIG4 is a structural block diagram of a processing device of a baseboard management controller provided in an embodiment of the present application;
[0153] FIG5 is a structural block diagram of a processing device of a basic input / output system provided in an embodiment of the present application;
[0154] FIG6 is a structural block diagram of a processing device of another baseboard management controller provided in an embodiment of the present application;
[0155] FIG7 is a schematic diagram of a setting interface provided in an embodiment of the present application;
[0156] FIG8 is a schematic diagram of a first data field provided in an embodiment of the present application;
[0157] FIG9 is a schematic diagram of the format of a second character string provided in an embodiment of the present application;
[0158] FIG10 is a schematic diagram of the format of a fourth character string provided in an embodiment of the present application;
[0159] 11 is a schematic diagram of a process of sending a first setting option from a basic input / output system to a baseboard management controller according to an embodiment of the present application;
[0160] 12 is a schematic diagram of a flow chart of a baseboard management controller receiving a first setting option sent by a basic input and output system according to an embodiment of the present application;
[0161] 13 is a schematic diagram of a flow chart of a baseboard management controller sending a second setting option to a basic input and output system according to an embodiment of the present application;
[0162] 14 is a schematic diagram of a flow chart of a basic input / output system processing a second setting option according to an embodiment of the present application;
[0163] FIG15 is a block diagram of an electronic device provided in an embodiment of the present application;
[0164] FIG16 is a schematic diagram of a non-volatile readable storage medium provided in an embodiment of the present application. DETAILED DESCRIPTION
[0165] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0166] To facilitate understanding of the technical solutions and technical effects of the embodiments of the present application, the prior art of the present application will be briefly described below.
[0167] The baseboard management controller is a controller used to monitor and manage the server, and the basic input and output system is used to provide the lowest-level and most direct hardware settings and control for the server, as well as provide some system parameters for the baseboard management controller, the basic input and output system, and the operating system booted in the basic input and output system. Among them, the system parameters are stored in the setting module of the basic input and output system, and the user can modify the system parameters according to actual needs. The existing technology generally uses Redfish to connect the baseboard management controller and the basic input and output system through a USB network card to transmit setting options. The data volume of the setting options is large, at more than 100KB (Kilobyte). Redfish is a management standard based on HTTPs (Hypertext Transfer Protocol Secure, a secure version of the HTTP protocol) service. Using Redfish to transmit setting options requires adding a USB network card hardware module, and the speed of transmitting setting options is slow.
[0168] 1 , a flowchart of a processing method for a baseboard management controller provided in an embodiment of the present application is shown. The method is applied to a server, and the server includes a baseboard management controller, a basic input / output system (BIOS), and a shared memory space between the baseboard management controller and the BIOS. The BIOS also provides a setting interface. The BIOS and the baseboard management controller are connected via a PCIe path, and the setting interface is used to display setting options. Specifically, the method may include the following steps:
[0169] Step 101: When a basic input / output system sends a first setting option to a baseboard management controller, the basic input / output system collects the first setting option before displaying a setting interface and / or after modifying the setting option through the setting interface, and stores the first setting option in a shared memory space.
[0170] In an embodiment of the present application, a server includes a baseboard management controller, a basic input / output system (BIOS), and a shared memory space. The BIOS also provides a settings interface that displays setting options. A user can view the setting options through the settings interface and modify the setting options as needed to modify the system parameters corresponding to the setting options. The setting options include a setting option name and a corresponding setting option value. Different setting options have different formatting requirements, such as the setting option name and yes / no, the setting option name and a number from 1 to 10, etc.
[0171] The baseboard management controller (BMC) and the basic input / output system (BIOS) are connected via a PCIe (PCIe) link. The BIOS runs in a server host, while the BMC is a terminal device in the PCIe link, operating independently of the server host. PCIe is a high-speed serial computer expansion bus standard. The BMC sends a command to the BIOS to request address space. The BIOS requests a first address space from the server host via a base address register in the PCIe configuration space within the BIOS. The BMC also has a second address space corresponding to the first address space. Together, the first and second address spaces constitute a shared memory space between the BMC and the BIOS.
[0172] The BIOS settings module stores a large number of BMC system parameters. Users can modify settings to adjust system parameters as needed. When the BIOS needs to send settings to the BMC, before the BIOS enters the settings interface and / or after the user modifies settings to modify system parameters as needed, the BIOS collects all settings as a first set of settings and stores them in the shared memory space.
[0173] Step 102: The PCIe channel sends the first setting option to the baseboard management controller;
[0174] In the embodiment of the present application, the PCIe bus hardware sends the first configuration option stored in the shared memory space to the baseboard management controller.
[0175] Step 103 : The baseboard management controller adjusts the baseboard management controller based on the first setting option.
[0176] After receiving the first setting option, the baseboard management controller analyzes the first setting option, finds the first setting option related to the baseboard management controller, and adjusts the baseboard management controller based on the system parameters corresponding to the first setting option related to the baseboard management controller. The baseboard management controller also saves the received first setting option in a file named current_setting.json.
[0177] In an embodiment of the present application, a server includes a baseboard management controller (BMC), a basic input / output system (BIOS), and a shared memory space between the BMC and the BIOS; the BIOS and the BMC are connected via a PCIe path; the BIOS also provides a setting interface for displaying setting options; when the BIOS sends a first setting option to the BMC, before the server displays the setting interface and / or after the setting option is modified via the setting interface, the BIOS collects the first setting option and stores the first setting option in the shared memory space; the PCIe path sends the first setting option to the BMC; and the BMC adjusts the BMC based on the first setting option. The present application transmits setting options via the PCIe path, does not require additional hardware modules, increases the transmission speed of the setting options, and makes the transmission process of the setting options more secure and reliable.
[0178] Furthermore, in some embodiments of the present application described above, the shared memory space includes a first area; and step 101 further includes:
[0179] In sub-step S21 , the basic input / output system converts the collected first setting option into a first character string.
[0180] In sub-step S22, the basic input and output system calculates the length of the first character string based on the first character string, and determines whether the length of the first character string exceeds a preset length range;
[0181] Sub-step S23 , if the length of the first character string does not exceed a preset length range, the BIOS uses the first character string as the second character string;
[0182] In sub-step S24 , the BIOS stores the second character string in the first area.
[0183] In the embodiment of the present application, the shared memory area includes a first area, also called a current setting area, which is used to store setting options sent by the basic input and output system to the baseboard management controller.
[0184] The basic input and output system converts the collected first setting option into a first string in Json format and calculates the length of the first string. Based on the length of the first string, the basic input and output system determines whether the first string exceeds a preset length range, that is, the length range of the first area in the shared memory space. If the first string is within the preset length range, the basic input and output system uses the first string as the second string. The basic input and output system stores the second string in the first area. The embodiment of the present application stores the first string within the preset length range in the first area, ensuring that the first string can be successfully stored in the first area and smoothly sent to the baseboard management controller.
[0185] Furthermore, in some embodiments of the present application described above, the first area further stores a first data field corresponding to the first character string; and the method further includes:
[0186] The basic input and output system calculates a first check value of the first character string based on the first character string;
[0187] The basic input and output system stores the length of the first character string and the first check value in the first data field.
[0188] In an embodiment of the present application, the first area also stores a first data field corresponding to the first string, i.e., a data header of the first area. The basic input / output system converts the collected first setting option into a first string in JSON format and calculates a first checksum value for the first string. The basic input / output system also stores the length of the first string and the first checksum value in the first data field, so that the baseboard management controller can determine whether the first string corresponding to the first setting option is correct when receiving the first setting option.
[0189] Furthermore, in some embodiments of the present application described above, the method further includes:
[0190] If the length of the first character string exceeds a preset length range, the basic input and output system compresses the first character string to obtain a compressed character string;
[0191] The basic input and output system stores information about whether the first character string is compressed in a first data field;
[0192] The basic input and output system calculates the length of the compressed string and determines whether the length of the compressed string exceeds a preset length range;
[0193] If the length of the compressed character string is within a preset length range, the basic input and output system uses the compressed character string as the second character string.
[0194] In an embodiment of the present application, the basic input / output system determines whether the first string exceeds a preset length range based on the length of the first string, that is, the length range of the first area in the shared memory space. If the length of the first string exceeds the preset length range, the first string is compressed to obtain a compressed string. The basic input / output system again determines whether the length of the compressed string exceeds the preset length range. If the length of the compressed string still exceeds the preset length range, the basic input / output system exits the process of sending the first setting option to the baseboard management controller and sends an error message to the basic input / output system. If the length of the compressed string is within the preset length range, the basic input / output system uses the compressed string as the second string. The basic input / output system stores the second string in the first area. The embodiment of the present application stores the compressed string within the preset length range in the first area, ensuring that the compressed string can be smoothly stored in the first area and smoothly sent to the baseboard management controller.
[0195] Furthermore, in some embodiments of the present application described above, the first data field further includes a first owner field; the first owner field is used to indicate the owner of the first area; and the step of storing the second character string in the first area further includes:
[0196] The BIOS reads the first owner field to get the owner of the first region:
[0197] If the owner of the first area is the basic input and output system, the basic input and output system stores the second character string in the first area.
[0198] In this embodiment of the present application, the first data field also includes a first owner field, which indicates the owner of the first area. Before the BIOS stores the second string in the first area, the BIOS reads the first owner field to obtain the owner of the first area. If the owner of the first area is the BIOS or the first area is unused, the BIOS stores the second string in the first area, ensuring a smooth storage process.
[0199] Furthermore, in some embodiments of the present application described above, the method further includes:
[0200] If the owner of the first area is the baseboard management controller, the basic input and output system suspends storing the second character string in the first area;
[0201] The basic input and output system reads the first owner field again to obtain the owner of the first area.
[0202] In an embodiment of the present application, the first data field also includes a first owner field, and the first owner field indicates the owner of the first area. Before the basic input and output system stores the second character string in the first area, the basic input and output system reads the first owner field to obtain the owner of the first area. If the owner of the first area is the baseboard management controller, the basic input and output system pauses storing the second character string in the first area, sleeps for two seconds, reads the first owner field again, and determines the owner of the first area until the owner of the first area is the basic input and output system or the first area is not in use, and the basic input and output system stores the second character string in the first area. If the owner of the first area is the baseboard management controller after 3 retries, the basic input and output system exits the process of sending the first setting option to the baseboard management controller and sends an error message to the basic input and output system.
[0203] Furthermore, in some embodiments of the present application described above, the first data field further includes a first validity field; the first validity field is used to indicate whether the second character string in the first area is valid; and after storing the second character string in the first area, the following steps are further included:
[0204] The basic input and output system indicates that the second character string in the first area is valid by modifying the first validity field.
[0205] In an embodiment of the present application, the first data field also includes a first validity field, which can indicate whether the second string is valid. After the BIOS stores the second string in the first area, the BIOS modifies the first validity field to 1, indicating that the second string is valid. This facilitates the baseboard management controller to determine whether the second string corresponding to the first setting option is valid when receiving the first setting option.
[0206] The BIOS will also modify the first owner field to release the BIOS from use.
[0207] Furthermore, in some embodiments of the present application described above, before step 103, the following steps are further included:
[0208] The baseboard management controller reads the first validity field to determine whether the second character string is valid;
[0209] If the second character string is valid, the baseboard management controller reads the first owner field to determine the owner of the first area;
[0210] If the owner of the first area is a baseboard management controller, the baseboard management controller extracts a second character string;
[0211] The baseboard management controller parses the second character string to obtain a first setting option.
[0212] In an embodiment of the present application, when the baseboard management controller receives the first setting option, it first reads the first validity field. If the first validity field is 0, indicating that the second string is invalid, the baseboard management controller exits the process of receiving the first setting option. If the first validity field is 1, indicating that the second string is valid, the baseboard management controller reads the first owner field to obtain the owner of the first area. If the owner of the first area is the baseboard management controller or the first area is not used, the first owner field is modified to indicate that the owner of the first area is the baseboard management controller, and the second string is extracted. After extracting the second string, the baseboard management controller modifies the first validity field to 0 and modifies the first owner field to release the use of the baseboard management controller. The baseboard management controller parses the second string to obtain the first setting option corresponding to the second string.
[0213] Furthermore, in some embodiments of the present application described above, extracting the second character string further includes:
[0214] The baseboard management controller reads the first data field to obtain the length of the first character string and information on whether the first character string is compressed;
[0215] The baseboard management controller determines whether the first character string exceeds a preset length range based on the length of the first character string;
[0216] If the length of the first character string exceeds a preset length range, the baseboard management controller determines whether the first character string is compressed based on the information of whether the first character string is compressed;
[0217] If the first character string is not compressed, the baseboard management controller ignores the second character string;
[0218] If the first character string is compressed, the baseboard management controller extracts the second character string.
[0219] In an embodiment of the present application, when the baseboard management controller receives the first setting option, the baseboard management controller reads the first data field to obtain the length of the first character string and information on whether the first character string is compressed. If the length of the first character string exceeds the preset length range and the first character string is not compressed, there is a problem with the second character string, and the baseboard management controller no longer extracts the second character string. If the length of the first character string exceeds the preset length range and the first character string is compressed, the baseboard management controller extracts the second character string and decompresses the second character string. If the first character string does not exceed the preset length range, the second character string is directly extracted, ensuring that the second character string extracted by the baseboard management controller is correct, and the baseboard management controller adjusts the baseboard management controller smoothly based on the first setting option.
[0220] Furthermore, in some embodiments of the present application described above, the step of parsing the second character string to obtain the first setting option further includes:
[0221] The baseboard management controller reads the first data field to obtain a first check value of the first character string;
[0222] The baseboard management controller calculates a second check value of the first character string based on the first character string;
[0223] The baseboard management controller compares the first check value and the second check value to determine whether the first check value and the second check value are the same;
[0224] If the first check value and the second check value are different, the baseboard management controller ignores the second character string;
[0225] If the first check value and the second check value are the same, the baseboard management controller parses the second character string to obtain the first setting option.
[0226] In an embodiment of the present application, when the baseboard management controller receives the first setting option, the baseboard management controller reads the first data field, obtains the first check value of the first string, and calculates the second check value of the first string. The baseboard management controller determines whether the first check value and the second check value are the same; if the first check value and the second check value are not the same, there is a problem with the second string, and the baseboard management controller ignores the second string; if the first check value and the second check value are the same, the baseboard management controller parses the second string to obtain the first setting option. The baseboard management controller finds the first setting option related to the baseboard management controller and calls the relevant functional module in the baseboard management controller to adjust the baseboard management controller according to the system parameters corresponding to the first setting option related to the baseboard management controller. The baseboard management controller also saves the second string in current_setting.json.
[0227] Furthermore, in some embodiments of the present application described above, the method further includes:
[0228] If the owner of the first area is the basic input and output system, the baseboard management controller suspends extracting the second character string;
[0229] The baseboard management controller reads the first owner field again to obtain the owner of the first area.
[0230] In this embodiment of the present application, if the owner of the first area is the BIOS, the baseboard management controller pauses extracting the second string, sleeps for two seconds, and then reads the first owner field again to determine the owner of the first area. The baseboard management controller extracts the second string until the owner of the first area is the baseboard management controller or the first area is unused. If the owner of the first area is the BIOS after three retries, the baseboard management controller exits the process of extracting the second string.
[0231] 2 shows a method for processing a basic input / output system provided in an embodiment of the present application, which is applied to a server. The server includes a baseboard management controller (BMC), a basic input / output system (BIO), and a shared memory space between the BMC and the BIO. The BMC and the BMC are connected via a PCIe path. The BMC stores a preset second character string. The method may specifically include the following steps:
[0232] Step 201: When the baseboard management controller sends a second setting option to the basic input and output system, the baseboard management controller modifies the second character string to obtain a third character string corresponding to the second setting option.
[0233] In an embodiment of the present application, the server includes a baseboard management controller and a basic input / output system. The disk of the baseboard management controller stores a second string corresponding to the first setting option sent by the basic input / output system, and the second string is stored in the current_setting.json file. The baseboard management controller can modify the first setting option received from the basic input / output system, and use the modified first setting option as the second setting option, and send the second setting option to the basic input / output system. When the baseboard management controller sends the second setting option to the basic input / output system, the baseboard management controller modifies the user-specified content in the current_setting.json file, that is, the user-specified modified content in the second string, and obtains the future_setting.json file. The future_setting.json file stores a third string corresponding to the second setting option.
[0234] Step 202: The baseboard management controller stores the third character string in the shared memory space;
[0235] In the embodiment of the present application, the server further includes a shared memory space, and the baseboard management controller can store the third character string in the shared memory space.
[0236] Step 203: The PCIe channel sends the third character string to the basic input and output system;
[0237] In the embodiment of the present application, the PCIe bus hardware may send the third character string stored in the shared memory space to the basic input and output system.
[0238] Step 204: The basic input / output system parses the third character string to obtain a second setting option;
[0239] In an embodiment of the present application, the basic input / output system can receive the third character string and parse the third character string to obtain a data linked list consisting of multiple nodes, each node consisting of a parameter name and a parameter value corresponding to the second setting option.
[0240] In step 205 , the BIOS adjusts the BIOS based on the second setting option.
[0241] The baseboard management controller may adjust the baseboard management controller based on the system parameter corresponding to the second setting option.
[0242] Furthermore, in some embodiments of the present application described above, the shared memory area further includes a second area; the second area is used to store a third string; the second area further stores a second data field corresponding to the third string; the second data field includes a second owner field and a second validity field; the second owner field is used to indicate the owner of the second area, and the second validity field is used to indicate whether the third string in the second area is valid; step 202 further includes:
[0243] Sub-step S31, the baseboard management controller reads the second owner field to obtain the owner of the second area;
[0244] Sub-step S32 , if the owner of the second area is the baseboard management controller, the baseboard management controller stores the third character string in the second area;
[0245] In sub-step S33 , the baseboard management controller modifies the second validity field to indicate that the third character string is valid.
[0246] In an embodiment of the present application, the shared memory area includes a second area, also known as a modification setting area, for storing setting options sent by the baseboard management controller to the basic input / output system, namely, a third string. The second area also stores a second data field corresponding to the third string; the second data field includes a second owner field and a second validity field; the second owner field indicates the owner of the second area, and the second validity field indicates whether the third string is valid.
[0247] When the baseboard management controller sends the third character string to the basic input / output system, the baseboard management controller checks whether the third character string meets a preset format requirement. The setting option includes the name of the setting option and the value corresponding to the setting option. Different setting options have different format requirements, such as the name of the setting option and yes / no, the name of the setting option and a number between 1 and 10, etc.
[0248] The baseboard management controller also includes a screen. If the third character string does not meet format requirements, an error message is displayed on the baseboard management controller screen and the process of sending the third character string to the basic input and output system is terminated. If the third character string does not meet format requirements, the baseboard management controller calculates the length of the third character string and a third check value.
[0249] When the baseboard management controller sends the third string to the basic input / output system (BIOS), the baseboard management controller needs to store the third string in the second area. Before storing the third string in the second area, the baseboard management controller reads the second owner field to obtain the owner of the second area. If the owner of the second area is the baseboard management controller or the second area is unused, the baseboard management controller modifies the second owner field to indicate that the owner of the second area is the baseboard management controller, and stores the third string in the second area. After storing the third string in the second area, the baseboard management controller modifies the second validity field to 1 and modifies the second owner field to release the baseboard management controller from use.
[0250] If the BIOS is the owner of the second area, the BIOS pauses storing the third string in the second area, sleeps for two seconds, and then reads the second owner field again to determine the owner of the second area. The BMC stores the third string in the second area until the BMC becomes the owner of the second area or the second area is unused. If the BIOS is the owner of the second area after three retries, the BMC exits the process of sending the second setting option to the BIOS.
[0251] Furthermore, in some embodiments of the present application described above, before step 204, the method further includes:
[0252] The basic input and output system reads the second validity field to determine whether the third character string is valid;
[0253] If the third character string is valid, the basic input and output system extracts the third character string;
[0254] In an embodiment of the present application, the BIOS cyclically checks the second validity field in the modified setting area, i.e., the second area. When the second validity field becomes 1, the BIOS reads the second owner field to obtain the owner of the second area. If the owner of the second area is the BIOS or the second area is unused, the second owner field is modified to indicate that the owner of the second area is the BIOS, and a third string is extracted. After extracting the third string, the BIOS modifies the second validity field to 0 and modifies the second owner field to release the BIOS from use. The BIOS parses the third string to obtain a data linked list consisting of multiple nodes, each of which consists of a parameter name and parameter value corresponding to the second setting option.
[0255] Furthermore, in some embodiments of the present application described above, the shared memory area further includes a third area; and step 205 further includes:
[0256] Sub-step S31, the basic input and output system determines whether the second setting option meets the preset format requirement;
[0257] Sub-step S32, if the second setting option meets the preset format requirement, the BIOS adjusts the BIOS based on the second setting option;
[0258] In sub-step S33, if the second setting option does not meet the preset format requirement, the basic input and output system converts the second setting option into a fourth character string and stores the fourth character string in the third area; wherein the fourth character string is used to determine whether the second setting option meets the preset format requirement.
[0259] In an embodiment of the present application, the basic input / output system parses the third string to obtain a data linked list consisting of multiple nodes, each node consisting of a parameter name and a parameter value corresponding to the second setting option. The basic input / output system verifies the parameter name and parameter value of each node, and if they meet the format requirements of the setting options, they are placed in a designated location of the non-volatile storage medium. The next time the basic input / output system is started, the basic input / output system can read the parameter name and parameter value corresponding to the second setting option that meets the requirements from the non-volatile storage medium to guide the operation of the basic input / output system. If the format requirements of the setting options are not met, the parameter name and parameter value corresponding to the second setting option that does not meet the requirements and the reason for the non-compliance are converted into a fourth string, and the fourth string is placed in an error list.
[0260] In an embodiment of the present application, the shared memory space also includes a third area. When the basic input / output system sends the fourth character string to the baseboard management controller, the basic input / output system needs to store the fourth character string in the third area, that is, the setting result area. Before the basic input / output system stores the fourth character string in the third area, the basic input / output system reads the owner field of the third area to obtain the owner of the third area. If the owner of the third area is the basic input / output system or the third area is not used, the owner field of the third area is modified to indicate that the owner of the third area is the basic input / output system, and the fourth character string is stored in the third area. After the basic input / output system stores the fourth character string in the third area, the validity field of the third area is modified to 1, and the owner field of the third area is modified to release the basic input / output system from use.
[0261] Furthermore, in some embodiments of the present application described above, the method further includes:
[0262] If the second setting option meets the format requirement of the setting option, the server is restarted to adapt the server to the second setting option.
[0263] In an embodiment of the present application, if the second setting option meets the format requirements of the setting option, since the system parameters corresponding to the second setting option may be different from the running system parameters, the server needs to be restarted to adapt the system parameters corresponding to the second setting option.
[0264] 3 , a processing method for a baseboard management controller provided in an embodiment of the present application is shown, which is applied to a server. The server includes a baseboard management controller, a basic input / output system (BIOS), and a shared memory space between the baseboard management controller and the BIOS. The BIOS and the baseboard management controller are connected via a PCIe path. The shared memory space stores a preset fourth character string. The specific steps are as follows:
[0265] Step 301 , when the basic input / output system sends a fourth character string to the baseboard management controller, the PCIe channel sends the fourth character string to the baseboard management controller;
[0266] Step 302 : The baseboard management controller extracts a fourth character string and determines, based on the fourth character string, whether a second setting option corresponding to the fourth character string meets a preset format requirement.
[0267] In an embodiment of the present application, a server includes a baseboard management controller (BMC), a basic input / output system (BIOS), and a shared memory space. The BMC and BIOS are connected via a PCIe (PCIe) link. The shared memory space includes a third area, which also stores a fourth string. The PCIe link can transmit the fourth string to the BMC. The BMC loops through the validity field in the third area. When the validity field changes to 1, the BMC reads the owner field in the third area to determine the owner of the third area. If the owner of the third area is the BMC or the third area is unused, the BMC modifies the owner field in the third area to indicate that the owner is the BMC and extracts the fourth string. After extracting the fourth string, the BMC modifies the validity field in the third area to 0 and modifies the owner field in the third area to remove the BMC from use. The BMC parses the fourth string. If the fourth string indicates a problem with a second setting option, the BMC displays the name of the parameter with the setting error and the cause of the error on the BMC screen. If the second setting option is correct, the BMC displays a successful setting to the user and saves the fourth string to a file named setting_result.json.
[0268] It should be noted that for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present application are not limited by the order of the actions described, because according to the embodiments of the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present application.
[0269] 4 , a block diagram of a processing device of a baseboard management controller provided in an embodiment of the present application is shown, which may specifically include the following modules:
[0270] The acquisition module 401 is configured to, when the basic input / output system sends the first setting option to the baseboard management controller, before the setting interface is displayed and / or after the setting option is modified through the setting interface, cause the basic input / output system to acquire the first setting option and store the first setting option in the shared memory space;
[0271] A first sending module 402 is configured to enable the PCIe channel to send the first setting option to the baseboard management controller;
[0272] The first adjustment module 403 is configured to enable the baseboard management controller to adjust the baseboard management controller based on the first setting option.
[0273] In some embodiments of the present application, the shared memory space includes a first area; and the acquisition module further includes:
[0274] A first conversion module, configured to enable the basic input and output system to convert the collected first setting option into a first character string;
[0275] a first calculation module, configured to enable the basic input and output system to calculate the length of the first character string based on the first character string, and to determine whether the length of the first character string exceeds a preset length range;
[0276] The first module is used to enable the basic input and output system to use the first character string as the second character string if the length of the first character string does not exceed a preset length range;
[0277] The first storage module is used to enable the basic input and output system to store the second character string in the first area.
[0278] In some embodiments of the present application, the first area further stores a first data field corresponding to the first character string; the basic input and output system includes a second computing module and a second storage module, and the device further includes:
[0279] a second calculation module, configured to enable the basic input and output system to calculate a first check value of the first character string based on the first character string;
[0280] The second storage module is configured to enable the basic input / output system to store the length of the first character string and the first check value in the first data field.
[0281] In some embodiments of the present application, the basic input and output system includes a compression module, a third storage module, a third calculation module, and a second operation module, and the device further includes:
[0282] a compression module, configured to compress the first character string using a basic input / output system to obtain a compressed character string if the length of the first character string exceeds a preset length range;
[0283] a third storage module, configured to enable the basic input and output system to store information on whether the first character string is compressed in the first data field;
[0284] a third calculation module, configured to enable the basic input / output system to calculate the length of the compressed string and determine whether the length of the compressed string exceeds a preset length range;
[0285] The second module is used for, if the length of the compressed character string is within a preset length range, allowing the basic input and output system to use the compressed character string as the second character string.
[0286] In some embodiments of the present application, the first data field further includes a first owner field; the first owner field is used to indicate the owner of the first area; and the first storage module further includes:
[0287] The first reading module is used to enable the basic input and output system to read the first owner field to obtain the owner of the first area:
[0288] The fourth storage module is configured to enable the basic input and output system to store the second character string in the first area if the owner of the first area is the basic input and output system.
[0289] In some embodiments of the present application, the basic input and output system includes a first pause module and a second read module, and the device further includes:
[0290] a first suspending module, which suspends the basic input and output system from storing the second character string in the first area if the owner of the first area is the baseboard management controller;
[0291] The second reading module is configured to enable the basic input and output system to read the first owner field again to obtain the owner of the first area.
[0292] In some embodiments of the present application, the first data field further includes a first validity field; the first validity field is used to indicate whether the second character string in the first region is valid; the basic input and output system includes a first modification module, and the device further includes:
[0293] The first modifying module is configured to enable the basic input and output system to indicate that the second character string in the first area is valid by modifying the first validity field.
[0294] In some embodiments of the present application, the baseboard management controller further includes a third reading module, a fourth reading module, a first extraction module, and a first parsing module, and the device further includes:
[0295] a third reading module, configured to enable the baseboard management controller to read the first validity field to determine whether the second character string is valid;
[0296] A fourth reading module, configured to enable the baseboard management controller to read the first owner field to obtain the owner of the first area if the second character string is valid;
[0297] a first extraction module, configured to enable the baseboard management controller to extract a second character string if the owner of the first area is the baseboard management controller;
[0298] The first parsing module is configured to enable the baseboard management controller to parse the second character string to obtain a first setting option.
[0299] In some embodiments of the present application, the first extraction module further includes:
[0300] The fifth reading module is used to enable the baseboard management controller to read the first data field to obtain the length of the first character string and information on whether the first character string is compressed;
[0301] A first judging module, configured to enable the baseboard management controller to judge whether the first character string exceeds a preset length range based on the length of the first character string;
[0302] a second determining module, configured to enable the baseboard management controller to determine whether the first character string is compressed based on the information of whether the first character string is compressed if the length of the first character string exceeds a preset length range;
[0303] A second ignoring module, configured to cause the baseboard management controller to ignore the second character string if the first character string is not compressed;
[0304] The second extraction module is configured to enable the baseboard management controller to extract a second character string if the first character string is compressed.
[0305] In some embodiments of the present application, the first parsing module further includes:
[0306] a fifth reading module, configured to enable the baseboard management controller to read the first data field to obtain a first check value of the first character string;
[0307] A fourth calculation module, configured to enable the baseboard management controller to calculate a second check value of the first character string based on the first character string;
[0308] a third judgment module, configured to enable the baseboard management controller to compare the first verification value and the second verification value to determine whether the first verification value and the second verification value are the same;
[0309] A second ignoring module, configured to cause the baseboard management controller to ignore the second character string if the first check value and the second check value are different;
[0310] The second parsing module is configured to enable the baseboard management controller to parse the second character string to obtain the first setting option if the first check value and the second check value are the same.
[0311] In some embodiments of the present application, the baseboard management controller further includes a second pause module and a sixth reading module, and the device further includes:
[0312] a second pausing module, configured to cause the baseboard management controller to suspend extracting the second character string if the owner of the first area is a basic input and output system;
[0313] The sixth reading module is configured to enable the baseboard management controller to read the first owner field again to obtain the owner of the first region.
[0314] 5 , a block diagram of a basic input / output system processing device provided in an embodiment of the present application is shown, which may include the following modules:
[0315] The second modifying module 501 is configured to modify the second character string by the baseboard management controller to obtain a third character string corresponding to the second setting option when the baseboard management controller sends the second setting option to the basic input and output system;
[0316] A fifth storage module 502 is configured to store the third character string in a shared memory space in the baseboard management controller;
[0317] A second sending module 503 is configured to send the third character string to the basic input and output system via the PCIe channel;
[0318] A third parsing module 504 is configured to parse the third character string in the basic input and output system to obtain a second setting option;
[0319] The second adjustment module 505 is configured to adjust the BIOS based on the second setting option.
[0320] In some embodiments of the present application, the shared memory area further includes a second area; the second area is used to store a third string; the second area further stores a second data field corresponding to the third string; the second data field includes a second owner field and a second validity field; the second owner field is used to indicate the owner of the second area, and the second validity field is used to indicate whether the third string in the second area is valid; the fifth storage module further includes:
[0321] a seventh reading module, configured to enable the baseboard management controller to read the second owner field to obtain the owner of the second region;
[0322] a sixth storage module, configured to cause the baseboard management controller to store the third character string in the second area if the owner of the second area is the baseboard management controller;
[0323] The third modifying module is configured to enable the baseboard management controller to indicate that the third character string is valid by modifying the second validity field.
[0324] In some embodiments of the present application, the basic input and output system further includes an eighth reading module, a third extraction module, and a fourth parsing module, and the device further includes:
[0325] an eighth reading module, configured to enable the basic input and output system to read the second validity field to determine whether the third character string is valid;
[0326] a third extraction module, configured to enable the basic input and output system to extract the third character string if the third character string is valid;
[0327] In some embodiments of the present application, the shared memory area further includes a third area; and the second adjustment module further includes:
[0328] a fourth determination module, configured to enable the basic input / output system to determine whether the second setting option meets a preset format requirement;
[0329] a third adjustment module, configured to enable the basic input and output system to adjust the basic input and output system based on the second setting option if the second setting option meets the preset format requirement;
[0330] The second conversion module is configured to cause the basic input / output system to convert the second setting option into a fourth character string if the second setting option does not meet the preset format requirement, and store the fourth character string in the third area; wherein the fourth character string is used to determine whether the second setting option meets the preset format requirement.
[0331] In some embodiments of the present application, the apparatus further comprises:
[0332] The restart module is configured to restart the server if the second setting option meets a preset format requirement, so as to adapt the server to the second setting option.
[0333] 6 , a structural block diagram of another processing device of a baseboard management controller provided in an embodiment of the present application is shown, which may specifically include the following modules:
[0334] The third sending module 601 is configured to, when the basic input and output system sends the fourth character string to the baseboard management controller, cause the PCIe channel to send the fourth character string to the baseboard management controller;
[0335] The fourth extraction module 602 is configured to enable the baseboard management controller to extract a fourth character string and determine, based on the fourth character string, whether a second setting option corresponding to the fourth character string meets a preset format requirement.
[0336] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0337] As an example provided by this application, FIG7 shows a schematic diagram of a setting interface provided by an embodiment of this application. The setting interface is used to display setting options, and the setting options are used to save system parameters. The setting options include the name of the setting option and the corresponding value of the setting option. Different setting options have different format requirements, such as the name of the setting option and yes / no, the name of the setting option and any number from 1 to 10, etc. In Figure 7, Boot Mode is a setting option, Legacy Support is the corresponding value of Boot Mode; Boot Priority is a setting option, UEFI First is the corresponding value of Boot Priority; USB Boot is a setting option, Enabled is the corresponding value of USB Boot; UEFI Boot priority order is a setting option, Windows Boot Manager is the corresponding value of UEFI Boot priority order; Legacy Boot priority order is a setting option, HGST HTS545032A7E380 Realtek PXE BO3 D00 is the corresponding value of UEFI Boot priority order.
[0338] As an example provided by the present application, FIG8 shows a schematic diagram of a first data field provided by an embodiment of the present application. The typedef struct is an alias for defining an identifier and a keyword and has no specific meaning. The first data field, i.e., the data header of the first area, includes UserAndOwner (owner), FileType (file type), ValidFlag (validity), Reserve (reservation), FileSize (file size), and Crc (check value). Among them, UserAndOwner (owner) is the owner of the first area between the baseboard management controller and the basic input and output system. If the owner of the first area is the baseboard management controller, the basic input and output system cannot store strings in the first area; if the owner of the first area is the basic input and output system, the baseboard management controller cannot store strings in the first area. If there is no owner of the first area, both the baseboard management controller and the basic input and output system can store strings in the first area. When the baseboard management controller or the basic input and output system stores a string in the first area, the owner field needs to be modified to indicate the owner of the first area. FileType (file type) can indicate whether the first string is compressed. If the first string is compressed, FileType is 1; if the first string is not compressed, FileType is 1. ValidFlag indicates whether the second string is valid. When the BIOS finishes sending the second string to the baseboard management controller, ValidFlag is changed to 1, indicating that the second string is valid. When the baseboard management controller reads that ValidFlag has changed to 1, it begins parsing the second string. Reserve is a reserved field and has no meaning. FileSize indicates the size of the second string. Crc is the first checksum of the first string.
[0339] As an example provided by this application, Figure 9 shows a schematic diagram of the format of a second string provided in an embodiment of this application. Parameter name1 is a setting option, and Parameter value1 is the value corresponding to Parameter name1; Parameter name2 is a setting option, and Parameter value2 is the value corresponding to Parameter name2.
[0340] As an example provided by this application, Figure 10 shows a schematic diagram of the format of a fourth string provided in an embodiment of this application. The data format for a correct setting is {"Result":"EFI_SUCCESS"}; the data format for an incorrect setting is shown in Figure 10: Parameter name1 is the setting option, and the failure reason is the value corresponding to Parameter name1; Parameter name2 is the setting option, and the failure reason is the value corresponding to Parameter name2.
[0341] 11 shows a schematic flow chart of a basic input / output system sending a first setting option to a baseboard management controller according to an embodiment of the present application.
[0342] Step 1101, before entering the setting interface or after the user modifies the setting options, the basic input and output system collects the setting option data;
[0343] Step 1102 , the basic input / output system converts the setting option data into a Json (JavaScript Object Notation, a lightweight data exchange format) string format;
[0344] Step 1103, the basic input and output system calculates the string length and the check value;
[0345] In step 1104 , if the character string length is too large, the basic input / output system performs compression and sets the file type of the data header to 1; if it is still too large after compression, proceed to step 1109 .
[0346] Step 1105: The BIOS determines whether the shared memory is occupied. If the shared memory is occupied and the number of retries is less than 3, the BIOS sleeps for two seconds and re-determines whether the shared memory is occupied. If the number of retries is greater than 3, the BIOS proceeds to step 1109. If the shared memory is not occupied, the shared memory is occupied.
[0347] Step 1106, the basic input and output system writes the data header and the character string into the shared memory space;
[0348] Step 1107, the BIOS sets the validity field of the data header to 1;
[0349] Step 1108: The BIOS releases the shared memory.
[0350] Step 1109, end.
[0351] 12 shows a flow chart of a baseboard management controller receiving a first setting option sent by a basic input and output system according to an embodiment of the present application.
[0352] Step 1201, start;
[0353] Step 1202: The baseboard management controller checks the validity field in the data header;
[0354] Step 1203, the baseboard management controller determines whether the data is valid; if the data is valid, proceed to step 1204; if the data is invalid, proceed to step
[0355] Step 1204: The baseboard management controller waits for the BIOS occupation to end;
[0356] Step 1205: The baseboard management controller occupies the shared memory;
[0357] Step 1206: The baseboard management controller reads the data header and the data body;
[0358] Step 1207: The baseboard management controller sets the validity field of the data header to 0;
[0359] Step 1208: The baseboard management controller releases the shared memory.
[0360] In step 1209, the baseboard management controller determines whether the file length is too long. If the file type is not too long, the process proceeds to step 1211. If the file length is too long, the process determines whether the file type is compressed. If the file type is compressed, the process proceeds to step 1210. If the file type is not compressed, the process proceeds to step 1216.
[0361] Step 1210 , the baseboard management controller decompresses the data;
[0362] Step 1211, the baseboard management controller determines whether the file verification is successful; if successful, proceed to step 1201; if failed, proceed to step 1216;
[0363] Step 1212: The baseboard management controller parses the Json string.
[0364] Step 1213: The baseboard management controller searches for BMC-related settings.
[0365] Step 1214: The baseboard management controller calls the corresponding settings of the relevant functional modules;
[0366] Step 1215: The baseboard management controller saves the Json string to the file cumrent_setting.jsom;
[0367] Step 1216, end.
[0368] 13 , which shows a flow chart of a baseboard management controller sending a second setting option to a basic input / output system according to an embodiment of the present application.
[0369] Step 1301, start;
[0370] Step 1302: The BMC reads the data and checks whether the content format of future_setting.json is correct.
[0371] Step 1303: The baseboard management controller verifies whether the content format of future_setting.jaon is correct.
[0372] Step 1304: If the content format is correct, the baseboard management controller calculates the length and checksum of the Json file; if the content format is incorrect, proceed to step 1309;
[0373] Step 1305: The baseboard management controller determines whether the shared memory is occupied. If the shared memory is occupied and the number of retries is less than 3, the controller sleeps for two seconds and re-determines whether the shared memory is occupied. If the number of retries is greater than 3, the controller proceeds to step 1309. If the shared memory is not occupied, the controller occupies the shared memory.
[0374] Step 1306 , the baseboard management controller writes the data header and the character string into the memory space;
[0375] Step 1307: The baseboard management controller sets the validity field of the data header to 1;
[0376] Step 1308: The baseboard management controller releases the shared memory.
[0377] Step 1309, end.
[0378] 14 shows a schematic flow chart of a basic input / output system processing a second setting option according to an embodiment of the present application.
[0379] Step 1401, start;
[0380] Step 1402, the basic input and output system determines whether the data is valid;
[0381] Step 1403, the basic input and output system reads data;
[0382] Step 1404, the basic input and output system parses the data;
[0383] Step 1405, the basic input and output system verifies whether the parameters and parameter values in the data are correct;
[0384] Step 1406: If the parameter and the parameter value in the verification data are correct, the basic input and output system stores the parameter in the corresponding location in the non-volatile storage medium; if the parameter and the parameter value in the verification data are incorrect, the parameter and the error cause are stored in an error list;
[0385] Step 1407, the basic input and output system determines whether the parameter in the verification data is the last parameter;
[0386] Step 1408, the basic input and output system structures the error list into a JSON format;
[0387] Step 1409: The basic input and output system converts the error list in the Json format into a string;
[0388] Step 1410, the BIOS puts the string into the shared memory;
[0389] Step 1411, the server is restarted;
[0390] Step 1412, end.
[0391] In addition, an embodiment of the present application further provides an electronic device, as shown in FIG15 , including a processor 1501, a communication interface 1502, a memory 1503, and a communication bus 1504, wherein the processor 1501, the communication interface 1502, and the memory 1503 communicate with each other through the communication bus 1504.
[0392] Memory 1503, used for storing computer programs;
[0393] The processor 1501 is configured to implement the method of the embodiment of the present application when executing the program stored in the memory 1503 .
[0394] The communication bus mentioned in the terminal can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used in the figure, but this does not mean that there is only one bus or only one type of bus.
[0395] The communication interface is used for communication between the above terminal and other devices.
[0396] The memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.
[0397] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
[0398] As shown in FIG16 , in another embodiment provided by the present application, a non-volatile readable storage medium 1601 is also provided. The non-volatile readable storage medium stores instructions, which, when executed on a computer, enable the computer to execute the method of the embodiment of the present application.
[0399] In another embodiment provided by the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute the method of the embodiment of the present application.
[0400] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable devices. The computer instructions can be stored in a non-volatile readable storage medium, or can be transmitted from one non-volatile readable storage medium to another non-volatile readable storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL, Digital Subscriber Line)) or wireless (such as infrared, wireless, microwave, etc.) mode. The non-volatile readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. Available media can be magnetic media (e.g., floppy disks, hard disks, tapes), optical media (e.g., DVDs (Digital Versatile Discs or Digital Video Discs, optical disk storage media)), or semiconductor media (e.g., solid state disks (SSDs)).
[0401] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.
[0402] Each embodiment in this specification is described in a related manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiment is generally similar to the method embodiment, so the description is relatively simple. For related parts, refer to the description of the method embodiment.
[0403] The above are only preferred embodiments of the present application and are not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application are included in the scope of protection of the present application.
Claims
1. A processing method of a baseboard management controller, characterized in that: Applied to a server, the server comprises a baseboard management controller, a basic input-output system and a shared memory space between the baseboard management controller and the basic input-output system; the basic input-output system also provides a setting interface; The basic input and output system is connected to the baseboard management controller via a PCIe path, and the setting interface is used to display setting options; the method includes: In the case where the basic input / output system sends a first setting option to the baseboard management controller, before displaying the setting interface and / or after modifying the setting option through the setting interface, the basic input / output system collects the first setting option and stores the first setting option in the shared memory space; The PCIe path sends the first setting option to the baseboard management controller; The baseboard management controller adjusts the baseboard management controller based on the first setting option.
2. The method according to claim 1, characterized in that The shared memory space includes a first area; the collecting the first setting option and storing the first setting option in the shared memory space also includes: The basic input and output system converts the collected first setting option into a first character string; The basic input and output system calculates the length of the first character string based on the first character string, and determines whether the length of the first character string exceeds a preset length range; If the length of the first character string does not exceed the preset length range, the basic input and output system uses the first character string as the second character string; The basic input and output system stores the second character string in the first area.
3. The method according to claim 2, characterized in that The first area also stores a first data field corresponding to the first character string; the method further includes: The basic input and output system calculates a first check value of the first character string based on the first character string; The basic input and output system stores the length of the first character string and the first check value in the first data field.
4. The method according to claim 3, characterized in that The method further comprises: If the length of the first character string exceeds the preset length range, the basic input and output system compresses the first character string to obtain a compressed character string; The basic input and output system stores information on whether the first character string is compressed in the first data field; The basic input and output system calculates the length of the compressed string, and determines whether the length of the compressed string exceeds the preset length range; If the length of the compressed character string is within the preset length range, the basic input and output system uses the compressed character string as the second character string.
5. The method according to claim 3 or 4, characterized in that: The first data field further includes a first owner field; the first owner field is used to indicate the owner of the first area; the step of storing the second character string in the first area further includes: The basic input and output system reads the first owner field to obtain the owner of the first area: If the owner of the first area is the basic input output system, the basic input output system stores the second character string in the first area.
6. The method according to claim 5, characterized in that The method further comprises: If the owner of the first area is the baseboard management controller, the basic input and output system suspends storing the second character string in the first area; The basic input and output system reads the first owner field again to obtain the owner of the first area.
7. The method according to claim 5, characterized in that The first data field further includes a first validity field; the first validity field is used to indicate whether the second character string in the first area is valid; and after storing the second character string in the first area, the step further includes: The basic input and output system indicates that the second character string in the first area is valid by modifying the first validity field.
8. The method according to claim 7, characterized in that Before the baseboard management controller adjusts the baseboard management controller based on the first setting option, the method further includes: The baseboard management controller reads the first validity field to determine whether the second character string is valid; If the second character string is valid, the baseboard management controller reads the first owner field to obtain the owner of the first area; If the owner of the first area is the baseboard management controller, the baseboard management controller extracts the second character string; The baseboard management controller parses the second character string to obtain the first setting option.
9. The method according to claim 8, characterized in that The extracting the second character string further includes: The baseboard management controller reads the first data field to obtain the length of the first character string and information on whether the first character string is compressed; The baseboard management controller determines whether the first character string exceeds a preset length range based on the length of the first character string; If the length of the first character string exceeds a preset length range, the baseboard management controller determines whether the first character string is compressed based on the information whether the first character string is compressed; If the first character string is not compressed, the baseboard management controller ignores the second character string; If the first character string is compressed, the baseboard management controller extracts the second character string.
10. The method according to claim 8, characterized in that The step of parsing the second character string to obtain the first setting option also includes: The baseboard management controller reads the first data field to obtain a first check value of the first character string; The baseboard management controller calculates a second check value of the first character string based on the first character string; The baseboard management controller compares the first verification value and the second verification value to determine whether the first verification value and the second verification value are the same; If the first check value and the second check value are different, the baseboard management controller ignores the second character string; If the first check value is the same as the second check value, the baseboard management controller parses the second character string to obtain the first setting option.
11. The method according to claim 8, characterized in that The method further comprises: If the owner of the first area is the basic input and output system, the baseboard management controller suspends extracting the second character string; The baseboard management controller reads the first owner field again to obtain the owner of the first area.
12. A basic input and output system processing method, characterized in that: Applied to a server, the server comprises a baseboard management controller, a basic input output system and a shared memory space between the baseboard management controller and the basic input output system; The basic input and output system is connected to the baseboard management controller via a PCIe path; The baseboard management controller stores a preset second character string; the method comprises: In the case where the baseboard management controller sends a second setting option to the basic input and output system, the baseboard management controller modifies the second character string to obtain a third character string corresponding to the second setting option; The baseboard management controller stores the third character string in the shared memory space; The PCIe path sends the third character string to the basic input and output system; The basic input and output system parses the third character string to obtain the second setting option; The BIOS adjusts the BIOS based on the second setting option.
13. The method according to claim 12, characterized in that The shared memory area also includes a second area; the second area is used to store the third string; the second area also stores a second data field corresponding to the third string; the second data field includes a second owner field and a second validity field; the second owner field is used to indicate the owner of the second area, and the second validity field is used to indicate whether the third string in the second area is valid; The step of storing the third character string in the shared memory space further includes: The baseboard management controller reads the second owner field to obtain the owner of the second area; If the owner of the second area is the baseboard management controller, the baseboard management controller stores the third character string in the second area; The baseboard management controller indicates that the third character string is valid by modifying the second validity field.
14. The method according to claim 13, characterized in that Before the step of parsing the third character string to obtain the second setting option, the method further includes: The basic input and output system reads the second validity field to determine whether the third character string is valid; If the third character string is valid, the basic input and output system extracts the third character string.
15. The method according to claim 14, characterized in that The shared memory area also includes a third area; the step of adjusting the basic input and output system based on the second setting option also includes: The basic input and output system determines whether the second setting option meets a preset format requirement; If the second setting option meets the preset format requirement, the basic input and output system adjusts the basic input and output system based on the second setting option; If the second setting option does not meet the preset format requirement, the basic input and output system converts the second setting option into a fourth character string and stores the fourth character string in the third area; wherein the fourth character string is used to determine whether the second setting option meets the preset format requirement.
16. The method according to claim 15, characterized in that The method further comprises: If the second setting option meets the preset format requirement, the server is restarted to adapt the server to the second setting option.
17. A processing method of a baseboard management controller, characterized in that: Applied to a server, the server comprises a baseboard management controller, a basic input output system and a shared memory space between the baseboard management controller and the basic input output system; The basic input and output system is connected to the baseboard management controller via a PCIe path; The shared memory space stores a preset fourth character string; the method comprises: In a case where the basic input and output system sends the fourth character string to the baseboard management controller, the PCIe path sends the fourth character string to the baseboard management controller; The baseboard management controller extracts the fourth character string, and determines, based on the fourth character string, whether a second setting option corresponding to the fourth character string meets a preset format requirement.
18. A processing device of a baseboard management controller, characterized in that: The server includes a baseboard management controller, a basic input-output system, and a shared memory space between the baseboard management controller and the basic input-output system; the basic input-output system also provides a setting interface; the basic input-output system is connected to the baseboard management controller via a PCIe path, and the setting interface is used to display setting options; The basic input and output system includes a collection module, the PCIe path includes a first sending module, the baseboard management controller includes a first adjustment module, and the device includes: The acquisition module is configured to, when the basic input / output system sends a first setting option to the baseboard management controller, before displaying the setting interface and / or after modifying the setting option through the setting interface, cause the basic input / output system to acquire the first setting option and store the first setting option in the shared memory space; The first sending module is used to enable the PCIe channel to send the first setting option to the baseboard management controller; The first adjustment module is used to enable the baseboard management controller to adjust the baseboard management controller based on the first setting option.
19. A basic input and output system processing device, characterized in that: Applied to a server, the server comprises a baseboard management controller, a basic input-output system, and a shared memory space between the baseboard management controller and the basic input-output system; the basic input-output system and the baseboard management controller are connected via a PCIe path; The baseboard management controller stores a preset second string; the basic input and output system includes a third parsing module and a second adjustment module, the PCIe path includes a second sending module, the baseboard management controller includes a second modification module and a fifth storage module; the device includes: The second modifying module is configured to modify the second character string by the baseboard management controller to obtain a third character string corresponding to the second setting option when the baseboard management controller sends a second setting option to the basic input and output system; The fifth storage module is used to store the third character string in the shared memory space in the baseboard management controller; The second sending module is used to send the third character string to the basic input and output system through the PCIe channel; The third parsing module is used to parse the third character string in the basic input and output system to obtain the second setting option; The second adjustment module is used for the basic input output system to adjust the basic input output system based on the second setting option.
20. A processing device of a baseboard management controller, characterized in that: Applied to a server, the server comprises a baseboard management controller, a basic input-output system, and a shared memory space between the baseboard management controller and the basic input-output system; the basic input-output system and the baseboard management controller are connected via a PCIe path; The shared memory space stores a preset fourth character string; The PCIe path includes a third sending module, the baseboard management controller includes a fourth extraction module; the device includes: The third sending module is configured to, when the basic input and output system sends the fourth character string to the baseboard management controller, cause the PCIe channel to send the fourth character string to the baseboard management controller; The fourth extraction module is used to enable the baseboard management controller to extract the fourth character string, and determine whether the second setting option corresponding to the fourth character string meets a preset format requirement based on the fourth character string.
21. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; The memory is used to store the server program; The processor, when used to execute a program stored in the memory, implements the method described in any one of claims 1-11 or 12-16 or 17.
22. One or more non-volatile readable storage media having instructions stored thereon, which when executed by one or more processors cause the processors to perform the method of any one of claims 1-11 or 12-16 or 17.
Citation Information
Patent Citations
Server and communication method
CN111666236A
Reliable boot system for computer device
CN112181499A
Baseboard management controller and processing method and device of basic input and output system
CN116991606A
Method for Out of Band Device Configuration Deployment and System Therefor
US20170068548A1