Der Artikel wird am Ende des Bestellprozesses zum Download zur Verfügung gestellt.

Beyond BIOS

Developing with the Unified Extensible Firmware Interface, Third Edition
Sofort lieferbar | Lieferzeit: Sofort lieferbar I
ISBN-13:
9781501505690
Veröffentl:
2017
Seiten:
322
Autor:
Vincent Zimmer
Serie:
De|G Press
eBook Typ:
PDF
eBook Format:
EPUB
Kopierschutz:
0 - No protection
Sprache:
Englisch
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.
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 Discovery | 219 Intel® Itanium® Processor MP Considerations | 220 Recovery | 220 S3 Resume | 221 The ¿Terse Executable¿ and Cache-as-RAM | 222 Example System | 223 Summary | 226 Chapter 14 ¿ Putting It All Together¿Firmware Emulation | 227 Virtual Platform | 228 Emulation Firmware Phases | 230 Hardware Pass-Through | 235 Summary | 236 Chapter 15 ¿ Reducing Platform Boot Times | 237 Proof of Concept | 240 Marketing Requirements | 241 What Are the Design Goals? | 242 Platform Policy | 242 What Are the Supported OS Targets? | 243 Do We Have to Support Legacy Operating Systems? | 243 Do We Have to Support Legacy Option ROMs? | 243 Are We Required to Display an OEM Splash Screen? | 244 What Type of Boot Media Is Supported? | 244 What Is the BIOS Recovery/Update Strategy? | 245 When Processing Things Early | 245 Is There a Need for Pre-OS User Interaction? | 246 Additional Details | 246 Adjusting the BIOS to Avoid Unnecessary Drivers | 246 What Is the Boot Target? | 247 Steps Taken in a Normal and Optimized Boot | 247 Loading a Boot Target | 248 Organizing the Flash Effectively | 249 Minimize the Files Needed | 249 Summary | 250 The Primary Adjustments | 250 Suggested Next Steps | 251 Chapter 16 ¿ Embedded Boot Solution | 253 CE Device Landscape | 253 CE Device Boot Challenges | 254 In-Vehicle Infotainment | 256 Other Embedded Platforms | 257 Generic Requirements | 258 Boot Strategies | 259 Power Management | 261 Boot Storage Devices | 261 Security | 263 Manageability | 267 Summary | 268 Chapter 17 ¿ Manageability | 269 Overall Management Framework | 269 Dynamic In-Band | 271 Out-of-Band | 271 Distributed Management Task Force (DMTF) | 271 UEFI Error Format Standardization | 272 UEFI Error Format Overview | 276 Error Record Types | 276 Windows Hardware Error Architecture and the Role of UEFI | 277 Technology Intercepts: UEFI, IPMI, Intel® AMT, WS-MAN | 281 Intelligent Platform Management Interface (IPMI) | 281 Intel® Active Management Technology (Intel AMT) | 283 Web Services Management Protocol (WS-MAN) | 285 Other Industry Initiatives | 285 The UEFI/IPMI/Intel® AMT/WS-MAN Bridge | 286 IPMI Error Records to UEFI | 287 UEFI Error Records to IPMI | 287 Intel® AMT and IPMI | 287 Future Work | 288 Configuration Namespace | 288 Namespace Entries | 292 Summary | 293 Appendix A ¿ Data Types | 295 Appendix B ¿ Status Codes | 297 Index | 301

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.

Google Plus
Powered by Inooga