![Intel Extensible Firmware Interface Скачать руководство пользователя страница 128](http://html1.mh-extra.com/html/intel/extensible-firmware-interface/extensible-firmware-interface_specification_2073117128.webp)
Extensible Firmware Interface Specification
110
12/12/00
Version 1.02
4.3
EFI Applications
Applications are loaded by the boot manager in the EFI firmware, or by other applications. To load
an application the firmware allocates enough memory to hold the image, copies the sections within
the application to the allocated memory and applies the relocation fix-ups needed. Once done, the
allocated memory is set to be the proper type for code and data for the image. Control is then
transferred to the application’s entry point. When the application returns from its entry point, or
when it calls
Exit()
, the application is unloaded from memory and control is returned to the shell
that loaded the application.
When the boot manager loads an application, the image handle may be used to locate the “load
options” for the application. The load options are those options that were stored in the
LoadOptions
field of the
EFI_LOADED_IMAGE
information for the application.
4.4
EFI OS Loaders
An EFI OS loader is a type of EFI application that normally takes over control of the system from
the EFI firmware. When loaded, the OS loader behaves like any other EFI application in that it
must only use memory it has allocated from the firmware and can only use EFI device handles for
access to devices that the firmware exposes. If the Loader includes any boot service style driver
functions, it must use the proper EFI interfaces to obtain access to the bus specific-resources. That
is, I/O and memory-mapped device registers must be accessed through the proper
DEVICE_IO
calls like those that an EFI driver would perform.
If the OS loader experiences a problem and cannot load its operating system correctly, it can release
all allocated resources and return control back to the firmware via the
Exit()
call with an error
code and an
ExitData
that contains OS loader-specific data, including a Unicode string.
Once the OS loader successfully loads its operating system, it can take control of the system by
using
ExitBootServices()
. After calling
ExitBootServices()
, all boot services in the
system are terminated, including memory management, and the OS loader is responsible for the
continued operation of the system.
4.5
EFI Drivers
Drivers are loaded by the boot manager in the EFI firmware or by other applications. To load a
driver, the firmware allocates enough memory to hold the image, copies the sections within the
driver to the allocated memory and applies the relocation fix-ups that are needed. Once done, the
allocated memory is set to be the proper type for code and data for the image. Control is then
transferred to the driver’s entry point. If the driver returns from its entry point, or when it calls
Exit()
with an error code, the driver is unloaded from memory and control is returned to the shell
that loaded the driver. If the driver returns
EFI_SUCCESS
from its entry point, it continues to
reside in memory. If the driver is an
EFIImageBootServiceDriver
, the memory that the
driver is loaded into is of type
EfiBootServicesCode
and
EfiBootServicesData
. Such
memory regions revert back to normal memory when an OS loader exits boot services.
Содержание Extensible Firmware Interface
Страница 1: ...Extensible Firmware Interface Specification Version 1 02 December 12 2000...
Страница 4: ...Extensible Firmware Interface Specification iv 12 12 00 Version 1 02...
Страница 42: ...Extensible Firmware Interface Specification 24 12 01 00 Version 1 02...
Страница 190: ...Extensible Firmware Interface Specification 172 12 12 00 Version 1 02...
Страница 200: ...Extensible Firmware Interface Specification 182 12 12 00 Version 1 02...
Страница 226: ...Extensible Firmware Interface Specification 208 12 12 00 Version 1 02...
Страница 230: ...Extensible Firmware Interface Specification 212 12 12 00 Version 1 02...
Страница 252: ...Extensible Firmware Interface Specification 234 12 12 00 Version 1 02...
Страница 294: ...Extensible Firmware Interface Specification 276 12 12 00 Version 1 02...
Страница 348: ...Extensible Firmware Interface Specification 330 12 01 00 Version 1 01...
Страница 350: ...Extensible Firmware Interface Specification 332 12 12 00 Version 1 02...
Страница 354: ...Extensible Firmware Interface Specification 336 12 12 00 Version 1 02...
Страница 362: ...Extensible Firmware Interface Specification 344 12 12 00 Version 1 02...
Страница 486: ...Extensible Firmware Interface Specification 468 12 12 00 Version 1 02...
Страница 494: ...Extensible Firmware Interface Specification 476 12 12 00 Version 1 02...