beautypg.com

4 uga i/o protocol, 5 fallback mode driver – Intel Extensible Firmware Interface User Manual

Page 320

background image

Extensible Firmware Interface Specification

10-26

12/01/02

Version 1.10

10.4.4 UGA

I/O

Protocol

The

EFI_UGA_IO_PROTOCOL

supports an I/O request mode of operation that is targeted at

providing services to the OS high performance driver. The I/O requests are accessed via the

EFI_UGA_IO_PROTOCOL

DispatchService()

member function. The I/O request services

include the capabilities supported by the

EFI_UGA_DRAW_PROTOCOL

.

The I/O request mode services support a full set of services for the Graphics Controller, and all its
child devices. Currently Output Controllers, Output Ports, and vendor defined child devices are
supported. An example of an Output Controller would be a RAMDAC or TV OUT. An example
of an Output Port would include a Monitor, TV, or HDTV.

10.4.5 Fallback Mode Driver

A fallback mode driver is defined as a simple driver that can be carried with a hardware device that
can be made to run under any operating system given appropriate operating system support. The
term fallback mode stems from the ability to use this driver when a standard high performance
operating system driver is not available or some capability to manipulate the hardware is not
available in the high performance operating system driver.

A fallback mode driver for a video device can be constructed by layering operating system specific
code on top and below an EBC UGA option ROM. Since a UGA

driver uses EFI abstractions to

allocate memory and touch hardware it will be possible to replace the EFI 1.10 core services and
protocols that a UGA ROM

depends on with an operating specific driver. The operating system

will also need to abstract the

EFI_UGA_IO_PROTOCOL

in some form that is compatible with the

operating system driver model. The

DispatchService

member of the

EFI_UGA_IO_PROTOCOL

is designed to make binding this protocol into an Operation System

device driver model.

OM13158

OS EFI 1.1 EBC Driver

Virtual Machine

OS PCI Driver

EBC Simple

Graphic Output

Protocol

Driver

OS Friendly version of

UGA I/O Protocol

Same code used by

firmware

Figure 10-2. Fallback Mode Driver

From the UGA ROM’s point of view it cannot tell the difference between a virtual machine that is
produced in the pre-OS and OS present space.