当前的加载方式:
一些设想:
关于PCIe Switch场景下的一些其他交流结论:
1、芯片温度如果需要通过复杂协议才能获取,可以放在general_hardware组件实现。或者由CPLD完成,BMC做简单读取
2、PCIe Switch板比较接近IEU,可以放在general_hardware
3、PCIe Switch芯片的flash升级也可以放在general_hardware
当前的加载方式:
有几个疑问,请教一下
"UnitConfiguration_IEU1": {
"SlotType": "IEU",
"SlotNumber": 1,
"SlotSilkText": "IEUSlot1",
"Configurations": [
{
"UID": "343437351",
"Index": 1,
"SrcPortName": [
"A3a",
"A3c"
],
"TargetPortID": [
49,
50
],
"Slot": [
2,
3
],
"Device": []
},
1.如上代码块,UnitConfiguration对象中的SrcPortName、TargetPortID、Slot属性如何确定?找谁可以获取。
"BusinessConnector_CPU1UBCDD1": {
"Direction": "Downstream",
"BCUIndex": "${Slot}",
"Slot": 3,
"LinkWidth": "X16",
"MaxLinkRate": "PCIe 4.0",
"ConnectorType": "UBCDD",
"SilkText": "CPU1 UBCDD1",
"UpstreamResources": [
{
"Name": "SerDes_0_8",
"ID": 8,
"Offset": 0,
"Width": 8
},
{
"Name": "SerDes_0_7",
"ID": 7,
"Offset": 0,
"Width": 4
},
{
"Name": "SerDes_0_10",
"ID": 10,
"Offset": 0,
"Width": 4
}
],
"ActualResourceOrder": [
"SerDes_0_10",
"SerDes_0_7",
"SerDes_0_8"
],
"Ports": [
{
"Name": "A3a",
"ID": 9,
"Offset": 0,
"Width": 8
},
{
"Name": "A3c",
"ID": 11,
"Offset": 8,
"Width": 8
}
],
"Port1LinkInfo": "",
"Port2LinkInfo": ""
},
2.如上代码块,UnitConfiguration对象的srcportname和slot属性是否要和BCU中BusinessConnector对象的Name、ID属性对应?文档说是需要对应的,但是实际上默认的配置并没有对应上。
"SerDes_1_10": {
"Name": "SerDes_1_10",
"ID": 10,
"SocketID": 1,
"LinkWidth": 4,
"WorkMode": 1,
"ModeConfigs": [
{
"Mode": 1,
"Device": [14,14,15,15],
"ControllerIndex": [1,1,1,1]
}
]
}
3.如上代码块,为什么能够确认portid为14,而不是15?如何根据portid,SocketId计算rootbdf?在文档中,“对于以上的案例,可知socketId
和portId
分别为1
和14
,随后可以在root_bdf表中查询对应的RootBDF
。最终找到对应的RootBDF
为[0xAA, 0x2, 0]
。”不知道这是如何计算得到0xaa,0x2,0x0的。
1、跟基础板SMC命令字对应,在代码里用来比对读取到的高速线缆信息。
SrcPortName:当前上报的拓扑发现信息对应的Area端口号
TargetPortID:组件端口信息,用于BMC判断线缆是否插错
Slot:全局的槽位号
这些信息都是找硬件板主获取。硬件规划接线方式,再在PSR里配置线缆白名单。
2、UnitConfiguration对象的SrcPortName和BCU里BusinessConnector对象Port的Name对应,比如SrcPortName的A3a,就会找到BusinessConnector_CPU1UBCDD1的A3a(宽度是x8),对应SerDes_0_10(宽度是x4)和SerDes_0_7(宽度是x4)
3、portid为14是因为取匹配到的SerDes里最小的值作为portid。 socketId
和portId
和RootBDF的对应关系是一个table,默认是在代码里override_root_bdf对象里,或者配置在PSR的BDFConfig对象里。数据来源是带内bios的同事bus号分配规划的。
由于大量社区举报,此话题被临时关闭至少 4 小时。