Patent•
Automatic selection of firmware for a computer that allows a plurality of process types
13 Jun 2002-
TL;DR: In this paper, a firmware selector is provided for a computer that includes a processor, which allows a customer to change the processor without requiring him to change firmware memory or the board on which the firmware memory resides.
Abstract: A firmware selector is provided for a computer that includes a processor. The selector receives the identity of the processor, and in response to the identity, causes the processor to access firmware that corresponds to the processor. Because such a selector can automatically direct the processor to the appropriate firmware when the computer stores multiple firmware, the selector allows a customer to change the processor without requiring him to change the firmware memory or the board on which the firmware memory resides.
Citations
More filters
•
07 Nov 2006TL;DR: In this paper, an apparatus, a memory controller and a system for upgrading firmware stored in a non-volatile memory, in phases, and restoring firmware in-situ to compensate for failed firmware upgrades is described.
Abstract: This invention relates to an apparatus, a memory controller and a system for upgrading firmware stored in a non-volatile memory, in phases, and restoring firmware in-situ to compensate for failed firmware upgrades. In various embodiments, the apparatus, memory controller and system can upgrade and restore the firmware as the non-volatile memory remains functioning. In one embodiment, a multi-mode memory controller includes a firmware selector for selecting a first copy of firmware for accessing in a functional mode, and for selecting a second copy of the firmware for upgrading in an upgrade mode. It also can include a phased upgrade controller being configured to access the first copy in the functional mode coincident or substantially coincident to replacing at least a portion of the second copy with at least a portion of an upgrade firmware in the upgrade mode.
35Â citations
•
15 Sep 2003TL;DR: In this article, a machine-readable identification register is provided on each cell of a cellular computer system, which is read during system startup to identify a processor type, which may include an instruction set architecture (ISA), associated with the cell.
Abstract: A machine-readable identification register is provided on each cell of a cellular computer system. The identification register is read during system startup to identify a processor type, which may include an instruction set architecture (ISA), associated with the cell. The processor type information is used to ensure that a compatible boot image is provided to processors of the cell. In another embodiment, the system management subsystem has a version selection flag. When the version selection flag is in a first state, the compatible boot image provided to processors of the cell is a current boot image; with the selection flag in a second state the compatible boot image provided to processors of the cell is an older edition of the boot image.
35Â citations
•
07 Nov 2006TL;DR: In this article, a method for upgrading firmware stored in a non-volatile memory, in phases, and restoring firmware in-situ to compensate for failed firmware upgrades is described.
Abstract: This invention relates generally to methods and computer readable media for upgrading firmware stored in a non-volatile memory, in phases, and restoring firmware in-situ to compensate for failed firmware upgrades. In various embodiments, methods and computer readable media can upgrade and restore the firmware as the non-volatile memory remains functioning. In one embodiment, a method includes designating a first copy of firmware for accessing, and designating a second copy of the firmware for upgrading. The method continues by accessing one or more firmware instructions from the first copy. It also can include upgrading at least a portion of the second copy with at least a portion of new firmware. Upgrading the second copy can be coincident or substantially coincident to accessing the one or more firmware instructions in the first copy.
28Â citations
•
03 Aug 2005
TL;DR: In this article, a method for producing a fixed-size firmware image for a hardware device, parameterized for a plurality of component environments, includes providing a logical description of aspects of said plurality of components, providing a physical description of physical aspects of those components, associating said logical description with said physical description, and providing said firmware image to include a pluralityof parameterized functions to support said hardware device in each of the component environments.
Abstract: A method for producing a fixed-size firmware image for a hardware device, parameterized for a plurality of component environments, includes providing a logical description of aspects of said plurality of component environments; providing a physical description of physical aspects of said plurality of component environments; associating said logical description with said physical description; and providing said firmware image to include a plurality of parameterized functions to support said hardware device in each of said plurality of component environments. The hardware device may be a power supply, bus; fan, disk drives, sensor, or flash part. Actual arguments to said parameterized functions are bound at run time and may be provided as untyped blocks of bits. The firmware image may include an operational block including abstract device driver interfaces for said hardware device; and a description block that includes said logical and physical descriptions.
27Â citations
•
15 Dec 2005TL;DR: In this paper, a method and apparatus for dynamically selecting one of multiple different I/O firmware images for booting a particular controller that is included in the data processing system is presented.
Abstract: A method and apparatus are disclosed in a data processing system for dynamically selecting one of multiple different I/O firmware images for booting a particular I/O controller that is included in the data processing system. Multiple different I/O firmware images are provided. A configuration of the I/O controller is determined. One of the I/O firmware images is identified that supports the configuration of the particular I/O controller. The identified I/O firmware image is then dynamically selected for booting said I/O controller.
17Â citations
References
More filters
•
03 Jun 1991TL;DR: In this paper, the authors propose a method to implement software for a wide variety of variant host architectures, without excessive usage of host memory, by providing an initialization module of the software to host memory.
Abstract: A method allows a designer to implement software for a wide variety of variant host architectures, without excessive usage of host memory (52). The method is based on providing an initialization module of the software to host memory (52). A portion of the initialization module determines the host architecture. The unneeded portions of the initialization module are freed, and needed portions are relocated into a contiguous memory space to minimize host memory usage. Any location dependent entries in the needed portions of the program are then updated based on the relocation. The initialization module includes a plurality of code blocks, (16, 18, 20, 22), each of which is optimized to a particular variant architecture. When the variant architecture of the host is identified, those code blocks which are optimized to the identified host are selected and the other code blocks are freed. The selected blocks are then relocated to optimize host usage.
68Â citations
•
31 Mar 1999
TL;DR: A boot sequence adapted for use with a computer system during execution of system BIOS to ensure compatibility between an option ROM BIOS chip and a chip of interest with which the optionROM BIOS chip is intended to communicate during operation of the computer system is provided in this article.
Abstract: A boot sequence adapted for use with a computer system during execution of system BIOS to ensure compatibility between an option ROM BIOS chip and a chip of interest with which the option ROM BIOS chip is intended to communicate during operation of the computer system is provided. The boot sequence may broadly include the operations of initially locating the chip of interest and then sequentially scanning each of option ROM BIOS chip's images until a determination is made that a match exists between the unique PCI device ID associated with the chip of interest and the image PCI device ID associated with a scanned one of the BIOS images. The boot sequence then ensures that the first BIOS image incorporates the unique PCI device ID associated with the chip of interest, after which the first BIOS image is loaded into system RAM for execution of the BIOS routine. A universal ROM BIOS chip for use in implementing the boot sequence of the present invention, as well as an adapter card having such a universal ROM BIOS chip, are also provided.
65Â citations
•
31 Dec 1998TL;DR: In this article, a processor identification device is coupled with a system, which identifies which subset of the plurality of types of processors is connected to the system and in response to the identification of the type of connected processor, causes a customized firmware part corresponding to the identified types of processor to be executed by the processor.
Abstract: A system, a method of operating the system and a system firmware. The system includes a processor and a system firmware including a plurality of customized firmware parts, with each firmware part performing system firmware functions required for and customized to only a subset of a plurality of types of processors which are operational when connected to the system, and a processor identification device, coupled to the system, which identifies which subset of the plurality of types of processors is connected to the system and in response to the identification of the type of connected processor, causes a customized firmware part corresponding to the identified types of processor to be executed by the processor.
64Â citations
•
05 Sep 2003TL;DR: In this article, a firmware image is partitioned into several different binaries based on their update requirements and processor/platform dependence, and a firmware interface table enables safe updates by enabling the option of redundant copies of specific modules as well as supporting systems with different and/or multiple processor types, mixed processors from the same family, and fault resilient firmware updates.
Abstract: One embodiment of the invention provides a firmware architecture which splits firmware modules to support safe updates of specific modules as well as supporting multiple different processors. A firmware image is partitioned into several different binaries based on their update requirements and processor/platform dependence. A firmware interface table enables safe updates by enabling the option of redundant copies of specific modules as well as supporting systems with different and/or multiple processor types, mixed processors from the same family, and/or fault resilient firmware updates.
62Â citations
•
08 Sep 1999TL;DR: Bootstrap processor selection as discussed by the authors employs system logic having a memory-mapped sticky register, e.g. write-once, register, multiple processors, and a firmware routine through which the processors may store values to and load values from the sticky register.
Abstract: A bootstrap processor selection mechanism for a computer system employs system logic having a memory-mapped sticky, e.g. write-once, register, multiple processors, and a firmware routine through which the processors may store values to and load values from the sticky register. When a reset event is detected, the processors vie for access to the sticky register, using the firmware routine. The first processor that successfully stores its associated processor ID to the sticky register, locks the register against subsequent store operations by the remaining processors. Each processor loads the value stored in the sticky register and compares it with its processor ID to determine whether it is the bootstrap processor.
34Â citations