diff --git a/share/man/man4/ix.4 b/share/man/man4/ix.4 --- a/share/man/man4/ix.4 +++ b/share/man/man4/ix.4 @@ -93,6 +93,8 @@ Intel(R) Ethernet X520 (82599) .It Intel(R) 10 Gigabit Server Adapter (82598EB) +.It +Intel(R) Ethernet E610 .El .Sh LOADER TUNABLES The @@ -130,6 +132,112 @@ Vary the interrupt rate over time based on the traffic for that interrupt vector. .El + +.Sh FEATURES +.Ss DEBUG DUMP +Intel(R) E610 Ethernet Controller devices support debug dump, which allows +you to obtain runtime register values from the firmware for "clusters" of +events and then write the results to a single dump file, for debugging +complicated issues in the field. + +This debug dump contains a snapshot of the device and its existing hardware +configuration, such as switch tables, transmit scheduler tables, and other +information. Debug dump captures the current state of the specified cluster(s) +and is a stateless snapshot of the whole device. + +.Pp +Note: +.Bl -bullet -compact +.It +The contents of the debug dump are not human-readable. You must work with +Customer Support to decode the file. +.It +Debug dump is per device, not per Physical Function (PF). +.It +Debug dump writes all information to a single file. +.El + +.Pp +To generate a debug dump file in +.Fx , +do the following: + +.Bl -enum -compact +.It +Specify the cluster(s) to include in the dump file, using a bitmask and the +following command: +.Bd -literal -offset indent +sysctl dev.ix..debug.dump.clusters= +.Ed + +To print the complete cluster bitmask and parameter list to the screen, pass +the +.Fl d +argument. For example: +.Bd -literal -offset indent +sysctl -d dev.ix.0.debug.dump.clusters +.Ed + +Possible bitmask values for +.Va clusters +are: +.Bl -bullet -compact +.It +0x1 - Link +.It +0x2 - Full CSR Space, excluding RCW registers +.El + +For example, to dump the Link cluster, use the following: +.Bd -literal -offset indent +sysctl dev.ix.0.debug.dump.clusters=0x1 +.Ed + +To dump full CSR Space, excluding RCW registers, use the following: +.Bd -literal -offset indent +sysctl dev.ix.0.debug.dump.clusters=0x2 +.Ed + +To dump all clusters, use the following: +.Bd -literal -offset indent +sysctl dev.ix.0.debug.dump.clusters=0 +.Ed + +.Pp +Note: Using 0 will skip Manageability Transactions data. + +If you don't specify a cluster, the driver will dump all clusters to a +single file. + +.It +Issue the debug dump command, using the following: +.Bd -literal -offset indent +sysctl -b dev.ix..debug.dump.dump=1 > dump.bin +.Ed + +.Pp +Note: +.Bl -bullet -compact +.It +The driver will not receive the command if you do not write "1" to the sysctl. +.It +Replace +.Dq dump.bin +above with the file name you want to use. +.It +If you did not specify any clusters, the dump file will include information +about all clusters. +.El + +.It +To clear the clusters bitmap before a subsequent debug dump and then do the +dump: +.Bd -literal -offset indent +sysctl dev.ix.0.debug.dump.clusters=0 +sysctl dev.ix.0.debug.dump.dump=1 +.Ed +.El + .Sh DIAGNOSTICS .Bl -diag .It "ix%d: Unable to allocate bus resource: memory"