mirror of
https://github.com/rvtr/twl_wrapsdk.git
synced 2025-10-31 06:11:10 -04:00
fix arm7 irq mask into 64bit.
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@26 4ee2a332-4b2b-5046-8439-1ba90f034370
This commit is contained in:
parent
d634fdef1b
commit
4681f22cd7
@ -256,7 +256,11 @@ OSIrqMask OS_SetIrqMask(OSIrqMask intr);
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static inline OSIrqMask OS_GetIrqMask(void)
|
static inline OSIrqMask OS_GetIrqMask(void)
|
||||||
{
|
{
|
||||||
|
#ifdef SDK_ARM9
|
||||||
return reg_OS_IE;
|
return reg_OS_IE;
|
||||||
|
#else // SDK_ARM7
|
||||||
|
return ((OSIrqMask)reg_OS_IE2 << 32) | reg_OS_IE;
|
||||||
|
#endif // SDK_ARM7
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
@ -307,7 +311,11 @@ OSIrqMask OS_ResetRequestIrqMask(OSIrqMask intr);
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static inline OSIrqMask OS_GetRequestIrqMask(void)
|
static inline OSIrqMask OS_GetRequestIrqMask(void)
|
||||||
{
|
{
|
||||||
|
#ifdef SDK_ARM9
|
||||||
return reg_OS_IF;
|
return reg_OS_IF;
|
||||||
|
#else // SDK_ARM7
|
||||||
|
return ((OSIrqMask)reg_OS_IF2 << 32) | reg_OS_IF;
|
||||||
|
#endif // SDK_ARM7
|
||||||
}
|
}
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
@ -364,6 +372,9 @@ OSIrqFunction OS_GetIrqFunction(OSIrqMask intrBit);
|
|||||||
static inline void OS_SetIrqCheckFlag(OSIrqMask intr)
|
static inline void OS_SetIrqCheckFlag(OSIrqMask intr)
|
||||||
{
|
{
|
||||||
*(vu32 *)HW_INTR_CHECK_BUF |= (u32)intr;
|
*(vu32 *)HW_INTR_CHECK_BUF |= (u32)intr;
|
||||||
|
#ifdef SDK_ARM7
|
||||||
|
*(vu32 *)HW_INTR_CHECK2_BUF |= (u32)(intr >> 32);
|
||||||
|
#endif // SDK_ARM7
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
@ -377,7 +388,10 @@ static inline void OS_SetIrqCheckFlag(OSIrqMask intr)
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static inline void OS_ClearIrqCheckFlag(OSIrqMask intr)
|
static inline void OS_ClearIrqCheckFlag(OSIrqMask intr)
|
||||||
{
|
{
|
||||||
*(vu32 *)HW_INTR_CHECK_BUF &= (u32)~intr;
|
*(vu32 *)HW_INTR_CHECK_BUF &= ~(u32)intr;
|
||||||
|
#ifdef SDK_ARM7
|
||||||
|
*(vu32 *)HW_INTR_CHECK2_BUF &= ~(u32)(intr >> 32);
|
||||||
|
#endif // SDK_ARM7
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
@ -391,7 +405,13 @@ static inline void OS_ClearIrqCheckFlag(OSIrqMask intr)
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static inline OSIrqMask OS_GetIrqCheckFlag(void)
|
static inline OSIrqMask OS_GetIrqCheckFlag(void)
|
||||||
{
|
{
|
||||||
return *(OSIrqMask *)HW_INTR_CHECK_BUF;
|
OSIrqMask intr = *(vu32 *)HW_INTR_CHECK_BUF;
|
||||||
|
|
||||||
|
#ifdef SDK_ARM7
|
||||||
|
intr |= (OSIrqMask)(*(vu32 *)HW_INTR_CHECK2_BUF) << 32;
|
||||||
|
#endif // SDK_ARM7
|
||||||
|
|
||||||
|
return intr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user