Intel® Platform Analysis Library (Intel® PAL)

Enable System Debug and Trace for Tool Vendors

  • A software framework for tool vendors and developers
  • A set of system debug and trace APIs for Intel® architecture

This software framework for tool vendors and developers includes set of system debug and trace APIs for Intel® architecture. It provides the following set of frameworks and standardized platform APIs:

  • Intel® Trace Framework to support platform-wide hardware and software tracing capabilities
  • Intel® Debug Framework to support JTAG-based system debug for platforms based on Intel® architecture


Intel® Trace Framework

Intel® Trace Hub Support Library (Intel® THSL)

This collection of software libraries enables software developers to support Intel® Trace Hub (Intel® TH) technology. Many Intel® platforms contain Intel TH hardware that when used in conjunction with the software libraries, allows combined software debug and tracing usages. It provides time correlation between software, firmware, and hardware traces to provide a system-wide view of the platform’s behavior.

Intel® Processor Trace Decoder Library

This minimally intrusive trace solution provides precise control flow and performance information in a highly compressed binary format. The Intel® Processor Trace Decoder Library is a set of APIs that facilitates Intel's hardware instruction trace mechanism to analyze past execution flow. It does the following:

  • Reconstructs the program flow
  • Shows exact software behavior on an instruction level
  • Applies time stamps on a basic block level in a cycle-accurate mode

Intel® Debug Framework

Intel® Debug Support Library

This library provides business logic and a set of APIs to enable execution control and architectural state access of Intel® CPUs over a JTAG interface. Developers can use this library to quickly implement a JTAG-based debug tool. For example, when used to develop a debug solution, the library provides functionality such as a debug of BIOS, operating systems, or other low-level software that require a high degree of hardware-level execution control.