beautypg.com

11 efi simple pointer device paths – Intel Extensible Firmware Interface User Manual

Page 345

background image

Protocols

— Console Support

Version 1.10

12/01/02

10-51

10.11 EFI Simple Pointer Device Paths

An

EFI_SIMPLE_POINTER_PROTOCOL

must be installed on a handle for its services to be

available to EFI Drivers and EFI Applications. In addition to the

EFI_SIMPLE_POINTER_PROTOCOL

, an

EFI_DEVICE_PATH

must also be installed on the

same handle. See Chapter 5 of the EFI Specification for detailed description of the

EFI_DEVICE_PATH

.

A device path describes the location of a hardware component in a system from the processor’s
point of view. This includes the list of busses that lie between the processor and the pointer
controller. The EFI Specification takes advantage of the ACPI Specification to name system
components. The following set of examples shows sample device paths for a PS/2

mouse, a serial

mouse, and a USB mouse.

Table 10-5 shows an example device path for a PS/2 mouse that is located behind a PCI to ISA
bridge that is located at PCI device number 0x07 and PCI function 0x00, and is directly attached to
a PCI root bridge. This device path consists of an ACPI Device Path Node for the PCI Root
Bridge, a PCI Device Path Node for the PCI to ISA bridge, an ACPI Device Path Node for the PS/2
mouse, and a Device Path End Structure. The _HID and _UID of the first ACPI Device Path Node
must match the ACPI table description of the PCI Root Bridge. The shorthand notation for this
device path is:

ACPI(PNP0A03,0)/PCI(7|0)/ACPI(PNP0F03,0)

Table 10-5. PS/2 Mouse Device Path

Byte
Offset

Byte
Length


Data


Description

0x00 0x01 0x02

Generic Device Path Header

– Type ACPI Device Path

0x01

0x01 0x01 Sub

type

– ACPI Device Path

0x02 0x02 0x0C Length

– 0x0C bytes

0x04 0x04 0x41D0,

0x0A03

_HID PNP0A03 – 0x41D0 represents a compressed string ‘PNP’ and is in
the low order bytes.

0x08 0x04 0x0000

_UID

0x0C 0x01 0x01

Generic Device Path Header

– Type Hardware Device Path

0x0D

0x01 0x01 Sub

type

– PCI

0x0E

0x02 0x06 Length

– 0x06 bytes

0x10

0x01 0x00 PCI

Function

0x11

0x01 0x07 PCI

Device

continued