UEFI 2.1 and PI 1.0 Details and Differences Michael A

UEFI 2.1 and PI 1.0 Details and Differences Michael A

Plug-fest MULTIPLY YOUR INNOVATION AND MAXIMIZE YOUR POTENTIAL MULTIPLY YOUR KNOWLEDGE Plug-fest UEFI 2.1 and PI 1.0 Details and Differences Michael A. Rothman One of the many UEFI guys Agenda • A look at EFI and UEFI Overview • UEFI 2.1 New Content and Changes • Concept Demo • PI 1.0 Content and Changes • Future Development and Test Plans Plug-fest 3 EFI and UEFI Overview Brief History On EFI y Interface specification - Implementation agnostic OS Loader y Abstracts BIOS from OS - Decouples development EFI y Compatible by design - Evolution, not revolution BIOS Compatibility y Modular and extensible Hardware - OS-Neutral value add y Provide efficient Option ROM Replacement - Common source for multiple CPU architectures EFI is the successor to BIOS Plug-fest 4 EFI and UEFI Overview UnifiedUnified EFIEFI Forum,Forum, Inc.Inc. createdcreated forfor standardizationstandardization A Washington non-profit Corporation - Develops, promotes and manages evolution of Unified EFI Specification - Continue to drive low barrier for adoption Promoter members: - AMD, AMI, Apple, Dell, HP, IBM, Insyde, Intel, Lenovo, Microsoft, Phoenix Tiered Membership: - Promoters, Contributors and Adopters More information: www.uefi.org Industry momentum for BIOS standardization Plug-fest 5 EFI and UEFI Overview UEFIUEFI MembershipMembership Promoters: board and corporate officers Contributors: - Corporations, groups or individuals wanting to participate in UEFI - Chance to join work groups and contribute to spec or test development - Early access to drafts and work in progress Adopters: - Any entity wanting to implement the specification Membership is open / encourages industry participation Plug-fest 6 EFI and UEFI Overview HowHow thethe ForumForum WorksWorks UEFI Board USWG UCST PIWG UNST USST UTWG USHT ICWG Each sub-team focuses Publications/Decisions Each work group on specific topics and ratified by the board approves/delivers different contributes material to content to the public. the work group. Many groups working together to Standardize Firmware Plug-fest 7 EFI and UEFI Overview UEFI interactions with Industry Technical Committees USWG UCST SMBIOS DMWG/SMWG UEFI collaborates with industry PMCI/etc Plug-fest 8 AgendaAgenda ••A look at EFI and UEFI Overview ••UEFI 2.1 New Content and Changes ••Concept Demo ••PI 1.0 Content and Changes ••Future Development and Test Plans Plug-fest 9 UEFI 2.1 Content and Changes UEFIUEFI ConfigurationConfiguration InfrastructureInfrastructure y Introduced the Human Interface Infrastructure (HII) y Problem Statement - No standard/interoperable mechanism to address pre-boot based issues like: Localization • Standard delivery of string packages Fonts • Create standard glyph support along with optional font styles Shared Configuration Infrastructure • Alleviate the burden for many configuration engines in a system (e.g. add-in device no longer needs to delay boot or poll for hot-keys, etc) - Should be able to also address: Human -> Machine system configuration • Think Setup Machine -> Machine system configuration • Think Automation Plug-fest 10 UEFI 2.1 Content and Changes Human Interface Infrastructure Goals: •• A simplified method for localization. •• Forms Representation that can support complex configuration. •• Allows for configuration in pre-boot, runtime, and remotely. •• Ability for various drivers from different sources (including add-in cards) to interact with configuration infrastructure •• Support User Interface on a wide range of display devices Introducing a UI/Configuration Infrastructure Plug-fest 11 UEFI 2.1 Content and Changes Configuration of Add-in Devices yDevice Access APIs Introduces abstractions to allow the platform BIOS to interact both with the motherboard as well as various other agents (e.g. Add-in device) in the system. Standard way to programmatically typedef struct { interact with IHV add-in devices. EFI_HII_EXTRACT_CONFIG ExtractConfig; EFI_HII_ROUTE_CONFIG RouteConfig; EFI_HII_FORM_CALLBACK Callback; } EFI_HII_CONFIG_ACCESS_PROTOCOL; Configuration AccessConfiguration Protocol AccessConfiguration Protocol Configuration AccessConfiguration Protocol Access Protocol AccessConfiguration Protocol AccessConfiguration Protocol AccessConfiguration Protocol AccessConfiguration Protocol Access Protocol Plug-fest 12 UEFI 2.1 Content and Changes Example usage of this methodology Evolving the infrastructure capabilities Plug-fest 13 UEFI 2.1 Content and Changes Local Configuration Infrastructure EFI System Table EFI Configuration Table GUID Pointer Table A GUID Address A Table B GUID Address B . Table Y GUID Address Y Table Z GUID Address Z Standard method to pass interesting state data up through to the OS Plug-fest 14 UEFI 2.1 Content and Changes Basic network-based configuration interactions Middleware In Band Out of Band OS SMASH UEFI 2.0 PI Architecture 1.0 Service BMC DMTF Processor Directives Physical SMP Server Server Server Plug-fest 15 UEFI 2.1 Content and Changes Advanced Usage Models y Platforms with a service processor (e.g. ME/BMC) Operating System enabled DMTF Directives Application V UEFI Firmware Configuration Configuration AccessAccessConfiguration Protocol Protocol AccessConfiguration Protocol AccessConfiguration Protocol Access Protocol Platform Hardware Plug-fest 16 UEFI 2.1 Content and Changes Advanced Usage Models Platforms without a service processor (e.g. ME/BMC) Operating System DMTF Directives Or UEFI-specific Application requests V enabled Configuration Access Protocol UEFI Firmware Configuration Configuration Access Protocol AccessConfiguration Protocol AccessConfiguration Protocol AccessConfiguration Protocol Access Protocol Platform Hardware Plug-fest 17 UEFI 2.1 Content and Changes Plug-fest 18 UEFI 2.1 New Content & Changes LocalizationLocalization Spanish US English French String ID #4 0x0000 String Representation H O L A M U N D O String ID #4 Unicode 0x0048 0x004F 0x004C 0x0041 0x0020 0x004D 0x0055 0x004E 0x0044 0x004F 0x0000 Encoding String Representation 你 好 世 界 String ID #4 Unicode 0x4F60 0x597D 0x4E16 0x754C 0x0000 Encoding Providing input support for international venues Plug-fest 19 UEFI 2.1 Content and Changes GlyphsGlyphs Standard Glyph Definitions: • We can now avoid the limitations of the previous INT 10h character support. Providing output support for international venues Plug-fest 20 UEFI 2.1 Content and Changes FormsForms • Forms-based model for setup question descriptions – Must meet BIOS requirements • Scalable UI display support (Server Front Panel to local high resolution monitor). • Small encoding size – Encoding that is Self Describing – Position Independent – Can support scripting – Extensible syntax • Exact look and feel defined by the browser and not defined in UEFI 2.1. – Developer/OEM/IHV defines questions to ask and what strings to display – Browser determines “how” to display the questions Enable UI infrastructure without dictating look-and-feel Plug-fest 21 UEFI 2.1 Content and Changes LocalLocal ConfigurationConfiguration Add-in Package containing forms + strings Device HII Database Package containing forms + strings EFI Driver Forms Browser/Processor Local UI/configuration interaction enabled Plug-fest 22 UEFI 2.1 New Content & Changes RemoteRemote ConfigurationConfiguration Add-in Package containing forms + strings Device HII Database Package containing forms + strings EFI Driver Export Data Network Agent Remote UI/configuration interaction enabled Plug-fest 23 UEFI 2.1 New Content & Changes VariableVariable UpdatesUpdates y Four new architectural variables defined - HwErrRecSupport 9 Defines if Hardware Error Record Persistence supported 9 0 – No support exists / 1- Support exists 9 Firmware codebase responsible for setting this value - HwErrRec#### 9 Hardware error record entry. #### is a printed hex value 9 A standard format for the error record is also defined in UEFI 2.1 - Key#### 9 Associate a key press with a single boot option. #### is a printed hex value. - BootOptionSupport 9 Determines if a platform supports optionally treating boot targets as applications Associate a key press with a single boot option. #### is a printed hex y Two new variable attributes defined - EFI_VARIABLE_HARDWARE_ERROR_RECORD 9 Indicates that a variable is a hardware error record - EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 9 Adds capability for a platform owner to ensure that variables are only updated in a owner- authorized fashion. Standardized error records and authenticated variables Plug-fest 24 UEFI 2.1 Content and Changes ExtendedExtended SimpleSimple InputInput SupportSupport y Adjustments to UEFI input support included: - Registration for a hot-key event 9 Ability to establish notifications when a particular key combination is pressed. - Clarifications/extensions for EFI Scan Codes 9 Introduced some new keys (e.g. VolumeUp, Mute, Eject, etc) - Retrieve added key state information 9 Key shift state information For example, RIGHT_CONTROL_PRESSED 9 Key toggle state information For example, CAPS_LOCK_ACTIVE - Ability to set various state values 9 Ability to toggle certain internal key state values such as CAPS_LOCK_ACTIVE. Expanded key input support Plug-fest 25 UEFI 2.1 Content and Changes ApplicationApplication RegistrationRegistration SupportSupport yy Enable third-party applications to register for execution - LOAD_OPTION_CATEGORY_BOOT 9Boot options which are to be treated as part of the normal boot process. - LOAD_OPTION_CATEGORY_APP 9Executables which are not part of the normal boot process. yy Ability to associate a hot-key with

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    53 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us