Contents

Acknowledgements

Preface

Chapter 1 – Introduction

Terminology

Short History of EFI

EFI Becomes UEFI—The UEFI Forum

PIWG and USWG

Platform Trust/Security

Embedded Systems: The New Challenge

How the Boot Process Differs between a Normal Boot and an Optimized/Embedded Boot

Summary

Chapter 2 – Basic UEFI Architecture

Objects Managed by UEFI-based Firmware

UEFI System Table

Handle Database

Protocols

Working with Protocols

Multiple Protocol Instances

Tag GUID

UEFI Images

Applications

OS Loader

Drivers

Events and Task Priority Levels

Summary

Chapter 3 – UEFI Driver Model

Why a Driver Model Prior to OS Booting?

Driver Initialization

Host Bus Controllers

Device Drivers

Bus Drivers

Platform Components

Hot Plug Events

Pseudo Code

Device Driver

Bus Driver that Creates All of Its Child Handles on the First Call to Start()

Bus Driver that Is Able to Create All or One of Its Child Handles on Each Call to Start():

Additional Innovations

Security

Manageability

Networking

Summary

Chapter 4 – Protocols You Should Know

EFI OS Loaders

Device Path and Image Information of the OS Loader

Accessing Files in the Device Path of the OS Loader

Finding the OS Partition

Getting the Current System Configuration

Getting the Current Memory Map

Getting Environment Variables

Transitioning to an OS Kernel

Summary

Chapter 5 – UEFI Runtime

Isn’t There Only One Kind of Memory?

How Are Runtime Services Exposed?

Time Services

Why Abstract Time?

Get Time

Set Time

Get Wakeup Time

Set Wakeup Time

Virtual Memory Services

Set Virtual Address Map

ConvertPointer

Variable Services

GetVariable

GetNextVariableName

SetVariable

Miscellaneous Services

Reset System

Get Next High Monotonic Count

UpdateCapsule

QueryCapsuleCapabilities

Summary

Chapter 6 – UEFI Console Services

Simple Text Input Protocol

Simple Text Input Ex Protocol

Simple Text Output Protocol

Remote Console Support

Console Splitter

Network Consoles

Summary

Chapter 7 – Different Types of Platforms

Summary

Chapter 8 – DXE Basics: Core, Dispatching, and Drivers

DXE Core

Hand-Off Block (HOB) List

DXE Architectural Protocols

EFI System Table

EFI Boot Services Table

EFI Runtime Services Table

DXE Services Table

Global Coherency Domain Services

GCD Memory Resources

GCD I/O Resources

DXE Dispatcher

The a priori File

Dependency Grammar

DXE Drivers

Boot Device Selection (BDS) Phase

Console Devices

Boot Devices

Boot Services Terminate

Summary

Chapter 9 – Some Common UEFI and PI Functions

Architectural Protocol Examples

CPU Architectural Protocol

Real Time Clock Architectural Protocol

Timer Architectural Protocol

Reset Architectural Protocol

Boot Device Selection Architectural Protocol

Variable Architectural Protocol

Watchdog Timer Architectural Protocol

PCI Protocols

PCI Host Bridge Resource Allocation Protocol

PCI Root Bridge I/O

PCI I/O

Block I/O

Disk I/O

Simple File System

EFI File Protocol

Configuration Infrastructure

Using the Configuration Infrastructure

Driver Model Interactions

Provisioning the Platform

Summary

Chapter 10 – Platform Security and Trust

Trust Overview

Trusted Platform Module (TPM) and Measured Boot

What Is a Trusted Building Block (TBB)?

What Is the Point of Measurements?

UEFI Secure Boot

UEFI Executable Verification

UEFI Networking

UEFI User Identification (UID)

Hardware Evolution: SRTM-to-DRTM

Platform Manufacturer

Vulnerability Classification

Roots of Trust/Guards

Summary

Chapter 11 – Boot Device Selection

Firmware Boot Manager

Related Definitions

Globally-Defined Variables

Default Behavior for Boot Option Variables

Boot Mechanisms

Boot via Simple File Protocol

Boot via LOAD_FILE Protocol

Summary

Chapter 12 – Boot Flows

Defined Boot Modes

Priority of Boot Paths

Reset Boot Paths

Intel® Itanium® Processor Reset

Non-Power-On Resets

Normal Boot Paths

Basic G0-to-S0 and S0 Variation Boot Paths

S-State Boot Paths

Recovery Paths

Discovery

General Recovery Architecture

Special Boot Path Topics

Special Boot Paths

Special Intel Itanium® Architecture Boot Paths

Intel Itanium® Architecture Access to the Boot Firmware Volume

Architectural Boot Mode PPIs

Recovery

Discovery

Summary

Chapter 13 – Pre-EFI Initialization (PEI)

Scope

Rationale

Overview

Phase Prerequisites

Temporary RAM

Boot Firmware Volume

Security Primitives

Concepts

PEI Foundation

Pre-EFI Initialization Modules (PEIMs)

PEI Services

PEIM-to-PEIM Interfaces (PPIs)

Simple Heap

Hand-Off Blocks (HOBs)

Operation

Dependency Expressions

Verification/Authentication

PEIM Execution

Memory Discovery

Intel® Itanium® Processor MP Considerations

Recovery

S3 Resume

The “Terse Executable” and Cache-as-RAM

Example System

Summary

Chapter 14 – Putting It All Together–Firmware Emulation

Virtual Platform

Emulation Firmware Phases

Hardware Pass-Through

Summary

Chapter 15 – Reducing Platform Boot Times

Proof of Concept

Marketing Requirements

What Are the Design Goals?

Platform Policy

What Are the Supported OS Targets?

Do We Have to Support Legacy Operating Systems?

Do We Have to Support Legacy Option ROMs?

Are We Required to Display an OEM Splash Screen?

What Type of Boot Media Is Supported?

What Is the BIOS Recovery/Update Strategy?

When Processing Things Early

Is There a Need for Pre-OS User Interaction?

Additional Details

Adjusting the BIOS to Avoid Unnecessary Drivers

What Is the Boot Target?

Steps Taken in a Normal and Optimized Boot

Loading a Boot Target

Organizing the Flash Effectively

Minimize the Files Needed

Summary

The Primary Adjustments

Suggested Next Steps

Chapter 16 – Embedded Boot Solution

CE Device Landscape

CE Device Boot Challenges

In-Vehicle Infotainment

Other Embedded Platforms

Generic Requirements

Boot Strategies

Power Management

Boot Storage Devices

Security

Manageability

Summary

Chapter 17 – Manageability

Overall Management Framework

Dynamic In-Band

Out-of-Band

Distributed Management Task Force (DMTF)

UEFI Error Format Standardization

UEFI Error Format Overview

Error Record Types

Windows Hardware Error Architecture and the Role of UEFI

Technology Intercepts: UEFI, IPMI, Intel® AMT, WS-MAN

Intelligent Platform Management Interface (IPMI)

Intel® Active Management Technology (Intel AMT)

Web Services Management Protocol (WS-MAN)

Other Industry Initiatives

The UEFI/IPMI/Intel® AMT/WS-MAN Bridge

IPMI Error Records to UEFI

UEFI Error Records to IPMI

Intel® AMT and IPMI

Future Work

Configuration Namespace

Namespace Entries

Summary

Appendix A – Data Types

Appendix B – Status Codes

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset