System and method for erasing and writing desktop management interface data under a linux system
AssigneesHONG FU JIN PRECISION INDUSTRY (ShenZhen) CO., LTD., Hon Hai Precision Industry Co., Ltd.
InventorMO-YING TONG
Life of this patent
Estimating the term…
Abstract
A method for erasing and writing desktop management interface (DMI) data under a Linux system is provided. The method constructs a virtual 8086 mode in the Linux system for executes a PnP calling routine. The method then erase and/or write the DMI data from a management information format database (MIFD) of a basic input/output system (BIOS) in a computer using the PnP calling routine.
Claims17
A method for erasing and writing desktop management interface (DMI) data under a Linux system in a computer, the computer having a processor and a basic input/output system (BIOS), the BIOS comprising a management information format database (MIFD) which stores the DMI data, the method comprising:
- creating a new process in the Linux system, the creation by creating a blank process control block (PCB), allocating memory space for the process, initializing the PCB using parameters, and putting the process on a ready queue;
- constructing a virtual memory environment to run a virtual 8086 mode, the construction according to mapping interrupt vectors and data of the BIOS into a designated memory space of the process;
- constructing a stack space of the virtual 8086 mode by selecting a subspace from the designated memory space;
- searching an enter point to a PnP calling routine by probing a PnP signature from physical addresses of the BIOS and getting enter point data which is after the PnP signature;
- setting a permission for inputting/outputting operations of the PnP calling routine;
- receiving erasing/writing parameters;
- pushing the erasing/writing parameters into the stack space;
- constructing a runtime environment for the virtual 8086 mode;
- setting a signal block to prevent signals from breaking jump to the virtual 8086 mode;
- setting a virtual 8086 mode flag in a flag register of the processor so as to cause the process to jump to the virtual 8086 mode;
- executing the PnP calling routine to read, erase, and/or write the DMI data from/to the MIFD according to the erasing/writing parameters;
- and
- outputting a result of whether the PnP calling routine has been executed successfully by determining whether a value in an AX register of the processor is zero.
A system for erasing and writing desktop management interface (DMI) data under a Linux system in a computer, the computer having a processor and a basic input output system (BIOS), the BIOS comprising a management information format database (MIFD) which stores the DMI data, the system comprising:
- a process creating module operable to create a new process, the creation by creating a blank process control block (PCB), allocating memory space for the process, initializing the PCB using parameters, and putting the process on a ready queue;
- a virtual memory environment constructing module operable to map interrupt vectors and data of the BIOS into a designated memory space of the process to construct a virtual memory environment for running of a virtual 8086 mode;
- a stack space constructing module operable to select a subspace from the designated memory space as a stack space;
- an enter point searching module operable to probe a PnP signature from physical addresses of the BIOS, and get enter point data which is after the PnP signature for searching an enter point to a PnP calling routine;
- a permission setting module operable to set a permission for inputting/outputting operations of the PnP calling routine;
- a parameters storing module operable to receive erasing/writing parameters, and push the erasing/writing parameters into the stack space;
- a runtime environment constructing module operable to construct a runtime environment for the virtual 8086 mode;
- a signal block setting module operable to set a signal block to prevent signals from breaking jump to the virtual 8086 mode;
- and
- a calling module operable to set a virtual 8086 mode flag in a flag register of the processor so as to cause the process to jump to the virtual 8086 mode, and execute the PnP calling routine to read, erase, and write/or DMI data from/to the MIFD according to the erasing/writing parameters.
A storage medium having stored thereon instructions that, when executed by a processor, causing the processor to perform a method for erasing and writing desktop management interface (DMI) data under a Linux system, wherein the method comprises:
- creating a new process, the creation is made by creating a blank process control block (PCB), allocating memory space for the process, initializing the PCB using parameters, and putting the process on a ready queue;
- constructing a virtual memory environment for running of a virtual 8086 mode, the construction according to mapping interrupt vectors and data of the BIOS into a designated memory space of the process;
- constructing a stack space of the virtual 8086 mode by selecting a subspace from the designated memory space;
- searching an enter point to a PnP calling routine by probing a PnP signature from physical addresses of the BIOS and getting enter point data which is after the PnP signature;
- setting a permission for inputting/outputting operations of the PnP calling routine;
- receiving erasing/writing parameters;
- pushing the erasing/writing parameters into the stack space;
- constructing a runtime environment for the virtual 8086 mode;
- setting a signal block to prevent signals from breaking jump to the virtual 8086 mode;
- setting a virtual 8086 mode flag in a flag register of the processor so as to cause the process to jump to the virtual 8086 mode;
- executing the PnP calling routine to read, erase, and/or write the DMI data from/to the MIFD according to the erasing/writing parameters;
- and
- outputting a result of whether the PnP calling routine has been executed successfully by determining whether a value in an AX register of the processor is zero.
Dependencies are inferred from the claim text.