The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Dec. 14, 2004
Filed:
Apr. 12, 2001
Corene Casper, Round Rock, TX (US);
Randal Craig Swanberg, Round Rock, TX (US);
International Business Machines Corporation, Armonk, NY (US);
Abstract
An apparatus, method and computer program product for stopping processors in a multiprocessor system without using non-maskable interrupts are provided. With the apparatus, method and computer program product, at system initialization time, a copy of the operating system (OS) kernel is copied to a new physical location in memory. When a processor enters the debugger due to the occurrence of an event, the debugger switches its virtual-to-physical address mapping to point to the new copy of the OS kernel. The original copy of the OS kernel is then modified by inserting breakpoints, e.g., interrupts, in a repeating pattern in the text of the original copy of the OS kernel, with the exception of the breakpoint handler text in the original copy of the OS kernel. A cache flush of the remaining processors is then instigated thereby forcing the remaining processors to refetch instructions from the OS kernel. When the remaining processors fetch the OS kernel instructions, the instructions are fetched from the modified OS kernel. Thus, the processors encounter the inserted breakpoints and enter a breakpoint handler. The breakpoint handler then, by virtue of the switched virtual-to-physical address mapping, redirects the processor to the new copy of the OS kernel and handles the breakpoint in a normal fashion, e.g. causes the processor to enter the debugger.