Artificial reality system with verified boot sequences
AssigneeFacebook Technologies, LLC
InventorsTeman David Clark-Lindh, Benjamin Joseph Mossawir, David Stanley Bormann
Life of this patent
Estimating the term…
Abstract
In general, techniques are described for improving security of a boot sequence of an application processor. In some examples, a computing device includes a first processor coupled to a first storage device, the first processor and first storage device configured to obtain firmware from a storage device external to the first processor; run a verification routine on the firmware; and in response to validation of the firmware with the verification routine, communicate the firmware to a second processor; and the second processor coupled to a second storage device, the second processor and second storage device configured to load the firmware.
Claims19
A method comprising:
- storing, within a memory of a boot processor, a firmware image retrieved from a storage device external to the boot processor, the firmware image including firmware required to boot another processor;
- running, by the boot processor, a verification routine on the firmware image stored within the memory of the boot processor to validate the firmware in the firmware image;
- executing a storage protocol at the boot processor to emulate, to the application processor, a storage device;
- receiving at the boot processor, from an application processor, a request in the storage protocol for firmware needed to boot the application processor;
- and
- transferring, using the storage protocol, the firmware requested to the application processor for use in booting the application processor.
A computing device comprising:
- a first processor coupled to a first storage device, the first processor and first storage device configured to:
- store, within the first storage device, firmware retrieved from a storage device external to the first processor, the firmware image including firmware required to boot another processor;
- run, within the first processor, a verification routine on the retrieved firmware to validate the firmware;
- execute at the first processor a storage protocol to emulate, to a second processor, the external storage device;
- receive, at the first processor, a request from the second processor for firmware needed to boot the second processor;
- and
- transfer the firmware requested to the second processor using the storage protocol.
An artificial reality system comprising:
- a first System-on-Chip (SoC) comprising a first processor and an embedded storage device;
- a storage device external to the first SoC;
- and
- a second SoC comprising a second processor,
- wherein the first processor is configured to:
- store, within the embedded storage device, firmware transferred from the storage device external to the first SoC, the firmware required to boot the second processor;
- execute a storage protocol to emulate, to the second processor, a storage device;
- and
- in response to validating the firmware with a verification routine, transfer the firmware required to boot the second processor from the embedded storage device to the second processor via the storage protocol and initiate a boot of the second processor,
- wherein the second processor is configured to obtain the firmware from the embedded storage device of the first SoC and to execute the firmware as part of a boot sequence.
Dependencies are inferred from the claim text.