mirror of
https://github.com/rvtr/ntr_bootrom.git
synced 2025-10-31 07:11:11 -04:00
50 lines
1.3 KiB
C
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
|
|
|