Requirements; Required Elements; Required Efi Implementation Elements - Intel Extensible Firmware Interface Specification

Intel extensible firmware interface specification
Table of Contents

Advertisement

2.5

Requirements

This document is an architectural specification. As such, care has been taken to specify
architecture in ways that allow maximum flexibility in implementation. However, there are certain
requirements on which elements of this specification must be implemented to ensure that operating
system loaders and other code designed to run with EFI boot services can rely upon a consistent
environment.
For the purposes of describing these requirements, the specification is broken up into required and
optional elements. In general, an optional element is completely defined in the section that matches
the element name. For required elements however, the definition may in a few cases not be entirely
self contained in the section that is named for the particular element. In implementing required
elements, care should be taken to cover all the semantics defined in this specification that relate to
the particular element.
2.5.1

Required Elements

Table 2-5 lists the required elements. Any system that is designed to conform to the EFI
specification must provide a complete implementation of all these elements. This means that all the
required service functions and protocols must be present and the implementation must deliver the
full semantics defined in the specification for all combinations of calls and parameters. A system
must provide the LOAD_FILE protocol or the SIMPLE_FILE_SYSTEM protocol or both. It is
possible for a system to boot an OS using just the LOAD_FILE protocol. In this case, the
SIMPLE_FILE_SYSTEM, EFI_FILE_HANDLE, DISK_IO, and BLOCK_IO protocols would not
be required.
Table 2-5.

Required EFI Implementation Elements

Element
Boot Services
Runtime Services
1
Partitioning
1
BLOCK_IO protocol
DEVICE_IO protocol
DEVICE_PATH protocol
1
DISK_IO protocol
LOAD_FILE protocol
LOADED_IMAGE protocol
SIMPLE_FILE_SYSTEM protocol
EFI_FILE_HANDLE protocol
Version 1.02
Description
All functions defined as boot services.
All functions defined as runtime services.
Functionality to provide BLOCK_IO interfaces for logical block devices
as defined by partition table, or El Torito "no emulation" device.
Protocol interfaces for devices that support block I/O style accesses.
Protocol interfaces for performing device I/O.
Provides the location of the device.
Protocol interfaces for providing disk IO from a BLOCK_IO interface.
Protocol interface for reading a file from an arbitrary device.
Provides information on the image.
1
Protocol interfaces for opening disk volumes through a DISK_IO
interface.
1
Protocol interfaces for accessing the device with file I/O style accesses
through a DISK_IO interface.
12/12/00
Overview
continued
21

Advertisement

Table of Contents
loading

Table of Contents