c6127bd30e
Allow resource4 module version to not exist on modules part of kernel
continuous-integration/drone/push Build is passing
2021-11-27 11:05:37 +01:00
e2392eadf7
Added logging on several functions, match line count of target better, patched differences
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Modified how EPL state machine gets initialized
Use this script to debug differences with relative line numbers
```php
<?php
$entries = [];
$indentation = [];
$r = [
"#( pSwapRomImg=)(0x[0-9a-f]+)#" => '$1(ptr)',
"#([hH]andle=)(0x[0-9a-f]+)#" => '$1(ptr)',
"#( code=)(0x[0-9a-f]+)#" => '$1(ptr)',
"#( glort=)(0x[0-9a-f]+)#" => '$1(ptr)',
"#([pP]tr=)(0x[0-9a-f]+)#" => '$1(ptr)',
"#( schedPortSpeeds=)(0x[0-9a-f]+)#" => '$1(ptr)',
"#(= ?)(0x[0-9a-f]{8,})#" => '$1(ptr)',
];
$find = [];
$replace = [];
foreach($r as $k => $v){
$find[] = $k;
$replace[] = $v;
}
$stack = ["__main"];
while(!feof(STDIN) and ($line = fgets(STDIN)) !== false){
$line = trim($line);
$parts = explode(":", $line);
$indent = 0;
if(count($parts) >= 6){
$p = $parts;
switch($parts[0]){
case "ENTRY":
//Example: ENTRY:fsmd:alos/linux/fm_alos_alloc.c:fmAlloc:580:Entering... size=32
$k = $p[1] . ":" . $p[2] . ":" . $p[3];
//line number
if(isset($entries[$k])){
$entries[$k][] = (int) $p[4];
}else{
$entries[$k] = [(int) $p[4]];
}
case "EXIT":
case "WARNING":
case "ERROR":
case "FATAL":
case "INFO":
case "DEBUG":
case "PRINT":
case "DEBUG2":
case "DEBUG3":
case "ASSERT":
case "UNKNOWN_LVL":
$k = $p[1] . ":" . $p[2] . ":" . $p[3];
if(isset($entries[$k])){
$parts[4] = "+" . (((int) $p[4]) - end($entries[$k])); //Relative position
}else{
$parts[4] = "@" . $p[4]; //Absolute position
}
if($parts[0] === "EXIT" and isset($entries[$k])){
$indentation[$p[1]] = isset($indentation[$p[1]]) ? $indentation[$p[1]] - 1 : 0;
array_pop($entries[$k]);
if(count($entries[$k]) === 0){
unset($entries[$k]);
}
do{
}while(count($stack) > 0 and array_pop($stack) !== $p[3]);
if(count($stack) === 0){
echo "TOO MANY EXITS " . $p[3] . PHP_EOL;
}
}
$parts[3] = end($stack) . " -> " . $parts[3];
$indent = $indentation[$parts[1]] ?? 0;
if($p[0] === "ENTRY"){
$indentation[$p[1]] = isset($indentation[$p[1]]) ? $indentation[$p[1]] + 1 : 1;
$stack[] = $p[3];
}
$parts[3] = " " . $parts[3];
unset($parts[2]); //Remove file name
$parts[5] = preg_replace($find, $replace, $p[5]);
break;
}
}
echo str_repeat(" ", $indent) . implode(":", $parts) . PHP_EOL;
}
foreach($entries as $k => $missing){
echo "$k is missing exit on ". count($missing) . " entries" . PHP_EOL;
}
```
2021-11-08 13:44:45 +01:00
1075e154e3
added fm_platXcvrInfo->resendEvent
continuous-integration/drone/push Build is passing
2021-11-05 21:13:38 +01:00
0323475110
Added rpath to Makefile.am
continuous-integration/drone/push Build is passing
2021-11-02 08:16:12 +01:00
3776b9148f
Added several const values, and other static analysis fixes
...
continuous-integration/drone/push Build is passing
Added fm_ctext for const char*
Shift headers due to dependencies
2021-11-02 07:00:10 +01:00
93e8b23145
Add ability to use raw PCIe mapped resource4 (BAR4) ( #2 )
...
continuous-integration/drone/push Build is passing
This allows using raw PCIe mapped BAR4 resources for management. MSI interrupts are not supported.
Even when using a module that does not support UIO, management engine can still be used.
Usage example under _fm_platform_attributes.cfg_
```
api.platform.config.switch.0.resource4DevName text /sys/bus/pci/devices/0000:84:00.0/resource4
```
Should work under containers and links, given the actual device is the target and not the resource.
Co-authored-by: WeebDataHoarder <57538841+weebdatahoarder@users.noreply.github.com>
Reviewed-on: Sillycom/IES#2
Co-authored-by: DataHoarder <weebdatahoarder@noreply.gammaspectra.live>
Co-committed-by: DataHoarder <weebdatahoarder@noreply.gammaspectra.live>
2021-10-28 17:54:08 +00:00
5a54208178
Fix several logic issues
continuous-integration/drone/push Build is passing
2021-10-28 08:57:19 +02:00
160148d755
Fix invalid check on FM_TYPE_PAUSE_PACING_TIME on fmComparePortAttributes
2021-10-28 08:37:30 +02:00
89b0a0ea96
Fix NULL pointer check for ppArpBlkCtrl2 (was dupe error)
2021-10-28 08:28:05 +02:00
4e680dd36e
Rename _FM_ARCH_x86_64 to _FM_ARCH_64, as 64-bit is not x86 specific
2021-10-28 08:12:26 +02:00
82bd01ed92
Remove #include <sys/io.h>
, prevents arm64 build
continuous-integration/drone/push Build is passing
2021-10-28 08:04:13 +02:00
52c9d96d09
Implement Silicom card features ( #1 )
...
This implements several binary diff patches from 4.3.2 Silicom version of IES. Now FM10K devices are usable via a switch manager like _matchd_.
Co-authored-by: WeebDataHoarder <57538841+weebdatahoarder@users.noreply.github.com>
Reviewed-on: Sillycom/IES#1
Co-authored-by: DataHoarder <weebdatahoarder@noreply.gammaspectra.live>
Co-committed-by: DataHoarder <weebdatahoarder@noreply.gammaspectra.live>
2021-10-28 05:16:52 +00:00
ca97a65239
Implement VRM model IR read/write for Silicom cards
2020-12-15 22:26:40 +01:00
Jeremias Blendin
f2607d88c6
Fix include in fm_generic_rawsocket.c for Ubuntu 20.04
2020-10-02 20:59:48 -07:00
Derek Foster
1f40554c90
Update to release 4.3.0.
2016-02-04 11:29:43 -08:00
Derek Foster
8c1e5b6e94
Updated register definitions.
2016-01-08 11:14:39 -08:00
Derek Foster
f2eef3689b
Stable auto-negotiation port linking at 100G.
...
Consistent link recovery on 1G + AN + EEE ports.
2016-01-06 12:15:49 -08:00
Derek Foster
cd34cf4c09
Disable learning on the PCIE ports by default.
2015-11-09 13:27:16 -08:00
Derek Foster
e1fed0e588
Updated to release 4.1.6.
2015-11-09 13:05:32 -08:00
Derek Foster
651766be34
Revised platform naming convention.
2015-09-03 16:09:04 -07:00
Derek Foster
0c6def4f27
Updated to release 4.1.5.
2015-08-31 08:29:36 -07:00
Derek Foster
00de348f67
Added support for Boulder Rapids platform.
2015-07-31 15:13:04 -07:00
Derek Foster
94d6631567
Update to release 4.1.4.
2015-07-31 14:26:54 -07:00
Derek Foster
d53a047943
Initial IES API 4.1.3 commit.
2015-06-12 11:02:05 -07:00