ntr_bootrom/trunk/IrisSubp/include/IrisSubpUTL.h

50 lines
1.3 KiB
C

//====================================================================
// IrisSubpUTL.h
// ユーティリティライブラリ
//
// Copyright (C) 2003 NINTENDO Co.,Ltd.
//====================================================================
#ifndef _IRIS_SUBP_UTL_H
#define _IRIS_SUBP_UTL_H
#ifdef __cplusplus
extern "C" {
#endif
#include <IrisSubpTarget.h>
#include <IrisSubpTypes.h>
//----------------------------------------------------------------------
// データのスワップ(ワード/バイト)
//
//・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