//==================================================================== // IrisSubpUTL.h // ユーティリティライブラリ // // Copyright (C) 2003 NINTENDO Co.,Ltd. //==================================================================== #ifndef _IRIS_SUBP_UTL_H #define _IRIS_SUBP_UTL_H #ifdef __cplusplus extern "C" { #endif #include #include //---------------------------------------------------------------------- // データのスワップ(ワード/バイト) // //・setDataとdestpが指す先のデータをスワップします。 //・プロセッサ間やモジュール間で共有リソースを排他制御するための // スピンロック等を実現することができます。 // //・引数: // setData セットするデータ // destp スワップ先のポインタ // //・戻り値:スワップ先へ直前に格納されていた値 // //※但し、メインメモリに対してはキャッシュ経由でなければ // バイトアクセスはできないことに注意して下さい。 // ですので、メインメモリ上では基本的に UTL_SwapWord() を使用して下さい。 //---------------------------------------------------------------------- s32 UTL_SwapWord(u32 setData, volatile u32 *destp); u8 UTL_SwapByte(u32 setData, volatile u8 *destp); #ifdef __cplusplus } #endif #endif // _IRIS_SUBP_OS_H