Developing with the Unified Extensible Firmware Interface
Vincent Zimmer, Suresh Marisetty, Michael Rothman

#BIOS
#Firmware
#PEI
#DXE
This book provides an overview of modern boot firmware, including the Unified Extensible Firmware Interface (Uefi) and its associated Efi Developer Kit Ii (Edkii) firmware. The authors have each made significant contributions to developments in these areas. The reader will learn to use the latest developments in Uefi on modern hardware, including open source firmware and open hardware designs. The book begins with an exploration of interfaces exposed to higher-level software and operating systems, and commences to the left of the boot timeline, describing the flow of typical systems, beginning with the machine restart event. Software engineers working with Uefi will benefit greatly from this book, while specific sections of the book address topics relevant for a general audience: system architects, pre-operating-system application developers, operating system vendors (loader, kernel), independent hardware vendors (such as for plug-in adapters), and developers of end-user applications. As a secondary audience, project technical leaders or managers may be interested in this book to get a feel for what their engineers are doing. The reader will find: * An overview of Uefi and underlying Platform Initialization (Pi) specifications * How to create Uefi applications and drivers * Workflow to design the firmware solution for a modern platform * Advanced usages of Uefi firmware for security and manageability
Table of Contents
Chapter 1 - Introduction
Chapter 2 - Basic UEFI Architecture
Chapter 3 - UEFI Driver Model
Chapter 4 - Protocols You Should Know
Chapter 5 - UEFI Runt ime
Chapter 6 - UEFI Console Services
Chapter 7 - Different Types of Platforms
Chapter 8 - DXE Basics: Core, Dispatching, and Drivers
Chapter 9 - Some Common UEFI and Pl Functio ns
Chapter 10 - Platform Security and Trust
Chapter 11 - Boot Device Selection
Chapter 12 - Boot Flows
Chapter 13 - Pre-EFI Init ialization (PEI)
Chapter 14 - Putting It All Together- Firmware Emulation
Chapter 15 - Reducing Platform Boot Times
Chapter 16 - Embedded Boot Solution
Chapter 17 - Manageability
Append ix A - Data Types
Append ix B - Status Codes
About the Author
Vincent Zimmer was born in Houston, Texas, where he also grew up. Vincent attended Cornell University in Ithaca, New York, and achieved a Bachelor of Science in Electrical Engineering. Vincent has worked for various technology companies, including Intel Corporation, where he has been employed since 1997. While working at Intel, Vincent received his Master of Science degree in Computer Science from the University of Washington in Seattle, Washington. During Vincent's 30+ year career working on embedded systems and firmware, he has received over 450 US patents https://scholar.google.com/citations?









