Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Extensible Firmware Interface Specification
19-62 12/01/02 Version 1.10
19.10.1 EBC Image Requirements
All EBC images will be PE32+ format. Some minor additions to the format will be required to
support EBC images. See the Microsoft Portable Executable and Common Object File Format
Specification pointed to in the References section for details of this image file format.
A given EBC image must be executable on different platforms, independent of whether it is a 32- or
64-bit processor. All EBC images should be driver implementations.
19.10.2 EBC Execution Interfacing Requirements
EBC drivers will typically be designed to execute in an (usually preboot) EFI environment. As
such, EBC drivers must be able to invoke protocols and expose protocols for use by other drivers or
applications. The following execution transitions must be supported:
EBC calling EBC
EBC calling native code
Native code calling EBC
Native code calling native code
Returning from all the above transitions
Obviously native code calling native code is available by default, so is not discussed in this
document.
To maintain backward compatibility with existing native code, and minimize the overhead for
non-EBC drivers calling EBC protocols, all four transitions must be seamless from the application
perspective. Therefore, drivers, whether EBC or native, shall not be required to have any
knowledge of whether or not the calling code, or the code being called, is native or EBC compiled
code. The onus is put on the tools and interpreter to support this requirement.
19.10.3 Interfacing Function Parameters Requirements
To allow code execution across protocol boundaries, the interpreter must ensure that parameters
passed across execution transitions are handled in the same manner as the standard parameter
passing convention for the native processor.
19.10.4 Function Return Requirements
The interpreter must support standard function returns to resume execution to the caller of external
protocols. The details of this requirement are specific to the native processor. The called function
must not be required to have any knowledge of whether or not the caller is EBC or native code.
19.10.5 Function Return Values Requirements
The interpreter must support standard function return values from called protocols. The exact
implementation of this functionality is dependent on the native processor. This requirement applies
to return values of 64 bits or less. The called function must not be required to have any knowledge
of whether or not the caller is EBC or native code. Note that returning of structures is not
supported.