Dekorationsartikel gehören nicht zum Leistungsumfang.
Beyond BIOS
Developing with the Unified Extensible Firmware Interface, Third Edition
Taschenbuch von Vincent Zimmer (u. a.)
Sprache: Englisch

67,40 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

Lieferzeit 1-2 Wochen

Kategorien:
Beschreibung

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

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
Über den Autor
Vincent Zimmer Engineer, WA, USA, Suresh Marisetty Systems Architect, CA, USA, Michael Rothman Engineer,WA, USA
Inhaltsverzeichnis

Acknowledgements | v

Preface | vii

Chapter 1 - Introduction | 1

Terminology | 4

Short History of EFI | 5

EFI Becomes UEFI-The UEFI Forum | 6

PIWG and USWG | 8

Platform Trust/Security | 11

Embedded Systems: The New Challenge | 12

How the Boot Process Differs between a Normal Boot and an

Optimized/Embedded Boot | 13

Summary | 14

Chapter 2 - Basic UEFI Architecture | 15

Objects Managed by UEFI-based Firmware | 15

UEFI System Table | 16

Handle Database | 16

Protocols | 18

Working with Protocols | 21

Multiple Protocol Instances | 21

Tag GUID | 21

UEFI Images | 22

Applications | 25

OS Loader | 25

Drivers | 26

Events and Task Priority Levels | 27

Summary | 30

Chapter 3 - UEFI Driver Model | 31

Why a Driver Model Prior to OS Booting? | 31

Driver Initialization | 32

Host Bus Controllers | 33

Device Drivers | 35

Bus Drivers | 36

Platform Components | 38

Hot Plug Events | 38

Pseudo Code | 41

Device Driver | 41

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

Start() | 42

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

to Start(): | 43

Additional Innovations | 47

Security | 47

Manageability | 48

Networking | 49

Summary | 52

Chapter 4 - Protocols You Should Know | 53

EFI OS Loaders | 55

Device Path and Image Information of the OS Loader | 56

Accessing Files in the Device Path of the OS Loader | 57

Finding the OS Partition | 58

Getting the Current System Configuration | 60

Getting the Current Memory Map | 61

Getting Environment Variables | 62

Transitioning to an OS Kernel | 63

Summary | 63

Chapter 5 - UEFI Runtime | 65

Isn't There Only One Kind of Memory? | 66

How Are Runtime Services Exposed? | 69

Time Services | 70

Why Abstract Time? | 70

Get Time | 70

Set Time | 71

Get Wakeup Time | 72

Set Wakeup Time | 72

Virtual Memory Services | 72

Set Virtual Address Map | 73

ConvertPointer | 73

Variable Services | 74

GetVariable | 74

GetNextVariableName | 75

SetVariable | 75

Miscellaneous Services | 77

Reset System | 78

Get Next High Monotonic Count | 79

UpdateCapsule | 79

QueryCapsuleCapabilities | 80

Summary | 80

Chapter 6 - UEFI Console Services | 81

Simple Text Input Protocol | 83

Simple Text Input Ex Protocol | 86

Simple Text Output Protocol | 87

Remote Console Support | 89

Console Splitter | 92

Network Consoles | 93

Summary | 95

Chapter 7 - Different Types of Platforms | 97

Summary | 110

Chapter 8 - DXE Basics: Core, Dispatching, and Drivers | 111

DXE Core | 112

Hand-Off Block (HOB) List | 114

DXE Architectural Protocols | 115

EFI System Table | 117

EFI Boot Services Table | 118

EFI Runtime Services Table | 119

DXE Services Table | 119

Global Coherency Domain Services | 120

GCD Memory Resources | 120

GCD I/O Resources | 122

DXE Dispatcher | 123

The a priori File | 125

Dependency Grammar | 125

DXE Drivers | 126

Boot Device Selection (BDS) Phase | 127

Console Devices | 128

Boot Devices | 129

Boot Services Terminate | 129

Summary | 130

Chapter 9 - Some Common UEFI and PI Functions | 131

Architectural Protocol Examples | 132

CPU Architectural Protocol | 133

Real Time Clock Architectural Protocol | 135

Timer Architectural Protocol | 135

Reset Architectural Protocol | 136

Boot Device Selection Architectural Protocol | 137

Variable Architectural Protocol | 138

Watchdog Timer Architectural Protocol | 138

PCI Protocols | 139

PCI Host Bridge Resource Allocation Protocol | 139

PCI Root Bridge I/O | 143

PCI I/O | 145

Block I/O | 147

Disk I/O | 149

Simple File System | 150

EFI File Protocol | 151

Configuration Infrastructure | 152

Using the Configuration Infrastructure | 153

Driver Model Interactions | 154

Provisioning the Platform | 155

Summary | 156

Chapter 10 - Platform Security and Trust | 157

Trust Overview | 157

Trusted Platform Module (TPM) and Measured Boot | 160

What Is a Trusted Building Block (TBB)? | 163

What Is the Point of Measurements? | 168

UEFI Secure Boot | 169

UEFI Executable Verification | 170

UEFI Networking | 173

UEFI User Identification (UID) | 176

Hardware Evolution: SRTM-to-DRTM | 177

Platform Manufacturer | 178

Vulnerability Classification | 180

Roots of Trust/Guards | 180

Summary | 181

Chapter 11 - Boot Device Selection | 183

Firmware Boot Manager | 185

Related Definitions | 188

Globally-Defined Variables | 188

Default Behavior for Boot Option Variables | 191

Boot Mechanisms | 191

Boot via Simple File Protocol | 192

Boot via LOAD_FILE Protocol | 193

Summary | 194

Chapter 12 - Boot Flows | 195

Defined Boot Modes | 196

Priority of Boot Paths | 196

Reset Boot Paths | 198

Intel® Itanium® Processor Reset | 198

Non-Power-On Resets | 199

Normal Boot Paths | 199

Basic G0-to-S0 and S0 Variation Boot Paths | 200

S-State Boot Paths | 200

Recovery Paths | 201

Discovery | 201

General Recovery Architecture | 202

Special Boot Path Topics | 203

Special Boot Paths | 203

Special Intel Itanium® Architecture Boot Paths | 203

Intel Itanium® Architecture Access to the Boot Firmware Volume | 203

Architectural Boot Mode PPIs | 207

Recovery | 207

Discovery | 208

Summary | 208

Chapter 13 - Pre-EFI Initialization (PEI) | 209

Scope | 209

Rationale | 210

Overview | 210

Phase Prerequisites | 212

Temporary RAM | 212

Boot Firmware Volume | 212

Security Primitives | 213

Concepts | 213

PEI Foundation | 213

Pre-EFI Initialization Modules (PEIMs) | 214

PEI Services | 215

PEIM-to-PEIM Interfaces (PPIs) | 215

Simple Heap | 216

Hand-Off Blocks (HOBs) | 216

Operation | 217

Dependency Expressions | 218

Verification/Authentication | 219

PEIM Execution | 219

Memory...

Details
Empfohlen (von): 22
Erscheinungsjahr: 2017
Fachbereich: Hardware
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Seiten: 322
Inhalt: XVII
305 S.
10 s/w Illustr.
10 b/w ill.
ISBN-13: 9781501514784
ISBN-10: 1501514784
Sprache: Englisch
Einband: Kartoniert / Broschiert
Autor: Zimmer, Vincent
Rothman, Michael
Marisetty, Suresh
Hersteller: Deg Press
Walter de Gruyter Inc.
Maße: 242 x 172 x 20 mm
Von/Mit: Vincent Zimmer (u. a.)
Erscheinungsdatum: 23.01.2017
Gewicht: 0,615 kg
preigu-id: 108441196
Über den Autor
Vincent Zimmer Engineer, WA, USA, Suresh Marisetty Systems Architect, CA, USA, Michael Rothman Engineer,WA, USA
Inhaltsverzeichnis

Acknowledgements | v

Preface | vii

Chapter 1 - Introduction | 1

Terminology | 4

Short History of EFI | 5

EFI Becomes UEFI-The UEFI Forum | 6

PIWG and USWG | 8

Platform Trust/Security | 11

Embedded Systems: The New Challenge | 12

How the Boot Process Differs between a Normal Boot and an

Optimized/Embedded Boot | 13

Summary | 14

Chapter 2 - Basic UEFI Architecture | 15

Objects Managed by UEFI-based Firmware | 15

UEFI System Table | 16

Handle Database | 16

Protocols | 18

Working with Protocols | 21

Multiple Protocol Instances | 21

Tag GUID | 21

UEFI Images | 22

Applications | 25

OS Loader | 25

Drivers | 26

Events and Task Priority Levels | 27

Summary | 30

Chapter 3 - UEFI Driver Model | 31

Why a Driver Model Prior to OS Booting? | 31

Driver Initialization | 32

Host Bus Controllers | 33

Device Drivers | 35

Bus Drivers | 36

Platform Components | 38

Hot Plug Events | 38

Pseudo Code | 41

Device Driver | 41

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

Start() | 42

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

to Start(): | 43

Additional Innovations | 47

Security | 47

Manageability | 48

Networking | 49

Summary | 52

Chapter 4 - Protocols You Should Know | 53

EFI OS Loaders | 55

Device Path and Image Information of the OS Loader | 56

Accessing Files in the Device Path of the OS Loader | 57

Finding the OS Partition | 58

Getting the Current System Configuration | 60

Getting the Current Memory Map | 61

Getting Environment Variables | 62

Transitioning to an OS Kernel | 63

Summary | 63

Chapter 5 - UEFI Runtime | 65

Isn't There Only One Kind of Memory? | 66

How Are Runtime Services Exposed? | 69

Time Services | 70

Why Abstract Time? | 70

Get Time | 70

Set Time | 71

Get Wakeup Time | 72

Set Wakeup Time | 72

Virtual Memory Services | 72

Set Virtual Address Map | 73

ConvertPointer | 73

Variable Services | 74

GetVariable | 74

GetNextVariableName | 75

SetVariable | 75

Miscellaneous Services | 77

Reset System | 78

Get Next High Monotonic Count | 79

UpdateCapsule | 79

QueryCapsuleCapabilities | 80

Summary | 80

Chapter 6 - UEFI Console Services | 81

Simple Text Input Protocol | 83

Simple Text Input Ex Protocol | 86

Simple Text Output Protocol | 87

Remote Console Support | 89

Console Splitter | 92

Network Consoles | 93

Summary | 95

Chapter 7 - Different Types of Platforms | 97

Summary | 110

Chapter 8 - DXE Basics: Core, Dispatching, and Drivers | 111

DXE Core | 112

Hand-Off Block (HOB) List | 114

DXE Architectural Protocols | 115

EFI System Table | 117

EFI Boot Services Table | 118

EFI Runtime Services Table | 119

DXE Services Table | 119

Global Coherency Domain Services | 120

GCD Memory Resources | 120

GCD I/O Resources | 122

DXE Dispatcher | 123

The a priori File | 125

Dependency Grammar | 125

DXE Drivers | 126

Boot Device Selection (BDS) Phase | 127

Console Devices | 128

Boot Devices | 129

Boot Services Terminate | 129

Summary | 130

Chapter 9 - Some Common UEFI and PI Functions | 131

Architectural Protocol Examples | 132

CPU Architectural Protocol | 133

Real Time Clock Architectural Protocol | 135

Timer Architectural Protocol | 135

Reset Architectural Protocol | 136

Boot Device Selection Architectural Protocol | 137

Variable Architectural Protocol | 138

Watchdog Timer Architectural Protocol | 138

PCI Protocols | 139

PCI Host Bridge Resource Allocation Protocol | 139

PCI Root Bridge I/O | 143

PCI I/O | 145

Block I/O | 147

Disk I/O | 149

Simple File System | 150

EFI File Protocol | 151

Configuration Infrastructure | 152

Using the Configuration Infrastructure | 153

Driver Model Interactions | 154

Provisioning the Platform | 155

Summary | 156

Chapter 10 - Platform Security and Trust | 157

Trust Overview | 157

Trusted Platform Module (TPM) and Measured Boot | 160

What Is a Trusted Building Block (TBB)? | 163

What Is the Point of Measurements? | 168

UEFI Secure Boot | 169

UEFI Executable Verification | 170

UEFI Networking | 173

UEFI User Identification (UID) | 176

Hardware Evolution: SRTM-to-DRTM | 177

Platform Manufacturer | 178

Vulnerability Classification | 180

Roots of Trust/Guards | 180

Summary | 181

Chapter 11 - Boot Device Selection | 183

Firmware Boot Manager | 185

Related Definitions | 188

Globally-Defined Variables | 188

Default Behavior for Boot Option Variables | 191

Boot Mechanisms | 191

Boot via Simple File Protocol | 192

Boot via LOAD_FILE Protocol | 193

Summary | 194

Chapter 12 - Boot Flows | 195

Defined Boot Modes | 196

Priority of Boot Paths | 196

Reset Boot Paths | 198

Intel® Itanium® Processor Reset | 198

Non-Power-On Resets | 199

Normal Boot Paths | 199

Basic G0-to-S0 and S0 Variation Boot Paths | 200

S-State Boot Paths | 200

Recovery Paths | 201

Discovery | 201

General Recovery Architecture | 202

Special Boot Path Topics | 203

Special Boot Paths | 203

Special Intel Itanium® Architecture Boot Paths | 203

Intel Itanium® Architecture Access to the Boot Firmware Volume | 203

Architectural Boot Mode PPIs | 207

Recovery | 207

Discovery | 208

Summary | 208

Chapter 13 - Pre-EFI Initialization (PEI) | 209

Scope | 209

Rationale | 210

Overview | 210

Phase Prerequisites | 212

Temporary RAM | 212

Boot Firmware Volume | 212

Security Primitives | 213

Concepts | 213

PEI Foundation | 213

Pre-EFI Initialization Modules (PEIMs) | 214

PEI Services | 215

PEIM-to-PEIM Interfaces (PPIs) | 215

Simple Heap | 216

Hand-Off Blocks (HOBs) | 216

Operation | 217

Dependency Expressions | 218

Verification/Authentication | 219

PEIM Execution | 219

Memory...

Details
Empfohlen (von): 22
Erscheinungsjahr: 2017
Fachbereich: Hardware
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Seiten: 322
Inhalt: XVII
305 S.
10 s/w Illustr.
10 b/w ill.
ISBN-13: 9781501514784
ISBN-10: 1501514784
Sprache: Englisch
Einband: Kartoniert / Broschiert
Autor: Zimmer, Vincent
Rothman, Michael
Marisetty, Suresh
Hersteller: Deg Press
Walter de Gruyter Inc.
Maße: 242 x 172 x 20 mm
Von/Mit: Vincent Zimmer (u. a.)
Erscheinungsdatum: 23.01.2017
Gewicht: 0,615 kg
preigu-id: 108441196
Warnhinweis

Ähnliche Produkte

Ähnliche Produkte