Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity
AssigneeDell USA, L.P.
InventorsWai-Ming R. Chan, Eric W. Schieve, Charles P. Zeller, Gary W. Abbott
Life of this patent
Estimating the term…
Abstract
A computer which carries its BIOS in a Flash EPROM. A UV-EPROM carries a redundant BIOS, which can be overlaid onto the BIOS address space by selection with a physical switch. The BIOS contains a small core software program, at the BIOS entry point, which checks BIOS integrity, and provides for reloading the Flash EPROM's BIOS if needed (from a floppy disk, or by copying the entire contents of the UV-EPROM).
Claims22
A method booting of a computer system including a CPU, a first rewritable nonvolatile boot memory storing basic system software, a second nonvolatile boot memory, and a third memory, having a predetermined data location storing a value which indicates whether a user has requested an upgrade of said basic system software, the method comprising the computer implemented steps of:
- the CPU performing a hard reset;
- the CPU executing software from one of either the first rewritable nonvolatile boot memory or the second nonvolatile boot memory, depending on a predetermined indicator, wherein
- (1.A) If said CPU is executing software from the first rewritable nonvolatile boot memory, then:
- (1.A.i) performing a checksum operation on the basic system software in said first rewritable nonvolatile boot memory, and, if a checksum error is found, then:
- (1.A.i.a) prompting the user to provide a data source for the basic system software, and thereafter
- (1.A.i.b) reprogramming said first rewritable nonvolatile boot memory from the data source provided by the user;
- (1.A.ii) Reading said value from said predetermined data location in said third memory to determine if a user has requested an upgrade of said basic system software, and, if said value indicates that the user has requested an upgrade of said basic system software, then:
- (1.A.ii.a) prompting the user to provide a data source for the basic system software, and thereafter
- (1.A.ii.b) reprogramming said first rewritable nonvolatile boot memory from the data source provided by We user;
- (1.B) If said CPU is executing software from the second nonvolatile boot memory which is not the same as said first rewritable nonvolatile boot memory and if said first rewritable nonvolatile memory is not currently write-protected, then writing the contents of said second nonvolatile boot memory into said first rewritable nonvolatile memory.
A method of booting a computer system including a CPU, a first rewritable nonvolatile boot memory storing basic system software, a second nonvolatile boot memory, and a third memory having a predetermined data location storing a value which indicates whether a user has requested an upgrade of said basic system software, the method comprising the computer implemented steps of:
- the computer system undergoing a power-up transition to change from a non-powered state to a powered state
- the computer system executing a software from one of either the first rewritable nonvolatile boot memory or the second nonvolatile boot memory depending on a predetermined indicator
- ( 11.A) ascertaining whether said CPU is currently executing boot software from the first rewritable nonvolatile boot memory or from the second nonvolatile boot memory which is not the same as said first rewritable boot memory but which is mappable onto the same address as said first rewritable boot memory;
- (11.B) If said CPU is executing software from said first rewritable boot memory, then:
- (11.B.i) performing a checksum operation on the basic system software in said first rewritable nonvolatile boot memory, and, if a checksum error is found, then:
- (11.B.i.a) prompting the user to provide a data source for the basic system software, and thereafter
- (11.B.i.b) reprogramming said first rewritable nonvolatile boot memory from the data source provided by the user;
- (11.B.ii) Reading said value from said predetermined data location in said third memory to determine if a user has requested an upgrade of said basic system software, and, if said value indicates that the user has requested an upgrade of said basic system software, then:
- (11.B.ii.a) prompting the user to provide a data source for the basic system software, and thereafter
- (11.B.ii.b) reprogramming said first rewritable boot memory from the data source provided by the user, and thereafter prompting the user to reboot the system;
- (11.B.iii) and otherwise executing a power-on-self-test routine from said first rewritable boot memory;
- (11.C) If said microprocessor is executing software from said second boot memory and if said first rewritable nonvolatile memory is not currently write-protected,
- then copying the entire contents of said second boot memory to overwrite the contents of said first rewritable nonvolatile boot memory, and thereafter prompting the user to reboot the system;
- and otherwise executing a power-on-self-test routine from said second boot memory.
A method of booting up a computer system, the computer system comprising
- a first rewritable boot memory including first boot instructions and a second boot memory including second boot instructions, comprising the computer implemented steps of:
- determining whether boot operations are occurring from the first boot memory or the second boot memory;
- determining if the first boot instructions from the first boot memory are operational if the boot operations are occurring from the first boot memory;
- updating the first boot instructions in the first boot memory if the first boot instructions are not operational;
- and
- performing a power on self test if the first boot instructions are operational.
Dependencies are inferred from the claim text.