インテルのみ表示可能 — GUID: trq1559679379639
Ixiasoft
インテルのみ表示可能 — GUID: trq1559679379639
Ixiasoft
4.2.7. エラーの処理
CCUでは、訂正不可能なエラーと訂正可能なエラーの2種類が報告されます。訂正不可能なエラーとは、ハードウェアで訂正できないエラーです (ダブルビットECCなど)。訂正可能なエラーとは、ハードウェアで訂正できるエラーです。ハードウェアは訂正可能なエラーをソフトウェアに報告します。
CCUは、エラーを検出してエラーに関する情報をログに記録し、割り込み (correctible_error_irqおよびuncorrectible_error_irq) として通知します。各CCUコンポーネントは、2つのレジスターセットを実装しています。controlレジスターではエラー報告を有効にし、statusレジスターではエラーをログに記録します。エラー・コントロール・レジスターは、エラー検出イネーブルビット、エラー割り込みイネーブルビット、およびエラーのしきい値フィールドで構成されます。ソフトウェアでは、すべてのアクティブなコンポーネントに対してエラーの検出、訂正、およびログを有効にする必要があります。Correctable Error Control Registerのエラーしきい値フィールドは、訂正可能なエラーをログに記録するまでに発生する訂正可能なエラーの数を決定します。設定されているしきい値に達すると、次に検出された訂正可能なエラーがログに記録されます。
- ISRでは、Coherent Subsystem Correctable Error Interrupt Status Register (CSCEISRn) およびCoherent Subsystem Uncorrectable Error Interrupt Status Register (CSUEISRn) を読み出し、エラーを検出したユニットを特定します。
- 複数のエラーが発生している場合、ISRではエラーに優先順位を付け、処理するエラーを選択します。
- ISRでは、最優先のエラーが発生しているユニットのCorrectable Error Status RegisterまたはUncorrectable Error Status Registerを読み出します。
- Error ValidビットがError Status Registerで設定されると、ISRでは適切なError Location Registerを読み出します。
- ISRでは、Error ValidビットとError Overflowビットの一方または両方に「1」を書き込み、エラーに肯定応答します。
- ISRでは、Error Status RegisterおよびError Location Registerからの情報を使用し、エラーの処理に必要な動作を行い、戻ります。