
Marking local functions: EnableSOSC_TrustedCall DisableSOSC_TrustedCall SetSOSC_TrustedCall ResetSOSC_TrustedCall


Marking externally visible functions:


Marking externally visible variables: extOscCallbacks


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

ReportClockErrors/14 (ReportClockErrors) @06047540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: CompleteSOSC/7 
  Calls: 
ClockTimeoutExpired/13 (ClockTimeoutExpired) @06047460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: CompleteSOSC/7 
  Calls: 
ClockStartTimeout/12 (ClockStartTimeout) @06047380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: CompleteSOSC/7 
  Calls: 
EnableSOSC/11 (EnableSOSC) @06042ee0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: 
  Referring: extOscCallbacks/0 (addr)
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: EnableSOSC_TrustedCall/10 
EnableSOSC_TrustedCall/10 (EnableSOSC_TrustedCall) @06042c40
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: EnableSOSC/11 
  Calls: 
DisableSOSC/9 (DisableSOSC) @060429a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: 
  Referring: extOscCallbacks/0 (addr)
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: DisableSOSC_TrustedCall/8 
DisableSOSC_TrustedCall/8 (DisableSOSC_TrustedCall) @06042700
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: DisableSOSC/9 
  Calls: 
CompleteSOSC/7 (CompleteSOSC) @06042460
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: 
  Referring: extOscCallbacks/0 (addr)
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: ReportClockErrors/14 ClockTimeoutExpired/13 ClockStartTimeout/12 
SetSOSC/6 (SetSOSC) @060421c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: 
  Referring: extOscCallbacks/0 (addr)
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: SetSOSC_TrustedCall/5 
SetSOSC_TrustedCall/5 (SetSOSC_TrustedCall) @05f3f1c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: SetSOSC/6 
  Calls: 
ResetSOSC/4 (ResetSOSC) @05f3f380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: 
  Referring: extOscCallbacks/0 (addr)
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: ResetSOSC_TrustedCall/3 
ResetSOSC_TrustedCall/3 (ResetSOSC_TrustedCall) @05f3f0e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: ResetSOSC/4 
  Calls: 
DisableExternalOscillatorEmpty/2 (DisableExternalOscillatorEmpty) @05f39c40
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: 
  Referring: extOscCallbacks/0 (addr)
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
ExternalOscillatorEmpty/1 (ExternalOscillatorEmpty) @05f39e00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: 
  Referring: extOscCallbacks/0 (addr)extOscCallbacks/0 (addr)extOscCallbacks/0 (addr)extOscCallbacks/0 (addr)
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
extOscCallbacks/0 (extOscCallbacks) @05f3b678
  Type: variable definition analyzed
  Visibility: externally_visible public
  References: ExternalOscillatorEmpty/1 (addr)ExternalOscillatorEmpty/1 (addr)ExternalOscillatorEmpty/1 (addr)DisableExternalOscillatorEmpty/2 (addr)ExternalOscillatorEmpty/1 (addr)ResetSOSC/4 (addr)SetSOSC/6 (addr)CompleteSOSC/7 (addr)DisableSOSC/9 (addr)EnableSOSC/11 (addr)
  Referring: 
  Availability: available
  Varpool flags: initialized read-only const-value-known
EnableSOSC (const struct Clock_Ip_XoscConfigType * config)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  EnableSOSC_TrustedCall (config);
  return;

}


EnableSOSC_TrustedCall (const struct Clock_Ip_XoscConfigType * config)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = config->enable;
  if (_1 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = 1074151424B;
  _3 = _2->SOSCCSR;
  _4 = 1074151424B;
  _5 = _3 | 1;
  _4->SOSCCSR = _5;

  <bb 4> :
  return;

}


DisableSOSC (Clock_Ip_NameType xoscName)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  DisableSOSC_TrustedCall (xoscName);
  return;

}


DisableSOSC_TrustedCall (Clock_Ip_NameType xoscName)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = 1074151424B;
  _2 = _1->SOSCCSR;
  _3 = 1074151424B;
  _4 = _2 & 4294967294;
  _3->SOSCCSR = _4;
  return;

}


CompleteSOSC (const struct Clock_Ip_XoscConfigType * config)
{
  uint32 SoscStatus;
  uint32 TimeoutTicks;
  uint32 ElapsedTime;
  uint32 StartTime;
  boolean TimeoutOccurred;

  <bb 2> :
  # DEBUG BEGIN_STMT
  TimeoutOccurred = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = 1074151424B;
  _2 = _1->SOSCCSR;
  _3 = _2 & 1;
  if (_3 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);

  <bb 4> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 = 1074151424B;
  _5 = _4->SOSCCSR;
  _6 = _5 >> 24;
  SoscStatus = _6 & 1;
  # DEBUG BEGIN_STMT
  TimeoutTicks.0_7 = TimeoutTicks;
  TimeoutOccurred = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_7);
  # DEBUG BEGIN_STMT
  if (SoscStatus == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  _8 = ~TimeoutOccurred;
  if (_8 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  if (TimeoutOccurred != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _9 = config->name;
  ReportClockErrors (1, _9);

  <bb 8> :
  StartTime = {CLOBBER};
  ElapsedTime = {CLOBBER};
  TimeoutTicks = {CLOBBER};
  return;

}


SetSOSC (const struct Clock_Ip_XoscConfigType * config)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  SetSOSC_TrustedCall (config);
  return;

}


SetSOSC_TrustedCall (const struct Clock_Ip_XoscConfigType * config)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = config->enable;
  if (_1 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 17>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = config->gain;
  _3 = (int) _2;
  switch (_3) <default: <L17> [INV], case 0: <L1> [INV], case 1: <L2> [INV]>

  <bb 4> :
<L1>:
  # DEBUG BEGIN_STMT
  _4 = 1074151424B;
  _5 = _4->SOSCCFG;
  _6 = 1074151424B;
  _7 = _5 & 4294967287;
  _6->SOSCCFG = _7;
  # DEBUG BEGIN_STMT
  goto <bb 6>; [INV]

  <bb 5> :
<L2>:
  # DEBUG BEGIN_STMT
  _8 = 1074151424B;
  _9 = _8->SOSCCFG;
  _10 = 1074151424B;
  _11 = _9 | 8;
  _10->SOSCCFG = _11;
  # DEBUG BEGIN_STMT

  <bb 6> :
<L17>:
  # DEBUG BEGIN_STMT
  _12 = 1074151424B;
  _13 = _12->SOSCCFG;
  _14 = 1074151424B;
  _15 = _13 & 4294967247;
  _14->SOSCCFG = _15;
  # DEBUG BEGIN_STMT
  _16 = config->freq;
  _17 = _16 + 4290967296;
  if (_17 <= 3999999)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _18 = 1074151424B;
  _19 = _18->SOSCCFG;
  _20 = 1074151424B;
  _21 = _19 | 32;
  _20->SOSCCFG = _21;
  goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  _22 = 1074151424B;
  _23 = _22->SOSCCFG;
  _24 = 1074151424B;
  _25 = _23 | 48;
  _24->SOSCCFG = _25;

  <bb 9> :
  # DEBUG BEGIN_STMT
  _26 = config->bypassOption;
  if (_26 == 0)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  _27 = 1074151424B;
  _28 = _27->SOSCCFG;
  _29 = 1074151424B;
  _30 = _28 | 4;
  _29->SOSCCFG = _30;
  goto <bb 12>; [INV]

  <bb 11> :
  # DEBUG BEGIN_STMT
  _31 = 1074151424B;
  _32 = _31->SOSCCFG;
  _33 = 1074151424B;
  _34 = _32 & 4294967291;
  _33->SOSCCFG = _34;

  <bb 12> :
  # DEBUG BEGIN_STMT
  _35 = config->monitor;
  _36 = (int) _35;
  switch (_36) <default: <L14> [INV], case 0: <L11> [INV], case 1: <L12> [INV], case 2: <L13> [INV]>

  <bb 13> :
<L11>:
  # DEBUG BEGIN_STMT
  _37 = 1074151424B;
  _37->SOSCCSR = 1;
  # DEBUG BEGIN_STMT
  goto <bb 17>; [INV]

  <bb 14> :
<L12>:
  # DEBUG BEGIN_STMT
  _38 = 1074151424B;
  _38->SOSCCSR = 65537;
  # DEBUG BEGIN_STMT
  goto <bb 17>; [INV]

  <bb 15> :
<L13>:
  # DEBUG BEGIN_STMT
  _39 = 1074151424B;
  _39->SOSCCSR = 196609;
  # DEBUG BEGIN_STMT
  goto <bb 17>; [INV]

  <bb 16> :
<L14>:
  # DEBUG BEGIN_STMT
  _40 = 1074151424B;
  _41 = _40->SOSCCSR;
  _42 = 1074151424B;
  _43 = _41 | 1;
  _42->SOSCCSR = _43;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> :
  return;

}


ResetSOSC (const struct Clock_Ip_XoscConfigType * config)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  ResetSOSC_TrustedCall (config);
  return;

}


ResetSOSC_TrustedCall (const struct Clock_Ip_XoscConfigType * config)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = 1074151424B;
  _2 = _1->SOSCCSR;
  _3 = 1074151424B;
  _4 = _2 & 4286578687;
  _3->SOSCCSR = _4;
  # DEBUG BEGIN_STMT
  _5 = 1074151424B;
  _6 = _5->SOSCCSR;
  _7 = 1074151424B;
  _8 = _6 & 4294967294;
  _7->SOSCCSR = _8;
  return;

}


DisableExternalOscillatorEmpty (Clock_Ip_NameType xoscName)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  return;

}


ExternalOscillatorEmpty (const struct Clock_Ip_XoscConfigType * config)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  return;

}


