/* DevicePathNode must be SerialHDD Channel type and this will populate the MappingItem. */
EFI_STATUS DevPathSerialHardDrive(IN EFI_DEVICE_PATH_PROTOCOL *DevicePathNode, IN DEVICE_CONSIST_MAPPING_INFO *MappingItem, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath)
/* DevicePathNode must be SerialHDD Channel type and this will populate the MappingItem. */
EFI_STATUS DevPathSerialHardDrive(IN EFI_DEVICE_PATH_PROTOCOL *DevicePathNode, IN DEVICE_CONSIST_MAPPING_INFO *MappingItem, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath)
{
  HARDDRIVE_DEVICE_PATH  *Hd;
  ASSERT (DevicePathNode != NULL);
  ASSERT (MappingItem != NULL);
  Hd = (HARDDRIVE_DEVICE_PATH *)DevicePathNode;
  if (MappingItem->Mtd == MTDTypeUnknown) {
    MappingItem->Mtd = MTDTypeHardDisk;
  }
  return AppendCSDNum (MappingItem, Hd->PartitionNumber);
}