Installing And Configuring UDK2018/Clang 7.0 On Fedora 29

This post shows you how to install the UDK2018 snapshot of EDK2 on Fedora 29 and build 64-bit UEFI applications using the Clang 7.0 toolchain.

Simple CPUID Utility For UEFI Shell

This post discusses the CPUID opcode which is available for IA32 and IA64/AMD64 platforms. The source code for a simple cpuid utility is also provided.

Using the EFI_SHELL_PROTOCOL To Read a File

In this post, I provide the source code for a working UEFI shell application which displays the contents of an ASCII file using functionality provided by EFI_SHELL_PROTOCOL.

UEFI Utility to Read TPM 2.0 PCRs

In this post, I discuss a number of key TPM 2.0 features such as multiple algorithm support and PCR banks, and provide the source code for a UEFI shell utility to display the digests from the first 24 PCRs of a TPM 2.0 implementation.

RNG Protocol Error in Lenovo ThinkPad Firmware

This post discusses the UEFI 2.4 Random Number Generator protocol and Lenovo’s current implementation of the protocol and suggests there is an error in their implementation.