Flexible bootstrap code architecture

US9411601B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9411601-B2
Application numberUS-201314128116-A
CountryUS
Kind codeB2
Filing dateOct 29, 2013
Priority dateOct 29, 2013
Publication dateAug 9, 2016
Grant dateAug 9, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present disclosure is directed to flexible bootstrap code architecture. A device may comprise equipment for operating the device and an operating system (OS) for operating the equipment. A boot module may also be included in the device to execute boot operations. At least one flexible boot (FB) module in the boot module may interact with the equipment and/or OS during the boot operations to cause the boot operations to become device-specific. An example boot module may comprise a plurality of FB modules. An example FB module may verify a device/chipset identification and may control the boot operations based on the identification. Other example FB modules may select resources to load based on an OS type, may provide a boot configuration table location for use in OS runtime boot configuration or may load variables from a preload variable directory for use in configuring boot operations.

First claim

Opening claim text (preview).

What is claimed: 1. A device, comprising: equipment to provide functionality in the device; an operating system (OS) to facilitate operation of the equipment; and boot circuitry to: determine, following activation of the device, if the boot circuitry includes at least one flexible boot (FB) circuit; if it is determined that the boot circuitry includes at least one FB circuit, cause the at least one FB circuit to interact with at least one of the equipment or the OS, generate device-specific boot operations based on the interaction and perform the device-specific boot operations; and perform default boot operations if it is determined that the boot circuitry does not include at least one FB circuit. 2. The device of claim 1 , wherein the at least one FB circuit operates based on bytecode included in the boot circuitry, the bytecode being interpreted during the boot operation. 3. The device of claim 1 , wherein the at least one FB circuit being to generate device-specific boot operations based on the interaction comprises the at least one FB circuit being to cause the boot operations to be aborted if at least one of a device identification or a chipset identification is not recognized. 4. The device of claim 1 , wherein the at least one FB circuit being to generate device-specific boot operations based on the interaction comprises the at least one FB circuit being to cause a particular kernel to be loaded in the device during the boot operation based on a word length associated with the OS. 5. The device of claim 4 , wherein the word length is sensed based on calculating the size of a natural integer during the boot operations. 6. The device of claim 1 , wherein the at least one FB circuit being to interact with at least one of the equipment or the OS comprises the at least one FB circuit being to sense boot variables existing in a particular directory in the device. 7. The device of claim 6 , wherein the at least one FB circuit being to generate device-specific boot operations based on the interaction comprises the at least one FB circuit being to cause at least one of data to be copied from the boot circuitry to the boot variables or data to be copied to the boot circuitry from the boot variables prior to loading the OS in the device. 8. The device of claim 1 , wherein the at least one FB circuit being to generate device-specific boot operations based on the interaction comprises the at least one FB circuit being to make information in the boot circuitry accessible to at least one of the equipment or the OS by causing a physical address to be written to a non-volatile variable in a memory in the device, the physical address indicating the location of a configuration table associated with the boot circuitry in the memory. 9. The device of claim 8 , wherein the OS comprises an application program interface to allow the OS to access the contents of the non-volatile variable in the memory. 10. The device of claim 1 , wherein the boot circuitry is configured based on the Unified Extensible Firmware Interface (UEFI) specification. 11. A method, comprising: initiating boot operations in a device comprising at least equipment, an operating system (OS) and boot circuitry; determining if the boot circuitry includes at least one flexible boot (FB) circuit to interact with at least one of the equipment or the OS during the boot operations; and performing default boot operations or device-specific boot operations based on the determination if the boot circuitry includes at least one FB circuit. 12. The method of claim 11 , wherein performing device-specific boot operations comprises causing the boot operations to be aborted if at least one of a device identification or a chipset identification sensed from the equipment is not recognized. 13. The method of claim 11 , wherein performing device-specific boot operations comprises causing a particular kernel to be loaded in the device during the boot operation based on a word length associated with the OS. 14. The method of claim 13 , wherein the word length is sensed based on calculating the size of a natural integer during the boot operations. 15. The method of claim 11 , wherein interacting with at least one of the equipment or the OS during the boot operations comprises sensing boot variables existing in a particular directory in the device. 16. The method of claim 15 , wherein performing device-specific boot operations comprises causing at least one of data to be copied from the boot circuitry to the boot variables or data to be copied to the boot circuitry from the boot variables prior to loading the OS in the device. 17. The method of claim 11 , wherein performing device-specific boot operations comprises making information in the boot circuitry accessible to at least one of the equipment or the OS by causing a physical address to be written to a non-volatile variable in a memory in the device, the physical address indicating the location of a configuration table associated with the boot circuitry in the memory. 18. At least one machine-readable storage medium having stored thereon, individually or in combination, instructions that when executed by one or more processors result in the following operations comprising: initiating boot operations in a device comprising at least equipment, an operating system (OS) and boot circuitry; determining if the boot circuitry includes at least one flexible boot (FB) circuit to interact with at least one of the equipment or the OS during the boot operations; and performing default boot operations or device-specific boot operations based on the determination if the boot circuitry includes at least one FB circuit. 19. The medium of claim 18 , wherein performing device-specific boot operations comprises causing the boot operations to be aborted if at least one of a device identification or a chipset identification sensed from the equipment is not recognized. 20. The medium of claim 18 , wherein performing device-specific boot operations comprises causing a particular kernel to be loaded in the device during the boot operation based on a word length associated with the OS. 21. The medium of claim 20 , wherein the word length is sensed based on calculating the size of a natural integer during the boot operations. 22. The medium of claim 18 , wherein interacting with at least one of the equipment or the OS during the boot operations comprises sensing boot variables existing in a particular directory in the device. 23. The medium of claim 22 , wherein performing device-specific boot operations comprises causing at least one of data to be copied from the boot circuitry to the boot variables or data to be copied to the boot circuitry from the boot variables prior to loading the OS in the device. 24. The medium of claim 18 , wherein performing device-specific boot operations comprises making information in the boot circuitry accessible to at least one of the equipment or the OS by causing a physical address to be written to a non-volatile variable in a memory in the device, the physical address indicating the location of a configuration table associated with the boot circuitry in the memory.

Assignees

Inventors

Classifications

  • G06F9/4403Primary

    Processor initialisation · CPC title

  • G06F9/4401Primary

    Bootstrapping (security arrangements therefor G06F21/57) · CPC title

  • Multiboot arrangements, i.e. selecting an operating system to be loaded · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9411601B2 cover?
The present disclosure is directed to flexible bootstrap code architecture. A device may comprise equipment for operating the device and an operating system (OS) for operating the equipment. A boot module may also be included in the device to execute boot operations. At least one flexible boot (FB) module in the boot module may interact with the equipment and/or OS during the boot operations to…
Who is the assignee on this patent?
Zimmer Vincent J, Anvin H P, Rothman Michael A, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F9/4403. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 09 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).