#include <iris/os/systemCall.h>
SVC_CpuClear( data, destp, size, bit );
SVC_CpuClearArray( data, destp, bit );
SVC_CpuClearFast( data, destp, size );
SVC_CpuClearArrayFast( data, destp );
(これらはマクロです)
| data | クリアデータ |
| destp | デスティネーションアドレス |
| size | 転送バイト数 |
| bit | 転送ビット幅(16 または 32) |
なし。
CPU でメモリクリアを行います。
MI_CpuClear() は0をでメモリを埋める関数でしたが、SVC_CpuClear*() は指定の値でメモリを埋める関数です。
これらはマクロなので、destp はポインタであれば型は制限されません。size
は u32 です。bit は 16 か 32 の即値のみが指定できます。data はクリアデータ(メモリを埋めるデータ)で、bit
が 16 の場合 u16 の値を、bit が 32の場合 u32 の値を指定してください。
SVC_ClearCopy() はdata で示されるデータを destp で示されるアドレス以下 size バイトに書き込みます。 destp は 転送ビットが16の場合は2バイト境界に、32の場合は4バイト境界に合わせる必要があります。
SVC_CpuClearArray() は、sizeof( destp ) を転送サイズとする SVC_CpuClear() です。つまり SVC_CpuClear( data, destp, sizeof(destp), bit ) と同じです。
SVC_CpuClearFast() は data で示されるデータを destp で示されるアドレス以下 size バイトに高速に書き込みます。書き込み単位は32バイトですので、サイズは32の倍数とする必要があります。destp は 4バイト境界に合わせる必要があります。
SVC_CpuClearArrayFast() は sizeof( destp )を転送サイズとする SVC_CpuClearFast() です。つまり SVC_CpuClearFast( data ,destp, sizeof(destp) ) と同じです。
MI_CpuClear*,
MI_DmaClear*, SVC_CpuCopy*
2004/01/18 初版