#include <iris/os.h>
void DC_FlushAll( void );
void DC_ClaenAndInvalidateAll( void );
なし。
なし。
すべてのデータキャッシュ領域のデータをフラッシュします。
具体的には、データキャッシュへの書き込みが行なわれたがメインメモリには反映されていない状態(ダーティ状態)のキャッシュのライトバックを行い、すべてのキャッシュのデータを破棄し、無効状態にします。
DMA転送やグラフィクスコマンドの作成時などのように、他のデバイスとのメインメモリを使用したデータ送信のデータブロックを完成させるときに使用します。
DC_CleanAndInvalidateAll() は DC_FlushAll() の別名です。動作は全く同じです。
DC_Clean*/DC_CleanAndInvalidate* は、プロトタイプ版の SDK からの移植作業のために用意されたものですので、通常は
DC_Store*/DC_Flush* をお使いください.
ARM プロセッサのオフィシャルドキュメントでは、データキャッシュを無効化する動作を "Flush"、データキャッシュをライトバックしてクリーン状態にする動作を "Clean"、ライトバックして無効化する動作を "Clean and Flush" と記述してる場合がありますが、本 SDK の API では GAMECUBE や Nintendo64 などの API との統一性を重視するため、無効化を "Invalidate"、ライトバックを "Store"、ライトバックして無効化する動作を "Flush" で統一しています。ご注意ください。
システム制御コプロセッサのレジスタ7を操作しています。
IC_InvalidateAll IC_InvalidateRange
DC_InvalidateAll DC_InvalidateRange
DC_StoreAll DC_StoreRange
DC_FlushRange
2003/12/22 初版