discover.h
来自「6440linuxDriver的源代码」· C头文件 代码 · 共 2,308 行 · 第 1/5 页
H
2,308 行
byte 10-bit7: TABLE TO TABLE SUPPORTED Set to one indicates the expander device is a self-configuring expander device that supports its table routing phys being attached to table routing phys in other expander devices. The TABLE TO TABLE SUPPORTED bit shall only be set to one if the EXTERNALLY CONFIGURABLE ROUTE TABLE bit is set to zero. A TABLE TO TABLE SUPPORTED bit set to zero indicates the expander device is not a self-configuring expander device that supports its table routing phys being attached to table routing phys in other expander devices.*/ MV_U8 ConfigurableRouteTable:1; /* BIT 0*/ MV_U8 Configuring:1; /* BIT 1*/ MV_U8 ConfiguresOthers:1; /* BIT 2*/ MV_U8 ReservedByte10Bit3_6:4; /* BIT 3-6*/ MV_U8 TableToTableSupported:1; /* BIT 7*/ /* byte 11: reserved */ MV_U8 ReservedByte11;/* byte 12-19: ENCLOSURE LOGICAL IDENTIFIER Identifies the enclosure, if any, in which the device is located, and is defined in SES-2. The ENCLOSURE LOGICAL IDENTIFIER field shall be set to the same value reported by the enclosure services process, if any, for the enclosure. An ENCLOSURE LOGICAL IDENTIFIER field set to zero indicates no enclosure information is available.*/ MV_U8 EnclosureLogicalIdentifier[8];/* byte 20-29: reserved */ MV_U8 ReservedByte20_29[10];/* byte 30-31: STP BUS INACTIVITY TIME LIMIT Contains the bus inactivity time limit for STP connections which is set by the CONFIGURE GENERAL function*/ MV_U8 STPBusInactivityTimeLimit[2];/* byte 32-33: STP MAXIMUM CONNECT TIME LIMIT Contains the maximum connect time limit for STP connections which is set by the CONFIGURE GENERAL function.*/ MV_U8 STPMaxConnectTimeLimit[2];/* byte 34-35: STP SMP I_T NEXUS LOSS TIME Contains the time that an STP target port and an SMP initiator port retry certain connection requests which is set by the CONFIGURE GENERAL function.*/ MV_U8 STPSMPNexusLossTime[2];/* byte 36-bit0: ZONING ENABLED Set to one indicates that zoning is enabled in the expander device. A ZONING ENABLED bit set to zero indicates that zoning is disabled in the expander device. The ZONING ENABLED bit shall be set to zero if the ZONING SUPPORTED bit is set to zero. byte 36-bit1: ZONING SUPPORTED Set to one indicates that zoning is supported by the expander device(i.e., it is a zoning expander device). A ZONING SUPPORTED bit set to zero indicates that zoning is not supported by the expander device. byte 36-bit2: PHYSICAL PRESENCE ASSERTED Set to one indicates that the expander device is currently detecting physical presence. A PHYSICAL PRESENCE ASSERTED bit set to zero indicates that the expander device is not currently detecting physical presence. The PHYSICAL PRESENCE ASSERTED bit shall be set to zero if the PHYSICAL PRESENCE SUPPORTED bit is set to zero. byte 36-bit3: PHYSICAL PRESENCE SUPPORTED Set to one indicates that the expander device supports physical presense as a mechanism for allowing zoning to be enabled or disabled from phys in zone groups without access to zone group 2. A PHYSICAL PRESENCE SUPPORTED bit set to zero indicates that the expander device does not support physical presence as a mechanism for allowing zoning to be enabled or disabled. */ MV_U8 ZoningEnabled:1; /* Bit 0*/ MV_U8 ZoningSupported:1; /* Bit 1*/ MV_U8 PhysicalPresenceAsserted:1; /* Bit 2*/ MV_U8 PhysicalPresenceSupported:1; /* Bit 3*/ MV_U8 ReservedByte36Bit4_7:4; /* Bit 4-7*//* byte 37: reserved */ MV_U8 ReservedByte37;/* byte 38-39: MAXIMUM NUMBER OF ROUTED SAS ADDRESSES Contains the number of routed SAS addresses in an expander-based expander route table. Management device servers in expander devices containing expander-based expander route tables shall support this field. Management device servers in other device types (e.g., end devices and expander devices with phy-based expander route tables) shall set this field to 0000h.*/ MV_U8 MaxNumRoutedSASAddr[2];/* byte 40-43 CRC */ MV_U32 CRC;}; /* struct SMPResponseReportGeneral *//* request specific bytes for SMP Report Manufacturer Information response, intended to be referenced by SMPResponse*/struct SMPResponseReportManufacturerInformation{ /* byte 4-5 */ MV_U8 ExpanderChangeCount[2]; /* byte 6-7 */ MV_U8 ReservedByte6_7[2]; /* byte 8 */ MV_U8 SAS11Format:1; MV_U8 ReservedByte8_Bit1_7:7; /* byte 9-11 */ MV_U8 IgnoredByte9_11[3]; /* byte 12-19 */ MV_U8 VendorIdentification[8]; /* byte 20-35 */ MV_U8 ProductIdentification[16]; /* byte 36-39 */ MV_U8 ProductRevisionLevel[4]; /* byte 40-47 */ MV_U8 ComponentVendorIdentification[8]; /* byte 48-49 */ MV_U8 ComponentID[2]; /* byte 50 */ MV_U8 ComponentRevisionID; /* byte 51 */ MV_U8 ReservedByte51; /* byte 52-59 */ MV_U8 VendorSpecific[8]; /* byte 60-63 */ MV_U32 CRC;}; /* struct SMPResponseReportManufacturerInformation *//* request specific bytes for SMP Report Self-Configuration Status response, intended to be referenced by SMPResponse*/struct SMPResponseReportSelfConfigurationStatus{ /* byte 4-5 */ MV_U8 ExpanderChangeCount[2]; /* byte 6 */ MV_U8 ReservedByte6; /* byte 7 */ MV_U8 StartingSelfConfigurationStatusDescriptorIndex; /* byte 8-12 */ MV_U8 ReservedByte8_12[5]; /* byte 13 */ MV_U8 MaxSupportedSelfConfigurationStatusDescriptors; /* byte 14 */ MV_U8 TotalNumberOfSelfConfigurationStatusDescriptors; /* byte 15 */ MV_U8 NumberOfSelfConfigurationStatusDescriptors; /* byte 16-31 */ MV_U8 SelfConfigurationStatusDescriptor[16]; //TBD/* byte SelfConfigurationStatusDescriptor_1[16]; ... byte SelfConfigurationStatusDescriptor_n[16]; */ MV_U32 CRC;}; /* struct SMPResponseReportSelfConfigurationStatus *//* request specific bytes for SMP Report Phy Error Log response, intended to be referenced by SMPResponse*/struct SMPResponseReportPhyErrorLog{ /* byte 4-5 */ MV_U8 ExpanderChangeCount[2]; /* byte 6-8 */ MV_U8 ReservedByte6_8[3]; /* byte 9 */ MV_U8 PhyIdentifier; /* byte 10-11 */ MV_U8 ReservedByte10_11[2]; /* byte 12-15 */ MV_U8 InvalidDwordCount[4]; /* byte 16-19 */ MV_U8 RunningDisparityErrorCount[4]; /* byte 20-23 */ MV_U8 LossOfDwordSynchronizationCount[4]; /* byte 24-27 */ MV_U8 PhyResetProblemCount[8]; /* byte 28-31 */ MV_U32 CRC;}; /* struct SMPResponseReportPhyErrorLog *//* Response specific bytes for SMP Discover Descriptor, intended to be referenced by SMPResponseDiscover, SMPResponseDiscoverList*/struct DiscoverLongFormatDescriptor{/* byte 48-49: Reserved */ MV_U8 ReservedByte48_49[2];/* byte 50-51: Vendor specific */ MV_U8 VendorSpecific[2];/* byte 52-59: ATTACHED DEVICE NAME Contains the value of the the device name field received in the IDENTIFY address frame during the identification sequence. If the attached port is an expander port or a SAS port, the ATTACHED DEVICE NAME field contains the device name of the attached expander device or SAS device. If the attached port is a SATA device port, the ATTACHED DEVICE NAME field contains 00000000 00000000h. The ATTACHED DEVICE NAME field shall be updated: a) after the identification sequence completes, if a SAS phy or expander phy is attached; or b) after the COMSAS Detect Timeout timer expires, if a SATA phy is attached.*/ MV_U8 AttachedDeviceName[8];/*Zone group Configurable Description zone permission table entries 0 No Phys in zone group 0 only have access to other phys in zone group 1. 1 No Phys in zone group 1 have access to other phys in all zone groups. 2 Yes Phys in zone group 2 have access to other phys based on the zone permission table. A management device server in a zoning expander device with zoning enabled only allows management application clients using phys in zone groups with access to zone group 2 to perform the following SMP functions: a) SMP zoning configuration functions (e.g., CONFIGURE ZONE PERMISSION); and b) SMP expander configuration functions (i.e., CONFIGURE GENERAL). A management device server in a zoning expander device with zoning enabled only allows management application clients to perform certain SMP phy-based control and configuration functions (i.e., PHY CONTROL, PHY TEST FUNCTION, and CONFIGURE PHY EVENT INFORMATION) if the zone group of the management application client’s phy has access to zone group 2 or the zone group of the specified phy. 3 Yes Phys in zone group 3 have access to other phys based on the zone permission table. A management device server in a zoning expander device with zoning enabled only allows management application clients using a phy in a zone group with access to zone group 3 to perform certain SMP zoning-related functions (i.e., ZONED BROADCAST). 4 to 7 Reserved8 to 127 Yes Phys in zone groups 8 through 127 have access to other phys based on the zone permission table. Source zone group determinationAttribute of the expander phy that Source zone group received the OPEN address frameZONE ADDRESS Routing INSIDE ZPSDSRESOLVED bit method bit0 Any 0 Zone group of the receiving expander phy0 Any 1 Source zone group specified by the SOURCE ZONE GROUP field in the received OPEN address frame. 1 Direct 0 Zone group of the receiving expander phy.1 Direct 1 Not applicable.1 Subtractive 0 Zone group of the receiving expander phy.1 Subtractive 1 Not applicable.1 Table 0 Zone group stored in the zoning expander route table for the source SAS address. If the source SAS address is not found in the zoning expander route table then the zone group of the receiving expander phy. 1 Table 1 Not applicable. Destination zone group determinationRouting method of the Destination zone groupdestination expander phy Direct Zone group of the destination expander phy.Subtractive Zone group of the destination expander phy (i.e., the subtractive expander phy). Table Zone group stored in the zoning expander route table for the destination SAS address.At the completion of a link reset sequence, if a SATA device is attached to an expander phy, thezoning expander device with zoning enabled shall set the INSIDE ZPSDS bit to zero for that expander phy.At the completion of a link reset sequence, if a SATA device is not attached to an expander phy, the zoningexpander device with zoning enabled shall update the phy zone information fields based on:a) the REQUESTED INSIDE ZPSDS bit and the INSIDE ZPSDS PERSISTENT bit in the zone phy information (i.e.,the bits transmitted in the outgoing IDENTIFY address frame); andb) the REQUESTED INSIDE ZPSDS bit and INSIDE ZPSDS PERSISTENT bit received in the incoming IDENTIFYaddress frame. Phy zone information fields after by a link reset seqeunceREQUESTED INSIDE ZPSDS Phy zone information field changesINSIDE ZPSDS bit PERSISTENT bit Transmitted Received Transmitted Received0 0 or 1 0 or 1 0 or 1 The zoning expander device shall set the INSIDE ZPSDS bit to zero. 1 0 0 or 1 0 or 1 The zoning expander device shall set the INSIDE ZPSDS bit to zero.1 1 0 0 If the SAS address received in the IDENTIFY address frame during the identification sequence is different from the SAS address prior to the completion of the link reset1 1 0 1 sequence, then the zoning expander device shall set: a) the REQUESTED INSIDE ZPSDS bit to zero; and1 1 1 0 b) the INSIDE ZPSDS bit to zero. If the SAS address received in the IDENTIFY address frame during the identification sequence is the same as the SAS address prior to the completion of the link reset sequence, then the zoning expander device shall set: a) the INSIDE ZPSDS bit to one; b) the ZONE GROUP field to one; and c) the ZONE ADDRESS RESOLVED bit to zero.1 1 1 1 The zoning expander device shall set: a) the INSIDE ZPSDS bit to one; b) the ZONE GROUP field to one; and c) the ZONE ADDRESS RESOLVED bit to zero.If the ZONE GROUP PERSISTENT bit is set to one, then a link reset sequence shall not cause the zonegroup value of an expander phy to change unless the INSIDE ZPSDS bit changes from zero to one. If the ZONE GROUP PERSISTENT bit is set to zero, then table 29 specifies events based on the initialcondition of an expander phy that shall cause a zoning expander device with zoning enabled to change theZONE GROUP field of the expander phy to its default value (e.g., zero). Events that cause the ZONE GROUP field to be set to its default value when the ZONE GROUP PERSISTENT bit set to zeroInitial condition Event after the initial condition is establishedCompleted link reset A subsequent link reset sequence completes and:sequence with a a) the SAS address received in the IDENTIFY address frame duringSAS device attached the identification sequence is different from the SAS address prior to the completion of the link reset sequence; or b) a SATA device is attached. Completed link reset Either:sequence with a a) A subsequent link reset sequence completes and:SATA device A) a hot-plug timeout occurred between the time of the initialattached condition and the time the link reset sequence completed; B) the zoning expander device has detected the possibility that a new SATA device has been inserted. The method of detection is outside the scope of this standard (e.g., an enclosure services process reports a change in the ELEMENT STATUS CODE field in the Device or Array Device element (see SES-2), or a change in the WORLD WIDE NAME field in the attached SATA device’s IDENTIFY DEVICE or IDENTIFY PACKET DEVICE data (see ATA8-ACS)); or C) a SAS phy or expander phy is attached; or b) The expander phy is disabled with the SMP PHY CONTROL function DISABLE phy operation.The BPP determines the source zone group(s) of the Broadcast as follows:a) if the BPP receives a Broadcast Event Notify message from an expander phy (i.e., a zoning expanderphy received a BROADCAST), the Broadcast has a single source zone group set to the zone group ofthat expander phy; andb) if the BPP receives a message from the management device server indicating that it received an SMPZONED BROADCAST request from an SMP initiator port that has access to zone group 3, theBroadcast has each of the source zone groups specified in the SMP ZONED BROADCAST request.The BPP forwards the Broadcast to each expander port other than the one on which the Broadcast wasreceived (i.e., the expander port that received the BROADCAST or SMP ZONED BROADCAST request) ifany of the source zone groups have access to the zone group of the expander port.To forward a Broadcast to an expander port:a) if the expander port’s INSIDE ZPSDS bit is set to one, the BPP shall request that the SMP initiator portestablish a connection on at least one phy in the expander port to the SMP target port of the attachedexpander device and transmit an SMP ZONED BROADCAST request specifying the source zonegroup(s); andb) if the expander port’s INSIDE ZPSDS bit is set to zero, the BPP shall send a Transmit Broadcastmessage to at least one phy in the expander port, causing it to transmit a BROADCAST. byte 60-bit0: ZONING ENABLED Set to one indicates that zoning is enabled in the expander device. A ZONING ENABLED bit set to zero indicates that zoning is disabled in the expander device. byte 60-bit1: INSIDE ZPSDS Indicates if the phy is inside or on the boundary of a ZPSDS. 0: The phy is attached to an end device, an expander device that does not support zoning, or a zoning expander device with zoning disabled. 1: The phy is attached a zoning expander device with zoning enabled and is thus inside a ZPSDS. The bit is not directly changeable and only changes following a link reset sequence, based on the REQUESTED INSIDE ZPSDS bit. byte 60-bit2: ZONE GROUP PERSISTENT Specifies the method of determining the zone group value of the phy after a link reset sequence when the INSIDE ZPSDS is set to zero. byte 60-bit3: ZONE ADDRESS RESOLVED Specifies the method used to determine the source code group for a connection request received by a phy at the boundary of the ZPSDS.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?