Hi Wu Hao A, Thanks for the response. I have added my comments in line. Thanks, Ravi Kumar On Wed, Jun 12, 2019 at 1:26 PM Wu, Hao A wrote: > Hello Ravi Kumar, > > > > Inline comments below: > > > > *From:* devel@edk2.groups.io [mailto:devel@edk2.groups.io] *On Behalf Of *Ravi > Kumar Siadri > *Sent:* Wednesday, June 12, 2019 12:01 PM > *To:* devel@edk2.groups.io > *Subject:* Re: [edk2-devel] ExtScsiPassThru support for Logical SCSI > devices > > > > Hi, > > > > Can someone help me in clarifying my queries ?? > > > > Thanks, > > Ravi Kumar > > > > On Mon, Jun 10, 2019 at 3:55 PM Ravi Kumar Siadri < > siadriravikumaruefi@gmail.com> wrote: > > Hi all, > > > > I have couple of queries regarding the > *EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL* attribute support in > *EFI_EXT_SCSI_PASS_THRU_PROTOCOL*. > > > > *1. * > > *The Attributes field of the EFI_EXT_SCSI_PASS_THRU_PROTOCOL interface > tells if the interface is for physical SCSI devices or logical SCSI > devices. Drivers for non-RAID SCSI controllers will set both the > EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL, and the > EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL bits.* > > > > If the Drivers is for non-RAID SCSI controllers why to set the > EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL bit. Will there be any case that > non-RAID SCSI controllers have Logical devices connected to it ?? > > > > Per my understanding, every partition on a physical HW device will be > treated > > as a logical device by the firmware. > > > > So for non-RAID case, both bits will be set for the PassThru protocol > produced > > for the physical device. > > > Ravi: > > As far as i know RAID controller will treat a partition/drive as logical > device only if has RIS (raid information sector) information in it. So i > don't think partition is treated as logical device. > > > > > > *2. * > > *Drivers for RAID controllers that allow access to the physical devices > and logical devices will produce two EFI_EXT_SCSI_PASS_THRU_PROTOCOL > interfaces: * > > *One with the just the EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL bit set > and another with just the EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL bit > set. One interface can be used to access the physical devices attached to > the RAID controller, and the other can be used to access the logical > devices attached to the RAID controller for its current configuration.* > > > > Any background why EFI_EXT_SCSI_PASS_THRU_PROTOCOL needed 2 instances ? > why can't we install attributes EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL > and EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL on same Instance ?? > > How User locates the Instance with > EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL bit set and Instance with > EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL bit set. ?? > > > > UEFI spec allows RAID drivers to only produce one PassThru protocol > interface > > with just the XXX_PASS_THRU_LOGICAL bit set when the RAID controller > select to > > not allow direct access to the underlying physical devices. > > Ravi: > If the RAID Driver supports only Logical or Physical Devices then it is > fine creating only 1 instance and not allowing other devices which Bit is > not set. (either EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL or > EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL). > > But if the RAID driver supports both the Logical and Physical Devices, > then we have to need 2 instances as per spec. This is going to be an over > head, while locating instances by the user who want to send commands to > Target devices connected to RAID controller. > > Since each EFI_EXT_SCSI_PASS_THRU_PROTOCOL instance must have an > associated device path. Only 1 instance can be installed on that particular > RAID controller handle since the GUID is same for both the instances. > > If our intention is to filter the Logical and Physical devices then, we > can add a parameter in GetNextTartget() function to inform RAID Driver > which type of targets the user is looking for. (Physical or Logical). > > Right ?? > > > > Thanks, > > Ravi Kumar > > > > >