Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Version 1.10 12/01/02 19-1
19
EFI Byte Code Virtual Machine
This chapter defines an EFI Byte Code (EBC) Virtual Machine that can provide platform- and
processor-independent mechanisms for loading and executing EFI device drivers.
19.1 Overview
The current design for option ROMs that are used in IA-32 personal computer systems has been in
place since 1981. Attempts to change the basic design requirements have failed for a variety of
reasons. The EBC Virtual Machine described in this chapter is attempting to help achieve the
following goals:
Abstract and extensible design
Processor independence
OS independence
Build upon existing specifications when possible
Facilitate the removal of legacy infrastructure
Exclusive use of EFI Services
One way to satisfy many of these goals is to define a pseudo or virtual machine that can interpret
a predefined instruction set. This will allow the virtual machine to be ported across processor and
system architectures without changing or recompiling the option ROM. This specification defines
a set of machine level instructions that can be generated by a C compiler.
The following sections are a detailed description of the requirements placed on future
option ROMs.
19.1.1 Processor Architecture Independence
Option ROM images shall be independent of IA-32 and Itanium architectures. In order to abstract
the architectural differences between processors (not just limited to IA-32 and Itanium processors)
option ROM images shall be EBC. This model is presented below:
64-bit C source code
The EFI EBC image is the flashed image
The system BIOS implements the EBC interpreter
The interpreter handles 32 vs. 64 bit issues
Current Option ROM technology is processor dependent and heavily reliant upon the existence of
the PC-AT infrastructure. These dependencies inhibit the evolution of both hardware and software
under the veil of “backward compatibility.” A solution that isolates the hardware and support
infrastructure through abstraction will facilitate the uninhibited progression of technology.