CSR配置字典之VrdPower类
更新时间:2025/7/22
在Gitcode上查看源码📋 文档信息
字段 | 值 |
---|---|
文档标题 | CSR配置指导之VrdPower类 |
创建日期 | 2024-01-XX |
最后更新 | 2024-01-XX |
文档版本 | v1.0 |
维护人员 | BMC开发团队 |
审核状态 | ✅ 已审核 |
📋 变更历史
版本 | 日期 | 变更内容 | 变更人 | 审核人 | 备注 |
---|---|---|---|---|---|
v1.0 | 2024-01-XX | 初始版本创建 | 开发团队 | 技术负责人 | 首次发布 |
🎯 类概览
VrdPower类 是BMC固件中用于管理VR电源供电区域的配置类。该类通过继承VrdChip对象,提供了详细的电源供电区域类型、CPU归属和Die区域配置,主要用于新基础板的VRD电源精细化管理。
状态: 🟢 活跃维护中
适用范围: VR电源供电区域管理、新基础板VRD配置
依赖组件: VrdChip、VrdMgmt、新基础板SR配置
📊 属性定义详表
必选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 |
---|---|---|---|---|---|---|
@Parent | 软件 | NA | NA | 无 | 继承VrdChip对象,指定归属哪个对象。新基础板sr需配置 | 用于主板VRD电源配置 |
SystemId | 硬件 | NA | U8 | 无 | 此对象归属第几个host,对于单主服务器也不需要配置。新基础板sr需配置 | 用于主板VRD电源配置 |
CpuId | 硬件 | NA | U8 | 无 | 是进行说明CPU主板的第几个PCU,这个VRD归属cpu1的就配置为1,归属CPU2的就配置为2,以此类推。新基础板sr需配置 | 用于主板VRD电源配置 |
Type | 硬件 | NA | U8 | 无 | 电源供电区域类型, 0: Core, 1: Uncore, 2: DDr, 3: Nimbus, 4: VDDQ。新基础板sr需配置 | 用于主板VRD电源配置 |
DieId | 硬件 | NA | U8 | 无 | 电源供电die区域, 0: NA, 1: TA, 2: NB, 3: TB, 255: 不涉及。新基础板sr需配置 | 用于主板VRD电源配置 |
🔗 动态关联机制
父对象继承
json
{
"@Parent": "VrdChip_U9"
}
关联说明:
@Parent
: 指定继承的VrdChip对象- 通过父对象继承获取VR芯片管理功能
- 支持多个VrdPower对象关联同一个VrdChip
供电区域类型映射
json
{
"Type": 0, // Core
"DieId": 1 // TA
}
类型说明:
- Type 0 (Core): 核心供电区域
- Type 1 (Uncore): 非核心供电区域
- Type 2 (DDR): 内存供电区域
- Type 3 (Nimbus): Nimbus供电区域
- Type 4 (VDDQ): VDDQ供电区域
DieId说明:
- 0: NA(不适用)
- 1: TA(TA区域)
- 2: NB(NB区域)
- 3: TB(TB区域)
- 255: 不涉及
📂 分类标准
软件属性
- @Parent: 父对象继承关系
硬件属性
- SystemId: Host系统编号
- CpuId: CPU物理编号
- Type: 电源供电区域类型
- DieId: 电源供电Die区域
📝 配置示例
基础配置
json
{
"VrdPower_Core": {
"@Parent": "VrdChip_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 0,
"DieId": 1
}
}
多供电区域配置
json
{
"VrdPower_Core": {
"@Parent": "VrdChip_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 0,
"DieId": 1
},
"VrdPower_Uncore": {
"@Parent": "VrdChip_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 1,
"DieId": 2
},
"VrdPower_DDR": {
"@Parent": "VrdChip_U10",
"SystemId": 1,
"CpuId": 1,
"Type": 2,
"DieId": 255
}
}
双CPU配置
json
{
"VrdPower_CPU1_Core": {
"@Parent": "VrdChip_CPU1_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 0,
"DieId": 1
},
"VrdPower_CPU2_Core": {
"@Parent": "VrdChip_CPU2_U10",
"SystemId": 1,
"CpuId": 2,
"Type": 0,
"DieId": 1
}
}
完整层级配置
json
{
"VrdMgmt_1": {
"SystemId": 1,
"CpuId": 1
},
"VrdChip_U9": {
"@Parent": "VrdMgmt_1",
"Name": "VrdChip0"
},
"VrdPower_Core": {
"@Parent": "VrdChip_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 0,
"DieId": 1
},
"VrdPower_Uncore": {
"@Parent": "VrdChip_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 1,
"DieId": 2
}
}
🔧 使用指南
配置步骤
- 创建VrdChip对象: 先配置父级VrdChip对象
- 设置继承关系: 配置@Parent属性指向VrdChip对象
- 配置系统信息: 设置SystemId和CpuId
- 配置供电区域: 设置Type和DieId参数
- 验证配置: 确保配置与硬件拓扑匹配
最佳实践
- 新基础板SR必须配置此类
- 按照硬件供电区域划分配置Type
- 根据Die物理位置配置DieId
- 保持配置的层次结构完整性
注意事项
- 仅适用于新基础板配置
- 必须先配置VrdChip父对象
- Type和DieId配置必须与硬件匹配
- 多CPU系统需要正确配置CpuId
故障排除
- 继承失败: 检查@Parent指向的VrdChip对象是否存在
- 供电区域识别错误: 验证Type和DieId配置正确性
- CPU归属错误: 确认CpuId配置与物理CPU匹配
- 系统识别错误: 检查SystemId配置的唯一性