AR# 65545

Zynq-7000 SoC、APU - 非常にまれなタイミング状況で、別のキャッシュ ライン全体が書き込まれているために L1 データ キャッシュから除去されたダーティ キャッシュ ラインでデータが破損することがある

説明

非常にまれなタイミング状況ですが、別のキャッシュ ライン全体が書き込まれているために L1 データ キャッシュから除去されたダーティ キャッシュ ラインで、データが破損することがあります。

ソリューション


影響:
深刻な問題ではありません。データの誤植によりデータ破損が発生することがあります。
回避策:

この誤植は、資料に記載されていない Diagnostic Control レジスタのビット [22] を 1 に設定することにより回避できます。このレジスタは、CP15 c15 0 c0 1 としてエンコードされています。
このビットは、セキュア ステートでのみ、次の読み出し/変更/書き込みコード シーケンスで書き込むことができます。

MRC p15,0,rt,c15,c0,1
ORR rt,rt,#0x00400000
MCR p15,0,rt,c15,c0,1

このビットがセットされると、プロセッサは Read-Allocate (ストリーミング) モードに切り替えることができません。つまり、この誤植によるデータ破損は発生しません。
このビットをセットすると、memset() または memcpy() などの集中的なメモリ アクセスを実行するルーチンのパフォーマンスが著しく低下することがあります。
ただし、ほとんどの標準アプリケーションでは、この回避策による大幅なパフォーマンスの低下はありません。

対象となる構成:
この問題は次のいずれかを含むコンフィギュレーションに影響します。

- ACP が存在する場合、1 つのプロセッサ
- 複数のプロセッサ

影響するデバイス リビジョン:すべて。修正予定なし。
(Xilinx Answer 47916) - 「Zynq-7000 AP SoC デバイス - シリコン リビジョン間の相違点」を参照してください。
サード パーティのエラッタ:Arm 社のエラッタ #845369

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
47916 Zynq-7000 SoC デバイス - シリコン リビジョン間の相違点 N/A N/A
AR# 65545
日付 05/28/2018
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス