组件热复位介绍
更新时间: 2026/04/17
在Gitcode上查看源码

背景介绍

热复位是一种轻量级复位机制,其核心目的是清理设备及其通信接口的内部状态。其关键特性有以下几点:保留配置参数,即不重置中断使能、阈值、地址等预设配置;重置通信状态,即清除通信接口的临时状态数据,如序列号、会话状态等;不会触发自检。

实现简介

实现方式:maca 调用新增资源树方法 WarmReset,通过 WarmReset 向所有其他组件发送消息,由各组件注册热复位回调函数,自己决定热复位的具体操作。组件完成热复位后,将结果返回给maca。maca输出完成热复位的日志,列出热复位异常的组件

热复位命令

shell
busctl --user call bmc.kepler.maca /bmc/kepler/MacaService bmc.kepler.SystemControl WarmReset a{ss} 0

shell
mdbctl call MacaService_0 bmc.kepler.SystemControl WarmReset 0

相关日志

调用热复位接口后,组件执行热复位操作。观察到框架日志下有 “WarmReset begin”、“warm reseting ... prepare successfully”、“warm reseting ... closed successfully”、“WarmReset successfully” 格式的日志输出。运行日志下有“Warm reset start”以及“Warm reset Successfully”的日志输出,以下是部分日志的示例