What is AET?
Architectural Event Trace (AET) is a technology that was introduced in the 2nd/3rd Generation Intel® Core processor family; AET allows instrumentation of software execution without direct modification of the software itself. AET provides a profile of the Architecture events. This is accomplished by enabling a feature in the CPU that allows tracing of IA32 architectural events (Events). Each event emits IA32 architectural state (Data) that is relevant to that event. For example, AET can trace the occurrence of hardware-interrupts (events) and the interrupt vector that was executed (data). Access to AET is through the debug port. Contact your Intel representative to learn how you can get access to this technology.
How does AET improve the debug experience?
Events that are supported with AET include interrupts, exceptions, RDMSR, WRMSR, IN and Out instructions, Code/Data Breakpoints, SMI, MWAIT etc. Tracing of these events can be enabled by setting bits in an MSR. Once enabled CPU sends out debug information when the events are encountered during software execution. This debug information can be captured in a variety of ways (debug port, memory etc) which is then processed by tools to show a trace (with time stamp) of the events that occurred during software execution. During platform debug, software debuggers can be setup to trigger and stop on failing conditions, but it is difficult to figure out what paths in software were taken to reach the failing condition. AET augments debuggers by helping track the execution path by showing a trace of events that occurred during the software execution.
What is GDXC?
GDXC (Generic Debug External Connection) is an internal tracing capability that was introduced in 2nd/3rd Generation Intel® Core processor family. While software is executing on the processor, transactions and events inside the CPU can be traced to aid in debug of software/hardware failures in the processor/system. GDXC is a technology that provides internal CPU information in a packet format to the external world to be used for debug and validation purposes. GDXC allows observability of UNCORE and power events in real time. Contact your Intel representative to learn how you can get access to this technology.
How does GDXC improve debug experience?
GDXC can provide traces of Ring, memory, IO, power management and other such transactions while software is running on the CPU, which can then be used to debug hardware/software failures. GDXC tracing can be enabled through debug tools that are provided by Intel and Third Party Vendors. Transactions that are traced vary from product to product but generally provide information about memory, IO traffic and events requested by software. GDXC can help debug the common cases where the system hangs, failures that connected to UNCORE and platform interaction, Data corruption, Power issues and more. GDXC provides elaborate trace of memory and IO requests, CoreID, Special cycles, Cache coherency attributes. By analyzing traces, the user in many cases may find the root cause of the failure.