core学习之路

core学习之路
  • 定位具体错误 ID (对应恢复序列):

    • 在步骤 2 中识别出的受影响核心上(或通过安全访问指向该核心的重分发器),读取 GICR_ISERRR0GICR_ISERRR1E

       

       

    • 任何置 1 的位均表示对应的 PPI 或 SGI 处于错误状态。

  • 清除与恢复

    • 遍历步骤 4 中发现的所有错误 ID。

    • 方法 A (推荐 - 覆盖恢复)

      • 直接重写 GICR_IPRIORITYRnGICR_IPRIORITYnE 为预期的优先级值。此操作会自动清除错误状态

         

         

    • 方法 B (清除后恢复)

      1. GICR_ICERRR0GICR_ICERRR1E 对应的位写 1 以清除错误。此时优先级恢复为 GICR_DPRIR 中的默认值

         

         

      2. 随后再将 GICR_IPRIORITYRn 重新编程为目标值

         

         

  • 清除 RAS 记录状态

    • GICT_ERR8STATUS 写 1 以清除 UE 位,确保系统准备好捕获下一次错误。