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 + -
显示快捷键?