US 11,907,774 B2
Stack safety for independently defined operations
Nathan B. Elsishans, Hellertown, PA (US); and Francois Carouge, Coopersburg, PA (US)
Assigned to Lutron Technology Company LLC, Coopersburg, PA (US)
Filed by Lutron Technology Company LLC, Coopersburg, PA (US)
Filed on Jun. 14, 2021, as Appl. No. 17/346,950.
Application 17/346,950 is a continuation of application No. 16/112,328, filed on Aug. 24, 2018, granted, now 11,036,569.
Claims priority of provisional application 62/549,637, filed on Aug. 24, 2017.
Prior Publication US 2022/0043700 A1, Feb. 10, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/54 (2006.01); G06F 9/50 (2006.01); G06F 9/46 (2006.01)
CPC G06F 9/547 (2013.01) [G06F 9/461 (2013.01); G06F 9/5016 (2013.01); G06F 9/544 (2013.01)] 15 Claims
OG exemplary drawing
 
1. 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.