
Marking local functions:


Marking externally visible functions: Power_Ip_RCM_RestoreSystemResetIsrConfig Power_Ip_RCM_SystemResetIsrConfig Power_Ip_RCM_GetCurrentSystemResetIsrSettings Power_Ip_RCM_GetResetRawValue Power_Ip_RCM_GetResetReason Power_Ip_RCM_ResetInit


Marking externally visible variables:


Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:

Power_Ip_RCM_RestoreSystemResetIsrConfig/6 (Power_Ip_RCM_RestoreSystemResetIsrConfig) @06ad9460
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
Power_Ip_RCM_SystemResetIsrConfig/5 (Power_Ip_RCM_SystemResetIsrConfig) @06ad9e00
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
Power_Ip_RCM_GetCurrentSystemResetIsrSettings/4 (Power_Ip_RCM_GetCurrentSystemResetIsrSettings) @06ad9b60
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
Power_Ip_RCM_GetResetRawValue/3 (Power_Ip_RCM_GetResetRawValue) @06ad98c0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: u32ResetStatus/0 (write)u32ResetStatus/0 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
Power_Ip_RCM_GetResetReason/2 (Power_Ip_RCM_GetResetReason) @06ad9620
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: u32ResetStatus/0 (write)u32ResetStatus/0 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
Power_Ip_RCM_ResetInit/1 (Power_Ip_RCM_ResetInit) @06ad9380
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
u32ResetStatus/0 (u32ResetStatus) @06ad8438
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: Power_Ip_RCM_GetResetReason/2 (write)Power_Ip_RCM_GetResetReason/2 (read)Power_Ip_RCM_GetResetRawValue/3 (write)Power_Ip_RCM_GetResetRawValue/3 (read)
  Availability: available
  Varpool flags:
Power_Ip_RCM_RestoreSystemResetIsrConfig (uint32 u32SystemResetIsrConfig)
{
  <bb 2> :
  _1 = 1074262016B;
  _2 = u32SystemResetIsrConfig & 12287;
  _1->SRIE = _2;
  return;

}


Power_Ip_RCM_SystemResetIsrConfig ()
{
  <bb 2> :
  _1 = 1074262016B;
  _1->SRIE = 0;
  return;

}


Power_Ip_RCM_GetCurrentSystemResetIsrSettings ()
{
  uint32 u32SystemResetIsrStatus;
  uint32 D.5702;

  <bb 2> :
  _1 = 1074262016B;
  _2 = _1->SRIE;
  u32SystemResetIsrStatus = _2 & 12287;
  D.5702 = u32SystemResetIsrStatus;

  <bb 3> :
<L0>:
  return D.5702;

}


Power_Ip_RCM_GetResetRawValue ()
{
  uint32 u32RegValue;
  uint32 u32RawReset;
  Power_Ip_RawResetType D.5700;

  <bb 2> :
  _1 = 1074262016B;
  _2 = _1->SSRS;
  u32RegValue = _2 & 12286;
  if (u32RegValue != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _3 = 1074262016B;
  _4 = u32RegValue & 12286;
  _3->SSRS = _4;
  u32ResetStatus = u32RegValue;

  <bb 4> :
  u32RawReset = u32ResetStatus;
  D.5700 = u32RawReset;

  <bb 5> :
<L2>:
  return D.5700;

}


Power_Ip_RCM_GetResetReason ()
{
  uint32 u32NumberOfFlags;
  uint32 u32Position;
  uint32 u32DynamicMask;
  uint32 u32Index;
  uint32 u32ActiveValue;
  uint32 u32RegValue;
  uint32 eResetReason;
  uint32 D.5696;

  <bb 2> :
  eResetReason = 12;
  u32RegValue = 0;
  u32Position = 0;
  u32NumberOfFlags = 0;
  _1 = 1074262016B;
  _2 = _1->SSRS;
  u32RegValue = _2 & 12286;
  if (u32RegValue != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _3 = 1074262016B;
  _4 = u32RegValue & 12286;
  _3->SSRS = _4;
  u32ResetStatus = u32RegValue;

  <bb 4> :
  u32ActiveValue = u32ResetStatus;
  _5 = u32ActiveValue & 12286;
  if (_5 == 130)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  eResetReason = 5;
  goto <bb 14>; [INV]

  <bb 6> :
  u32Index = 0;
  goto <bb 13>; [INV]

  <bb 7> :
  u32DynamicMask = 2147483648 >> u32Index;
  _6 = u32DynamicMask & 12286;
  if (_6 != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 8> :
  _7 = u32DynamicMask & u32ActiveValue;
  if (_7 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 9> :
  eResetReason = u32Position;
  u32NumberOfFlags = u32NumberOfFlags + 1;
  if (u32NumberOfFlags > 1)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  eResetReason = 13;
  goto <bb 14>; [INV]

  <bb 11> :
  u32Position = u32Position + 1;

  <bb 12> :
  u32Index = u32Index + 1;

  <bb 13> :
  if (u32Index <= 31)
    goto <bb 7>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 14> :
  D.5696 = eResetReason;

  <bb 15> :
<L14>:
  return D.5696;

}


Power_Ip_RCM_ResetInit (const struct Power_Ip_RCM_ConfigType * RCM_pConfigPtr)
{
  <bb 2> :
  _1 = RCM_pConfigPtr->u32ResetPinControlConfig;
  _2 = 1074262016B;
  _3 = _1 & 7943;
  _2->RPC = _3;
  _4 = RCM_pConfigPtr->u32ResetInterruptEnableConfig;
  _5 = 1074262016B;
  _6 = _4 & 12287;
  _5->SRIE = _6;
  return;

}


