fix OS_InitLock.

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@281 4ee2a332-4b2b-5046-8439-1ba90f034370
This commit is contained in:
nakasima 2007-09-19 08:40:48 +00:00
parent 2ce85b99b8
commit 3040520feb

View File

@ -245,11 +245,11 @@ void OS_InitLock(void)
// Code for MAIN PROCESSOR // Code for MAIN PROCESSOR
// //
lockp->lockFlag = 0; *(u64*)HW_INIT_LOCK_BUF = 0;
(void)OS_LockByWord(OS_MAINP_SYSTEM_LOCK_ID - 1, lockp, NULL); (void)OS_LockByWord(OS_MAINP_SYSTEM_LOCK_ID - 1, lockp, NULL);
// サブプロセッサによる共有リソース未使用チェック // サブプロセッサによる共有リソース未使用チェック
while (lockp->extension != 0) while (lockp->extension != OS_SUBP_SYSTEM_LOCK_ID - 1)
{ {
OSi_WaitByLoop(); OSi_WaitByLoop();
} }
@ -282,13 +282,12 @@ void OS_InitLock(void)
// //
// Code for SUB PROCESSOR // Code for SUB PROCESSOR
// //
while (lockp->ownerID != OS_MAINP_SYSTEM_LOCK_ID - 1) while (lockp->ownerID != OS_MAINP_SYSTEM_LOCK_ID - 1)
{ {
OSi_WaitByLoop(); OSi_WaitByLoop();
} }
lockp->extension = 0; lockp->extension = OS_SUBP_SYSTEM_LOCK_ID - 1;
while (lockp->ownerID != OS_MAINP_SYSTEM_LOCK_ID) while (lockp->ownerID != OS_MAINP_SYSTEM_LOCK_ID)
{ {
OSi_WaitByLoop(); OSi_WaitByLoop();