mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 09:53:59 +09:00
251 lines
4.5 KiB
Plaintext
251 lines
4.5 KiB
Plaintext
SchM_Exit_Mcu_MCU_EXCLUSIVE_AREA_02 ()
|
|
{
|
|
uint32 u32CoreId;
|
|
|
|
<bb 2> :
|
|
# DEBUG BEGIN_STMT
|
|
_1 = Sys_GetCoreID ();
|
|
u32CoreId = (uint32) _1;
|
|
# DEBUG BEGIN_STMT
|
|
_2 = reentry_guard_MCU_EXCLUSIVE_AREA_02[u32CoreId];
|
|
_3 = _2 + 4294967295;
|
|
reentry_guard_MCU_EXCLUSIVE_AREA_02[u32CoreId] = _3;
|
|
# DEBUG BEGIN_STMT
|
|
_4 = msr_MCU_EXCLUSIVE_AREA_02[u32CoreId];
|
|
_5 = _4 & 1;
|
|
if (_5 == 0)
|
|
goto <bb 3>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 3> :
|
|
_6 = reentry_guard_MCU_EXCLUSIVE_AREA_02[u32CoreId];
|
|
if (_6 == 0)
|
|
goto <bb 4>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 4> :
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__(" cpsie i");
|
|
|
|
<bb 5> :
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
SchM_Enter_Mcu_MCU_EXCLUSIVE_AREA_02 ()
|
|
{
|
|
uint32 u32CoreId;
|
|
|
|
<bb 2> :
|
|
# DEBUG BEGIN_STMT
|
|
_1 = Sys_GetCoreID ();
|
|
u32CoreId = (uint32) _1;
|
|
# DEBUG BEGIN_STMT
|
|
_2 = reentry_guard_MCU_EXCLUSIVE_AREA_02[u32CoreId];
|
|
if (_2 == 0)
|
|
goto <bb 3>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 3> :
|
|
# DEBUG BEGIN_STMT
|
|
_3 = Mcu_schm_read_msr ();
|
|
msr_MCU_EXCLUSIVE_AREA_02[u32CoreId] = _3;
|
|
# DEBUG BEGIN_STMT
|
|
_4 = msr_MCU_EXCLUSIVE_AREA_02[u32CoreId];
|
|
_5 = _4 & 1;
|
|
if (_5 == 0)
|
|
goto <bb 4>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 4> :
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__(" cpsid i");
|
|
|
|
<bb 5> :
|
|
# DEBUG BEGIN_STMT
|
|
_6 = reentry_guard_MCU_EXCLUSIVE_AREA_02[u32CoreId];
|
|
_7 = _6 + 1;
|
|
reentry_guard_MCU_EXCLUSIVE_AREA_02[u32CoreId] = _7;
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
SchM_Exit_Mcu_MCU_EXCLUSIVE_AREA_01 ()
|
|
{
|
|
uint32 u32CoreId;
|
|
|
|
<bb 2> :
|
|
# DEBUG BEGIN_STMT
|
|
_1 = Sys_GetCoreID ();
|
|
u32CoreId = (uint32) _1;
|
|
# DEBUG BEGIN_STMT
|
|
_2 = reentry_guard_MCU_EXCLUSIVE_AREA_01[u32CoreId];
|
|
_3 = _2 + 4294967295;
|
|
reentry_guard_MCU_EXCLUSIVE_AREA_01[u32CoreId] = _3;
|
|
# DEBUG BEGIN_STMT
|
|
_4 = msr_MCU_EXCLUSIVE_AREA_01[u32CoreId];
|
|
_5 = _4 & 1;
|
|
if (_5 == 0)
|
|
goto <bb 3>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 3> :
|
|
_6 = reentry_guard_MCU_EXCLUSIVE_AREA_01[u32CoreId];
|
|
if (_6 == 0)
|
|
goto <bb 4>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 4> :
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__(" cpsie i");
|
|
|
|
<bb 5> :
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
SchM_Enter_Mcu_MCU_EXCLUSIVE_AREA_01 ()
|
|
{
|
|
uint32 u32CoreId;
|
|
|
|
<bb 2> :
|
|
# DEBUG BEGIN_STMT
|
|
_1 = Sys_GetCoreID ();
|
|
u32CoreId = (uint32) _1;
|
|
# DEBUG BEGIN_STMT
|
|
_2 = reentry_guard_MCU_EXCLUSIVE_AREA_01[u32CoreId];
|
|
if (_2 == 0)
|
|
goto <bb 3>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 3> :
|
|
# DEBUG BEGIN_STMT
|
|
_3 = Mcu_schm_read_msr ();
|
|
msr_MCU_EXCLUSIVE_AREA_01[u32CoreId] = _3;
|
|
# DEBUG BEGIN_STMT
|
|
_4 = msr_MCU_EXCLUSIVE_AREA_01[u32CoreId];
|
|
_5 = _4 & 1;
|
|
if (_5 == 0)
|
|
goto <bb 4>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 4> :
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__(" cpsid i");
|
|
|
|
<bb 5> :
|
|
# DEBUG BEGIN_STMT
|
|
_6 = reentry_guard_MCU_EXCLUSIVE_AREA_01[u32CoreId];
|
|
_7 = _6 + 1;
|
|
reentry_guard_MCU_EXCLUSIVE_AREA_01[u32CoreId] = _7;
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
SchM_Exit_Mcu_MCU_EXCLUSIVE_AREA_00 ()
|
|
{
|
|
uint32 u32CoreId;
|
|
|
|
<bb 2> :
|
|
# DEBUG BEGIN_STMT
|
|
_1 = Sys_GetCoreID ();
|
|
u32CoreId = (uint32) _1;
|
|
# DEBUG BEGIN_STMT
|
|
_2 = reentry_guard_MCU_EXCLUSIVE_AREA_00[u32CoreId];
|
|
_3 = _2 + 4294967295;
|
|
reentry_guard_MCU_EXCLUSIVE_AREA_00[u32CoreId] = _3;
|
|
# DEBUG BEGIN_STMT
|
|
_4 = msr_MCU_EXCLUSIVE_AREA_00[u32CoreId];
|
|
_5 = _4 & 1;
|
|
if (_5 == 0)
|
|
goto <bb 3>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 3> :
|
|
_6 = reentry_guard_MCU_EXCLUSIVE_AREA_00[u32CoreId];
|
|
if (_6 == 0)
|
|
goto <bb 4>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 4> :
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__(" cpsie i");
|
|
|
|
<bb 5> :
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
SchM_Enter_Mcu_MCU_EXCLUSIVE_AREA_00 ()
|
|
{
|
|
uint32 u32CoreId;
|
|
|
|
<bb 2> :
|
|
# DEBUG BEGIN_STMT
|
|
_1 = Sys_GetCoreID ();
|
|
u32CoreId = (uint32) _1;
|
|
# DEBUG BEGIN_STMT
|
|
_2 = reentry_guard_MCU_EXCLUSIVE_AREA_00[u32CoreId];
|
|
if (_2 == 0)
|
|
goto <bb 3>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 3> :
|
|
# DEBUG BEGIN_STMT
|
|
_3 = Mcu_schm_read_msr ();
|
|
msr_MCU_EXCLUSIVE_AREA_00[u32CoreId] = _3;
|
|
# DEBUG BEGIN_STMT
|
|
_4 = msr_MCU_EXCLUSIVE_AREA_00[u32CoreId];
|
|
_5 = _4 & 1;
|
|
if (_5 == 0)
|
|
goto <bb 4>; [INV]
|
|
else
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 4> :
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__(" cpsid i");
|
|
|
|
<bb 5> :
|
|
# DEBUG BEGIN_STMT
|
|
_6 = reentry_guard_MCU_EXCLUSIVE_AREA_00[u32CoreId];
|
|
_7 = _6 + 1;
|
|
reentry_guard_MCU_EXCLUSIVE_AREA_00[u32CoreId] = _7;
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
Mcu_schm_read_msr ()
|
|
{
|
|
register uint32 reg_tmp;
|
|
uint32 D.4126;
|
|
|
|
<bb 2> :
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__(" mrs %0, primask " : "=r" reg_tmp);
|
|
# DEBUG BEGIN_STMT
|
|
D.4126 = reg_tmp;
|
|
return D.4126;
|
|
|
|
}
|
|
|
|
|