US 12,118,362 B2
Behavioral implementation of a double fault stack in a computer system
Cyprien Laplace, Boston, MA (US); Sunil Kumar Kotian, San Jose, CA (US); Andrei Warkentin, South Elgin, IL (US); Regis Duchesne, Monts-de-Corsier (CH); Alexander Fainkichen, Southborough, MA (US); Shruthi Muralidhara Hiriyuru, Medford, MA (US); and Ye Li, Cambridge, MA (US)
Assigned to VMware LLC, Palo Alto, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on Dec. 22, 2021, as Appl. No. 17/559,346.
Prior Publication US 2023/0195470 A1, Jun. 22, 2023
Int. Cl. G06F 9/30 (2018.01); G06F 9/38 (2018.01); G06F 9/455 (2018.01)
CPC G06F 9/3861 (2013.01) [G06F 9/45558 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of exception handling in a computer system, the computer system including a physical central processing unit (PCPU) and a system memory, the system memory storing a first stack, a second stack, and a double fault stack associated with the PCPU, the method comprising:
calling, by the PCPU, a second exception handler in response a stack overflow condition of the first stack caused a first exception handler, the first and second exception handlers executing in the computer system;
storing, by the second exception handler, an exception frame on the double fault stack in response to the stack overflow condition of the first stack;
switching, by the second exception handler, a first stack pointer of the PCPU from pointing to the first stack to pointing to the double fault stack;
setting a current stack pointer of the PCPU to the first stack pointer; and
executing software on the PCPU with the current stack pointer pointing to the double fault stack.