Category: Software Debug and Trace – Intel

In my webinar with the UEFI Forum, I demonstrated some of the utility of using JTAG functionality within BMCs to perform out-of-band debug. This is a tutorial on the coding practices to use the SED API.
This past week, I did a webinar in collaboration with the UEFI Forum on JTAG-based UEFI Debug and Trace. This reviewed some of the often-used tools for low-level triage of difficult-to-diagnose, intermittent bugs. Near the end, I demonstrated the usage of technology running directly down on a BMC to perform low-level functions not achievable with firmware or OS-based applications.
Iโ€™ve been working from home for quite some time now, and donโ€™t have access to all the equipment I normally would have at the office. And Iโ€™ve wanted to flash the MinnowBoard (and some other boards). So, rather than wait for the coronavirus shelter-in-place to lift, I went out and bought a DediProg SF100 of my own. Hereโ€™s my out-of-the-box experience.
As everyone who works with server designs knows, Intel publishes a group of JTAG-based scripts called the Intel Customer Scripts (ICS, or CScripts for short). The CScripts are derived from internal applications that Intel uses for silicon validation, and they are enormously useful for board bring-up and debug. This week, I took a look at them, and ran some with SourcePoint.
In my last few blogs, Iโ€™ve looked at the use of Intel Trace features for capturing valuable debug information. In particular, Architectural Event Trace (AET) and Management Engine (ME) message trace are very powerful capabilities. This week, we put these trace events in a meaningful code context by correlating them with Intel Processor Trace (IPT).
Last week, I used Architectural Event Trace (AET) to capture all events that invoked Model Specific Register (MSR) reads and writes. This week, I use the Trace Hub to trace Intel Management Engine (ME, also known as Converged Security and Management Engine (CSME)) events.
Archives