USWG Differences Between UEFI 2.0 and UEFI 2.1

22
4/9/2007 UEFI Specification Work Group (USWG) 1

description

Differences Between UEFI 2.0 and UEFI 2.1

Transcript of USWG Differences Between UEFI 2.0 and UEFI 2.1

  • 4/9/2007UEFI Specification Work Group (USWG) 1

  • 4/9/2007UEFI Specification Workgroup

    (USWG)2

    z The contents of this presentation is a summary of the differences between UEFI 2.0 and UEFI 2.1. This data should be considered informative and should not be construed as normative material.

    z For normative material, refer to the UEFI 2.1 Specification.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)3

    z Human Interface Infrastructure. Standard means of describing platform configuration and

    user interface infrastructure. See the appropriate chapters for details.

    Also deprecates the previous Driver Configuration Protocol.

    z Hardware Error Record Support. Adds new variable attribute to signify a variable is a

    hardware error record. Adds new variable name to signify that Hardware Error

    Record Support exists on this platform (i.e. HwErrRecSupport).

    Adds new variable name to indicate a hardware error record (i.e. HwErrRec####)

    z Common Platform Error Record. Established a standard error record format for

    representing platform hardware errors.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)4

    z Add Platform to driver configuration protocol. Allows ability to have configuration data seeded

    in a repository so that it can be retrieved prior to a driver having its Start() function launched.

    z Add return code to SetVariable. Added EFI_NOT_FOUND for SetVariable to be used

    when trying to update or delete a variable which does not exist.

    z Update to WIN_CERTIFICATE_EFI_PKCS1_15. The HashType enumeration in the certificate

    structure was never set. Replaced with HashAlgorithm which is an EFI_GUID to match the rest of security chapter content.

    z Add instance handle to IP4/TCP4 variable data. Can now more simply associate an IP4/TCP4

    instance with its parent hardware driver.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)5

    z Driver Supported EFI Version Protocol. Mechanism to determine what version of UEFI a driver

    has been built for.z LoadImage() Update.

    LoadImage will recognize an EFI driver image which has an HII resource section embedded in it and install a protocol on the drivers image handle.

    z Extended Simple Text Input. SimpleTextInputEx was created so that added input data

    could be returned such as shift state, hot keys, etc.z Application Registration Support.

    Provides a way for 3rd party applications to register themselves for launch by the Boot Manager based on either user selection or a hot key.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)6

    z Authenticated Variable Support. Adds a capability for a platform owner to ensure that

    variables are only updated in an owner-authorized fashion. Authorization occurs via authentication of the caller.

    z PCI Attribute change. Current PCI Bus driver behavior is that the initial

    state of memory, I/O, and bus master PCI_IO attributes is disabled. During Stop() the bus driver changes attributes back to disabled. We changed this so that the bus driver sets the initial attributes are set to a safe value for the system. During Stop() the bus driver will restore values back to their initial safe state.

    z Extended SCSI Pass Thru update. Allows some of the buffers in the SCSI Request Packet

    in the Extended SCSI Pass Thru Protocol to be optional for those types of SCSI commands that do not require the buffers.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)7

    z Graphics Output Updates. An EFI Graphics Output Protocol Mode structure

    field was adjusted from **Info to *Info. The EFI Graphics Output Protocol Query Mode Info

    field was adjusted from *Info to **Info. The EFI EDID Discovered Protocol had the Edid

    field changed from Edid to *Edid.z Signaling on configuration change.

    Added information in Event services which describes that upon update of the EFI Configuration Table, an event will occur to signal a change has occurred for a particular entry in the table.

    z Adding Absolute Pointer Support. See EFI_ABSOLUTE_POINTER_PROTOCOL

  • 4/9/2007UEFI Specification Workgroup

    (USWG)8

    z Allow use of runtime services with interrupts enabled.

    IA-32

  • 4/9/2007UEFI Specification Workgroup

    (USWG)9

    z Allow use of runtime services with interrupts enabled.

    IPF

  • 4/9/2007UEFI Specification Workgroup

    (USWG)10

    z Allow use of runtime services with interrupts enabled.

    x64

  • 4/9/2007UEFI Specification Workgroup

    (USWG)11

    z Allow use of runtime services with interrupts enabled.

    Updated the Runtime Services Rules and Restrictions (Table 27)

    z Reserve a range of status codes for PI specification.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)12

    z Remove dependency of PXE Base Code protocol on Simple Network Protocol. PXE will now layer on top of the Managed Network

    Protocol.z New return code for DHCP->Parse function.

    Add an EFI_OUT_OF_RESOURCES return code to the Parse function.

    Also Clarify the function description.z Add return code for DHCP->TransmitReceive function.

    The ability to return EFI_NOT_SUPPORTED has been added to this function.

    z Remove return code from IP4->Poll function. Removed EFI_NO_MAPPING as possible return code.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)13

    z Add support for EHCI controller port ownership.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)14

    z Define Firmware Storage Device Path for PIWG

  • 4/9/2007UEFI Specification Workgroup

    (USWG)15

    z Correct name/GUID of the EFI Component Name Protocol. New GUID is: 0x6a7a5cff, 0xe8d9, 0x4f70, 0xba, 0xda, 0x75,

    0xab, 0x30, 0x25, 0xce

    Name is now EFI_COMPONENT_NAME2_PROTOCOLz Correct the GUID for the EFI ISCSI Initiator

    Name Protocol. New GUID is: 0x59324945, 0xec44, 0x4c0d, 0xb1, 0xcd, 0x9d, 0xb1,

    0x39, 0xdf, 0x7, 0xc

    z Adding EFI_UNSUPPORTED as possibility for some USB APIs. EFI_USB2_HC_PROTCOL.IsochronousTransfer EFI_USB2_HC_PROTCOL.AsyncIsochronousTransfer EFI_USB_IO_PROTCOL.IsochronousTransfer EFI_USB_IO_PROTCOL.AsyncIsochronousTransfer

  • 4/9/2007UEFI Specification Workgroup

    (USWG)16

    z SATA Device Path Update

  • 4/9/2007UEFI Specification Workgroup

    (USWG)17

    z Update SCSI IO Protocols ExecuteScsiCommand() with new return code.

    Instead of EFI_WARN_BUFFER_TOO_SMALL, this function will now use EFI_BAD_BUFFER_SIZE.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)18

    z Capsule Update. Various clarifications and update in language in the UpdateCapsule() section.

    z Installing ACPI Tables. Add TPL restriction stating the ACPI Table Protocol < TPL_NOTIFY

    z Tape I/O Clarifications. Changed timeout values from a fixed 60 second value to implementation specific.

    z Correct Boot Services Table. In initial 2.0 spec, inadvertently left off a *Reserved field. 2.1 spec restored it.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)19

    z Updates to Device Path Protocol. The function types named in the protocol structure definition were not consistent with the function definitions. Many instances of changing EFI_DEVICE_PATH_FunctionName to EFI_DEVICE_PATH_UTILS_FunctionName.

    Change EFI_DEVICE_PATH_FROM_TEXT_NODE->ConvertDeviceNodeToTextto EFI_DEVICE_PATH_FROM_TEXT_NODE->ConvertTextToDeviceNode, and EFI_DEVICE_PATH_FROM_TEXT_NODE->ConvertDevicePathToText to EFI_DEVICE_PATH_FROM_TEXT_NODE->ConvertTextToDevicePath.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)20

    z Various Cosmetic Inconsistencies Minor cosmetic text corrections Missing typedef definitions Correcting poorly constructed typedef prototypes. (e.g. Replacing

    comma with semi-colon, etc)z Usage Clarifications

    Minor clarifications on GetMemoryMap() API language. Minor clarifications on return codes in network stack.

    z Clarify Byte Order in ARP/DHCP Protocol Clarify that incoming and outgoing ARP packets are in network byte

    order and all other parameters or structures are in host byte order.z Clarify EFI Configuration Table Pointer Interpretation.

    Whether this pointer is a physical address or a virtual address during runtime is determined by the VendorGuid. The VendorGuid associated with a given VendorTable pointer defines whether or not a particular address gets fixed up when a call to SetVirtualAddressMap() is made.

  • 4/9/2007UEFI Specification Workgroup

    (USWG)21

    z Clarify QueryVariableInfo() function.. Cleared up some details on interpreting the returned

    MaximumVariableSize from this API.z Clarify cacheability of ACPI tables.

    ACPI tables loaded at runtime must be contained in memory of type EfiACPIMemoryNVS. The cacheability attributes for ACPI tables loaded at runtime should be defined in the EFI memory map. If no information about the table location exists in the UEFI memory map, cacheability attributes may be obtained from ACPI memory descriptors. If no information about the table location exists in the UEFI memory map or ACPI memory descriptors, the table is assumed to be non-cached.

    z Various clarifications to the Device Node Table (Table 77) Clarifications are in support of the Device Path

    From/To Text Protocols.z WIN Certificate update.

    Clarify the structure definition so that the bCertificate field is shown as a comment.

  • 4/9/2007 22UEFI Specification Workgroup

    (USWG)