Back to results
US 11,907,774 B2Granted
Stack safety for independently defined operations
AssigneeLutron Technology Company LLC
InventorsNathan B. Elsishans, Francois Carouge
Life of this patent
Estimating the term…
Abstract
Systems and methods are disclosed for swapping or changing between stacks associated with respective applications when one application calls the other.
Claims15
An apparatus comprising:
- memory circuitry;
- and
- processor circuitry communicatively coupled to the memory circuitry, the processor circuitry to:
- responsive to a call by an operating system (OS) update application using an operating system (OS) stack to execute a boot function included with a boot loader application using a boot stack:
- determine whether the stack pointer register points to the OS stack or points to the boot stack;
- responsive to the determination that the stack pointer register points to the OS stack:
- copy first data values from the OS stack to the boot stack;
- transition the stack pointer register to point from the OS stack to the boot stack;
- and
- execute the boot function using the boot stack and the first data values copied from the OS stack;
- and
- responsive to completion of the boot function:
- copy second data values generated by the execution of the boot function using the boot stack from the boot stack to the OS stack;
- transition the stack pointer register from the boot stack to point to the OS stack;
- and
- continue execution of the OS update application using the OS stack and the second data values copied from the boot stack.
13 more elements
A method comprising:
- responsive to a call by an operating system (OS) update application executed by processor circuitry using a OS stack to execute a boot function included with a boot loader application using a boot stack:
- determining, by the processor circuitry, whether the stack pointer register points to the OS stack or points to the boot stack;
- copying, by the processor circuitry, first data values from the OS stack to the boot stack responsive to the determination that the stack pointer register points to the OS stack;
- transitioning the stack pointer register to point from the OS stack to the boot stack;
- and executing, by the processor circuitry, the boot function using the boot stack and the first data values copied from the OS stack;
- responsive to completion of the boot function;
- copying, by the processor circuitry, second data values generated by the execution of the boot function using the boot stack from the boot stack to the OS stack;
- transitioning, by the processor circuitry, the stack pointer register from the boot stack to point to the OS stack;
- and
- continuing, by the processor circuitry, execution of the OS update application using the OS stack.
7 more elements
A non-transitory, machine-readable, storage device that includes instructions that, when executed by processor circuitry, causes the processor circuitry to:
- responsive to a call by an operating system (OS) update application using a OS stack to execute a boot function included with a boot loader application using a boot stack:
- determine whether the stack pointer register points to the OS stack or points to a boot stack associated with the boot loader application;
- copy first data values the OS stack to the boot stack responsive to the determination that the stack pointer register points to the OS stack;
- transition the stack pointer register to point from the OS stack to the boot stack;
- and
- execute the boot function using the boot stack and the first data values copied from the OS stack;
- and
- responsive to completion of the boot function using the boot stack:
- copy second data values generated by the execution of the boot function using the boot stack from the boot stack to the OS stack;
- transition the stack pointer register from the boot stack to point to the OS stack;
- and
- continue execution of the OS update application using the OS stack and the second data values copied from the boot stack.
9 more elements
Dependencies are inferred from the claim text.