# DC_LockdownRange

## 構文

      #include <nitro/os.h>

      void DC_LockdownRange( const void* startAddr, u32 nBytes );

## 引数

startAddr | ロックダウンする範囲の最下位アドレス
nBytes | ロックダウンする範囲のバイト数(最大1KB)

## 返り値

なし。

## 説明

指定領域にヒットしているデータキャッシュの内容をロックして破棄されないようにします。

ただし、1KBのロックダウンブロック単位でロックされますので、この関数を一度呼び出す度にキャッシュとして使用できる領域が1KBずつロックされることになり、ミス率が上昇します。最大で3ブロック分のデータキャッシュをロックダウンすることができます。

startAddr は32バイト単位で下位方向に丸められます。startAddr + nBytes は32バイト単位で上位方向に丸められます。

## 内部動作

システム制御コプロセッサのレジスタ7, 9を操作しています。
指定されたデータをキャッシュにロードする期間、内部で割り込みが禁止されます。

## 参照

`DC_TouchRange,DC_Unlockdown, DC_UnlockdownAll
`

## 履歴

2005/11/14 startAddrの型をconst void*に変更
2005/01/21 ロックダウンブロックに関する記述を追加
2003/12/22 初版