
Marking local functions: sys_m7_cache_init


Marking externally visible functions: SystemInit Sys_GetCoreID default_interrupt_routine startup_go_to_user_mode


Marking externally visible variables: RESET_CATCH_CORE

Clearing variable flags: rasr (non-addressable) rbar (non-addressable)

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

sys_m7_cache_init/7 (sys_m7_cache_init) @06bce700
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:12992276 (estimated locally) body local optimize_size
  Called by: SystemInit/6 (10737418 (estimated locally),1.00 per call) 
  Calls: 
SystemInit/6 (SystemInit) @06bcee00
  Type: function definition analyzed
  Visibility: externally_visible public
  References: rbar/0 (read)rasr/1 (read)
  Referring: 
  Availability: available
  Function flags: count:10738492 (estimated locally) body optimize_size
  Called by: 
  Calls: sys_m7_cache_init/7 (10737418 (estimated locally),1.00 per call) 
Sys_GetCoreID/5 (Sys_GetCoreID) @06bceb60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
default_interrupt_routine/4 (default_interrupt_routine) @06bce8c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:107374 (estimated locally) body executed_once optimize_size
  Called by: 
  Calls: 
startup_go_to_user_mode/3 (startup_go_to_user_mode) @06bce620
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
RESET_CATCH_CORE/2 (RESET_CATCH_CORE) @06bca900
  Type: variable definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Varpool flags: initialized
rasr/1 (rasr) @06b4d3a8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: SystemInit/6 (read)
  Availability: available
  Varpool flags: initialized read-only const-value-known
rbar/0 (rbar) @06b4d2d0
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: SystemInit/6 (read)
  Availability: available
  Varpool flags: initialized read-only const-value-known
sys_m7_cache_init ()
{
  uint32 ways;
  uint32 sets;
  uint32 ccsidr;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;

  <bb 2> [local count: 12992276]:
  # DEBUG BEGIN_STMT
  # DEBUG ccsidr => 0
  # DEBUG BEGIN_STMT
  # DEBUG sets => 0
  # DEBUG BEGIN_STMT
  # DEBUG ways => 0
  # DEBUG BEGIN_STMT
  MEM[(struct S32_SCB_Type *)3758153728B].CSSELR ={v} 0;
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("dsb");
  # DEBUG BEGIN_STMT
  ccsidr_18 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCSIDR;
  # DEBUG ccsidr => ccsidr_18
  # DEBUG BEGIN_STMT
  _1 = ccsidr_18 >> 13;
  sets_19 = _1 & 32767;
  # DEBUG sets => sets_19

  <bb 3> [local count: 118111600]:
  # sets_11 = PHI <sets_19(2), sets_24(7)>
  # DEBUG sets => sets_11
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = ccsidr_18 >> 3;
  ways_20 = _2 & 1023;
  # DEBUG ways => ways_20

  <bb 4> [local count: 1073741824]:
  # ways_12 = PHI <ways_20(3), ways_23(8)>
  # DEBUG ways => ways_12
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = sets_11 << 5;
  _4 = _3 & 16352;
  _5 = ways_12 << 30;
  _6 = _4 | _5;
  MEM[(struct S32_SCB_Type *)3758153728B].DCISW ={v} _6;
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("dsb");
  # DEBUG BEGIN_STMT
  ways_23 = ways_12 + 4294967295;
  # DEBUG ways => ways_23
  if (ways_12 != 0)
    goto <bb 8>; [89.00%]
  else
    goto <bb 5>; [11.00%]

  <bb 8> [local count: 955630224]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  sets_24 = sets_11 + 4294967295;
  # DEBUG sets => sets_24
  if (sets_11 != 0)
    goto <bb 7>; [89.00%]
  else
    goto <bb 6>; [11.00%]

  <bb 7> [local count: 105119325]:
  goto <bb 3>; [100.00%]

  <bb 6> [local count: 12992276]:
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("dsb");
  # DEBUG BEGIN_STMT
  _7 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCR;
  _8 = _7 | 65536;
  MEM[(struct S32_SCB_Type *)3758153728B].CCR ={v} _8;
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("dsb");
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("isb");
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("dsb");
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("isb");
  # DEBUG BEGIN_STMT
  MEM[(struct S32_SCB_Type *)3758153728B].ICIALLU ={v} 0;
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("dsb");
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("isb");
  # DEBUG BEGIN_STMT
  _9 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCR;
  _10 = _9 | 131072;
  MEM[(struct S32_SCB_Type *)3758153728B].CCR ={v} _10;
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("dsb");
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("isb");
  return;

}


SystemInit ()
{
  uint8 regionNum;
  uint32 coreMask;
  uint32 i;
  short unsigned int _1;
  short unsigned int _2;
  short unsigned int _3;
  long unsigned int _4;
  int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _28;
  unsigned char _29;
  unsigned char _30;

  <bb 2> [local count: 10738492]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG regionNum => 0
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY Sys_GetCoreID
  # DEBUG BEGIN_STMT
  _28 ={v} MEM[(struct MSCM_Type *)1076232192B].CPXNUM;
  _29 = (unsigned char) _28;
  _30 = _29 & 3;
  # DEBUG coreId => _30
  # DEBUG BEGIN_STMT
  switch (_30) <default: <L2> [33.33%], case 0: <L10> [33.33%], case 1: <L1> [33.33%]>

  <bb 3> [local count: 3579139]:
<L1>:
  # DEBUG BEGIN_STMT
  # DEBUG coreMask => 2
  # DEBUG BEGIN_STMT
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 3579139]:
<L2>:
  # DEBUG BEGIN_STMT
  # DEBUG coreMask => 0
  # DEBUG BEGIN_STMT

  <bb 5> [local count: 10737418]:
  # coreMask_11 = PHI <1(2), 2(3), 0(4)>
<L10>:
  # DEBUG coreMask => coreMask_11
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 1063004406]:
  # DEBUG BEGIN_STMT
  _1 ={v} MEM[(struct MSCM_Type *)1076232192B].IRSPRC[i_10];
  _2 = (short unsigned int) coreMask_11;
  _3 = _1 | _2;
  MEM[(struct MSCM_Type *)1076232192B].IRSPRC[i_10] ={v} _3;
  # DEBUG BEGIN_STMT
  i_27 = i_10 + 1;
  # DEBUG i => i_27

  <bb 7> [local count: 1073741824]:
  # i_10 = PHI <0(5), i_27(6)>
  # DEBUG i => i_10
  # DEBUG BEGIN_STMT
  if (i_10 != 240)
    goto <bb 6>; [99.00%]
  else
    goto <bb 8>; [1.00%]

  <bb 8> [local count: 10737418]:
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("dsb");
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("isb");
  # DEBUG BEGIN_STMT
  # DEBUG regionNum => 0
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 150243364]:
  # DEBUG BEGIN_STMT
  _4 = (long unsigned int) regionNum_12;
  MEM[(struct S32_MPU_Type *)3758153728B].RNR ={v} _4;
  # DEBUG BEGIN_STMT
  _5 = (int) regionNum_12;
  _6 = rbar[_5];
  MEM[(struct S32_MPU_Type *)3758153728B].RBAR ={v} _6;
  # DEBUG BEGIN_STMT
  _7 = rasr[_5];
  MEM[(struct S32_MPU_Type *)3758153728B].RASR ={v} _7;
  # DEBUG BEGIN_STMT
  regionNum_25 = regionNum_12 + 1;
  # DEBUG regionNum => regionNum_25

  <bb 10> [local count: 160980783]:
  # regionNum_12 = PHI <0(8), regionNum_25(9)>
  # DEBUG regionNum => regionNum_12
  # DEBUG BEGIN_STMT
  if (regionNum_12 != 14)
    goto <bb 9>; [93.33%]
  else
    goto <bb 11>; [6.67%]

  <bb 11> [local count: 10737418]:
  # DEBUG BEGIN_STMT
  _8 ={v} MEM[(struct S32_MPU_Type *)3758153728B].CTRL;
  _9 = _8 | 1;
  MEM[(struct S32_MPU_Type *)3758153728B].CTRL ={v} _9;
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("dsb");
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("isb");
  # DEBUG BEGIN_STMT
  sys_m7_cache_init ();
  return;

}


Sys_GetCoreID ()
{
  long unsigned int _1;
  unsigned char _2;
  uint8 _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 ={v} MEM[(struct MSCM_Type *)1076232192B].CPXNUM;
  _2 = (unsigned char) _1;
  _4 = _2 & 3;
  return _4;

}


default_interrupt_routine ()
{
  <bb 2> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 4> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

}


startup_go_to_user_mode ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


