Patent ID: 8468331

Claim:
A computer-implemented method for reducing the memory requirements of firmware stored in a computing device, comprising: segmenting firmware by dividing the firmware so as to include a portion of the firmware in a ROM image located in a computing device during a build of the ROM image and so as to include the remainder of the firmware in one or more virtual ROM modules that are stored in at least one location outside the ROM image; including, at the time of the build, a reference in the ROM image for each of the one or more virtual ROM modules, each reference constructed from a unique identifier-message digest pair for an associated virtual ROM module, the reference constructed from the unique identifier-message digest pair enabling retrieving and verifying the one or more virtual ROM modules; and placing a search variable into the ROM image, the search variable indicating at least one location from which it may be possible to retrieve at least one of the one or more virtual ROM modules, wherein an execution of pre-boot code by the computing device: retrieves a selected one of the one or more virtual ROM modules during pre-boot using the search variable and the unique identifier in the reference associated with the selected one of the one or more virtual ROM modules, and verifies the selected one of the one or more virtual ROM modules during pre-boot using the message digest in the reference associated with the selected one of the one or more virtual ROM modules.