Device Path Node

From PhoenixWiki

Jump to: navigation, search

A Device Path Node is one logical piece of a Device Path. Each Device Path Node is prefixed by the EFI_DEVICE_PATH_PROTOCOL header.

There are six major types of Device Path nodes:

  • Hardware Device Path. This Device Path defines how a device is attached to the resource domain of a system, where resource domain is simply the shared memory, memory mapped I/O, and I/O space of the system.
  • ACPI Device Path. This Device Path is used to describe devices whose enumeration is not described in an industry-standard fashion. These devices must be described using ACPI AML in the ACPI name space; this Device Path is a linkage to the ACPI name space.
  • Messaging Device Path. This Device Path is used to describe the connection of devices outside the resource domain of the system. This Device Path can describe physical messaging information such as a SCSI ID, or abstract information such as networking protocol IP addresses.
  • Media Device Path. This Device Path is used to describe the portion of a medium that is being abstracted by a boot service. For example, a Media Device Path could define which partition on a hard drive was being used.
  • BIOS Boot Specification Device Path. This Device Path is used to point to boot legacy operating systems; it is based on the BIOS Boot Specification Version 1.01.
  • End of Hardware Device Path. Depending on the Sub-Type, this Device Path node is used to indicate the end of the Device Path instance or Device Path structure.

The EFI_DEVICE_PATH_UTILITIES_PROTOCOL provides various useful functions for manipulating Device Paths and Device Path Nodes. The EFI_DEVICE_PATH_TO_TEXT_PROTOCOL and EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL convert a binary Device Path Nodes to and from their standard text encoding.

Copyright (C) 2008,2010 Phoenix Technologies Ltd. All Rights Reserved. Portions copyright (C) 2008 UEFI Forum, Inc. Used with permission

Personal tools