Methods and apparatus for loading firmware on demand
AssigneeApple Inc.
InventorsVladislav Petkov, Haining Zhang, Karan Sanghi, Saurabh Garg
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for enabling a peripheral processor to retrieve and load firmware for execution within the constraints of its memory. The peripheral processor is allocated a portion of the host processor's memory, to function as a logical secondary and tertiary memory for memory cache operation. The described embodiments enable the peripheral processor to support much larger and more complex firmware. Additionally, a multi-facetted locking mechanism is described which enables the peripheral processor and the host processor to access the secondary memory, while minimally impacting the other processor.
Claims20
A method for initializing firmware for execution on a processor with limited access to memory, comprising:
- executing a portion of a firmware image;
- generating a page fault when a memory access for the firmware image is outside of a resident memory range, the page fault configured to cause a host processor to service the page fault;
- and
- resuming execution of the firmware image.
An electronic device configured to initialize firmware for execution on a processor with limited access to memory, comprising:
- a host processor;
- a peripheral processor;
- a physical bus interface configured to couple the host processor to the peripheral processor;
- and
- a software framework configured to be executed by the host processor and the peripheral processor, the software framework comprising logic configured to:
- execute a portion of a firmware image located within a primary memory of the peripheral processor;
- generate a page fault when a memory access for the firmware image is outside of a resident memory range located within the primary memory of the peripheral processor, the page fault configured to cause the host processor to service the page fault;
- service the page fault by the host processor;
- and
- resume execution of the firmware image by the peripheral processor.
A peripheral processing device, comprising:
- a processing unit;
- an execution memory in signal communication with the processing unit;
- and
- a physical bus interface in communication with the processing unit, the physical bus interface coupled to a communications link;
- wherein the peripheral processing device is further configured to:
- execute a portion of a firmware image located within the execution memory;
- generate a page fault when a memory access for the firmware image is outside of a memory range associated with the execution memory, the page fault configured to cause a host processor to service the page fault;
- and
- resume execution of the firmware image.
Dependencies are inferred from the claim text.