CTFUNC_HOOKx 宏
用途
将不常记录的跟踪事件记录到组件跟踪 (CT) ,轻量级内存跟踪 (LMT) 或系统跟踪缓冲区中。
语法
#include <sys/ras_trace.h>
CTFUNC_HOOK0(ras_block_t cb, char level, int mem_dest, ulong hw);
CTFUNC_HOOK1(ras_block_t cb, char level, int mem_dest, ulong hw, ulong d1);
CTFUNC_HOOK2(ras_block_t cb, char level, int mem_dest, ulong hw, ulong d1, ulong d2);
CTFUNC_HOOK3(ras_block_t cb, char level, int mem_dest, ulong hw, ulong d1, ulong d2, ulong d3);
CTFUNC_HOOK4(ras_block_t cb, char level, int mem_dest, ulong hw, ulong d1, ulong d2, ulong d3, ulong d4);
CTFUNC_HOOK5(ras_block_t cb, char level, int mem_dest, ulong hw, ulong d1, ulong d2, ulong d3, ulong d4,
ulong d5);描述
CTFUNC_HOOKx 宏记录跟踪挂钩。 这些宏经过优化以记录很少记录的事件,例如错误路径跟踪。 CTFUNC_HOOKx 宏可以用于任何类型的跟踪序列化。 除了针对稀有事件进行优化外, CTFUNC_HOOKx 宏等同于 CT_HOOKx 宏。
CTFUNC_HOOKx 宏记录的所有跟踪都带有时间戳记。
如果 cb 输入参数包含值 RAS_BLOCK_NULL ,那么将不执行跟踪。
参数
| 项 | 描述 |
|---|---|
| ras_block_t cb | cb 参数是引用此跟踪条目所属组件的 RAS 控制块。 |
| char 级别 | level 参数允许过滤不同的跟踪条目。 此级别越高,此跟踪就越被视为调试或详细信息。 仅当跟踪条目的级别小于或等于为内存或系统跟踪方式选择的跟踪级别时,才会显示此跟踪条目。 提供了 10 个级别的跟踪 (CT_LEVEL_0 到 CT_LEVEL_9,对应于值 0 到 9) ,具有以下四个特殊级别:
将现有驱动程序或子系统从现有系统跟踪移植到组件跟踪时,应在 CT_LVL_DEFAULT 上跟踪现有条目。 |
| 整数 mem_dest | mem_dest 参数指示此跟踪条目的内存目标。 它是具有以下可能设置的 ORed 值:
只能使用其中一个 MT_RARE, MT_COMMON和 MT_PRIV 值,但可以将 ORed 与 MT_SYSTEM组合使用。 否则,跟踪条目在多个内存缓冲区中重复。 mem_dest 参数对于 CT_GEN 宏不是必需的,因为轻量级内存跟踪无法容纳通用条目。 CT_GEN 宏检查内存跟踪和系统跟踪级别,以确定通用条目是否应分别进入专用内存缓冲区和系统跟踪缓冲区。 |
hkwd, d1, d2, d3, d4和 d5 参数与用于现有 TRCHKx 宏的参数相同。 TRCHKx 宏链接到 TRCHKLnT 宏,其中 n 从 0 到 5。 例如, TRCHKL1T (hkwd , d1)。