Browse Prior Art Database

Methodology improvements lost interrupt state handling software recovery for Instruction Tracing Disclosure Number: IPCOM000010547D
Original Publication Date: 2002-Dec-16
Included in the Prior Art Database: 2002-Dec-16
Document File: 1 page(s) / 40K

Publishing Venue



Adaptive approach for maintaining Instruction Tracing state when code or hardware changes the Machine state related to single stepping

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 60% of the total text.

Page 1 of 1

  Methodology improvements lost interrupt state handling software recovery for Instruction Tracing

Instruction tracing is an important tool for determining what is happening in the software at a system level with a given application or a set of applications. However, implementation of the tracing methodology can be a very difficult task to perform reliably. This is especially true in systems where the operating systems are shipped as Object Code Only (OCO), such as, the Microsoft Windows* products. One of the problems related to the implementation of instruction tracing or even just tracing branches [supported by Intel IA64 ** architecture and PowerPC *** processors] is the problem that when an interrupt is taken, the single step state or interrupt on branch state is lost. This state is lost and will not be restored on IA64, X86, and PowerPC architectures unless the software fielding the interrupts updates the context to restore the appropriate state. A special case for this is when control is passed to the Basic Input/Output Services (BIOS) or the platform firmware.

This is handled by modifying the Interrupt Processor Status Register (IPSR) so that a Return From Interrupt (RFI) always restores the SS flag. On X86 this may be done by having a tracing version of the interrupt vector which goes to the tracing code, which in turn calls the service routine, which returns to the tracing code. On IA64, there is an architect vector for the same type of support.

With BIOS...