
Marking local functions:


Marking externally visible functions: SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_01 SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01 SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_00 SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_00 Dio_schm_read_msr


Marking externally visible variables:


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

SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_01/8 (SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_01) @05e79c40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: reentry_guard_DIO_EXCLUSIVE_AREA_01/3 (read)reentry_guard_DIO_EXCLUSIVE_AREA_01/3 (write)msr_DIO_EXCLUSIVE_AREA_01/2 (read)reentry_guard_DIO_EXCLUSIVE_AREA_01/3 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01/7 (SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01) @05e799a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: reentry_guard_DIO_EXCLUSIVE_AREA_01/3 (read)msr_DIO_EXCLUSIVE_AREA_01/2 (write)msr_DIO_EXCLUSIVE_AREA_01/2 (read)reentry_guard_DIO_EXCLUSIVE_AREA_01/3 (read)reentry_guard_DIO_EXCLUSIVE_AREA_01/3 (write)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Dio_schm_read_msr/4 
SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_00/6 (SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_00) @05e79700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: reentry_guard_DIO_EXCLUSIVE_AREA_00/1 (read)reentry_guard_DIO_EXCLUSIVE_AREA_00/1 (write)msr_DIO_EXCLUSIVE_AREA_00/0 (read)reentry_guard_DIO_EXCLUSIVE_AREA_00/1 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_00/5 (SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_00) @05e79460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: reentry_guard_DIO_EXCLUSIVE_AREA_00/1 (read)msr_DIO_EXCLUSIVE_AREA_00/0 (write)msr_DIO_EXCLUSIVE_AREA_00/0 (read)reentry_guard_DIO_EXCLUSIVE_AREA_00/1 (read)reentry_guard_DIO_EXCLUSIVE_AREA_00/1 (write)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Dio_schm_read_msr/4 
Dio_schm_read_msr/4 (Dio_schm_read_msr) @05e791c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01/7 SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_00/5 
  Calls: 
reentry_guard_DIO_EXCLUSIVE_AREA_01/3 (reentry_guard_DIO_EXCLUSIVE_AREA_01) @05e76948
  Type: variable definition analyzed
  Visibility: force_output prevailing_def_ironly
  References: 
  Referring: SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01/7 (read)SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01/7 (read)SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01/7 (write)SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_01/8 (read)SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_01/8 (write)SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_01/8 (read)
  Availability: available
  Varpool flags:
msr_DIO_EXCLUSIVE_AREA_01/2 (msr_DIO_EXCLUSIVE_AREA_01) @05e768b8
  Type: variable definition analyzed
  Visibility: force_output prevailing_def_ironly
  References: 
  Referring: SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01/7 (write)SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01/7 (read)SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_01/8 (read)
  Availability: available
  Varpool flags:
reentry_guard_DIO_EXCLUSIVE_AREA_00/1 (reentry_guard_DIO_EXCLUSIVE_AREA_00) @05e76828
  Type: variable definition analyzed
  Visibility: force_output prevailing_def_ironly
  References: 
  Referring: SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_00/5 (read)SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_00/5 (read)SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_00/5 (write)SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_00/6 (read)SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_00/6 (write)SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_00/6 (read)
  Availability: available
  Varpool flags:
msr_DIO_EXCLUSIVE_AREA_00/0 (msr_DIO_EXCLUSIVE_AREA_00) @05e76798
  Type: variable definition analyzed
  Visibility: force_output prevailing_def_ironly
  References: 
  Referring: SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_00/5 (write)SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_00/5 (read)SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_00/6 (read)
  Availability: available
  Varpool flags:
SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_01 ()
{
  uint32 u32CoreId;

  <bb 2> :
  # DEBUG BEGIN_STMT
  u32CoreId = 0;
  # DEBUG BEGIN_STMT
  _1 = reentry_guard_DIO_EXCLUSIVE_AREA_01[u32CoreId];
  _2 = _1 + 4294967295;
  reentry_guard_DIO_EXCLUSIVE_AREA_01[u32CoreId] = _2;
  # DEBUG BEGIN_STMT
  _3 = msr_DIO_EXCLUSIVE_AREA_01[u32CoreId];
  _4 = _3 & 1;
  if (_4 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 3> :
  _5 = reentry_guard_DIO_EXCLUSIVE_AREA_01[u32CoreId];
  if (_5 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" cpsie i");

  <bb 5> :
  return;

}


SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01 ()
{
  uint32 u32CoreId;

  <bb 2> :
  # DEBUG BEGIN_STMT
  u32CoreId = 0;
  # DEBUG BEGIN_STMT
  _1 = reentry_guard_DIO_EXCLUSIVE_AREA_01[u32CoreId];
  if (_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = Dio_schm_read_msr ();
  msr_DIO_EXCLUSIVE_AREA_01[u32CoreId] = _2;
  # DEBUG BEGIN_STMT
  _3 = msr_DIO_EXCLUSIVE_AREA_01[u32CoreId];
  _4 = _3 & 1;
  if (_4 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" cpsid i");

  <bb 5> :
  # DEBUG BEGIN_STMT
  _5 = reentry_guard_DIO_EXCLUSIVE_AREA_01[u32CoreId];
  _6 = _5 + 1;
  reentry_guard_DIO_EXCLUSIVE_AREA_01[u32CoreId] = _6;
  return;

}


SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_00 ()
{
  uint32 u32CoreId;

  <bb 2> :
  # DEBUG BEGIN_STMT
  u32CoreId = 0;
  # DEBUG BEGIN_STMT
  _1 = reentry_guard_DIO_EXCLUSIVE_AREA_00[u32CoreId];
  _2 = _1 + 4294967295;
  reentry_guard_DIO_EXCLUSIVE_AREA_00[u32CoreId] = _2;
  # DEBUG BEGIN_STMT
  _3 = msr_DIO_EXCLUSIVE_AREA_00[u32CoreId];
  _4 = _3 & 1;
  if (_4 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 3> :
  _5 = reentry_guard_DIO_EXCLUSIVE_AREA_00[u32CoreId];
  if (_5 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" cpsie i");

  <bb 5> :
  return;

}


SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_00 ()
{
  uint32 u32CoreId;

  <bb 2> :
  # DEBUG BEGIN_STMT
  u32CoreId = 0;
  # DEBUG BEGIN_STMT
  _1 = reentry_guard_DIO_EXCLUSIVE_AREA_00[u32CoreId];
  if (_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = Dio_schm_read_msr ();
  msr_DIO_EXCLUSIVE_AREA_00[u32CoreId] = _2;
  # DEBUG BEGIN_STMT
  _3 = msr_DIO_EXCLUSIVE_AREA_00[u32CoreId];
  _4 = _3 & 1;
  if (_4 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" cpsid i");

  <bb 5> :
  # DEBUG BEGIN_STMT
  _5 = reentry_guard_DIO_EXCLUSIVE_AREA_00[u32CoreId];
  _6 = _5 + 1;
  reentry_guard_DIO_EXCLUSIVE_AREA_00[u32CoreId] = _6;
  return;

}


Dio_schm_read_msr ()
{
  register uint32 reg_tmp;
  uint32 D.5576;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" mrs %0, primask " : "=r" reg_tmp);
  # DEBUG BEGIN_STMT
  D.5576 = reg_tmp;
  return D.5576;

}


