
Marking local functions: Gpt_ConvertChannelIndexToChannel Gpt_ValidateParamPtrInit Gpt_ValidateParamValue Gpt_ValidateChannelStatus Gpt_ValidateChannelNotification Gpt_ValidateGlobalCall Gpt_ValidateChannelCall


Marking externally visible functions: Gpt_ProcessCommonInterrupt Gpt_DisableNotification Gpt_EnableNotification Gpt_StopTimer Gpt_StartTimer Gpt_GetTimeRemaining Gpt_GetTimeElapsed Gpt_DeInit Gpt_Init Gpt_GetVersionInfo


Marking externally visible variables: Gpt_pConfig


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

Gpt_Ipw_DisableInterrupt/35 (Gpt_Ipw_DisableInterrupt) @070a6620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Gpt_DisableNotification/20 
  Calls: 
Gpt_Ipw_StopTimer/34 (Gpt_Ipw_StopTimer) @070a6c40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Gpt_StopTimer/18 
  Calls: 
returnHwChannelInfo.6381/33 (returnHwChannelInfo) @070abb40
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Gpt_StopTimer/18 (write)Gpt_StopTimer/18 (write)Gpt_StopTimer/18 (addr)Gpt_StopTimer/18 (read)
  Availability: available
  Varpool flags:
Gpt_Ipw_StartTimer/32 (Gpt_Ipw_StartTimer) @070a68c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Gpt_StartTimer/17 
  Calls: 
Gpt_Ipw_EnableInterrupt/31 (Gpt_Ipw_EnableInterrupt) @070a67e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Gpt_EnableNotification/19 Gpt_StartTimer/17 
  Calls: 
returnHwChannelInfo.6361/30 (returnHwChannelInfo) @070ab0d8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Gpt_GetTimeRemaining/16 (write)Gpt_GetTimeRemaining/16 (write)Gpt_GetTimeRemaining/16 (addr)Gpt_GetTimeRemaining/16 (read)Gpt_GetTimeRemaining/16 (read)Gpt_GetTimeRemaining/16 (read)
  Availability: available
  Varpool flags:
Gpt_Ipw_GetTimeElapsed/29 (Gpt_Ipw_GetTimeElapsed) @070a6380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Gpt_StopTimer/18 Gpt_GetTimeRemaining/16 Gpt_GetTimeElapsed/15 
  Calls: 
returnHwChannelInfo.6348/28 (returnHwChannelInfo) @070a5b88
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Gpt_GetTimeElapsed/15 (write)Gpt_GetTimeElapsed/15 (write)Gpt_GetTimeElapsed/15 (addr)Gpt_GetTimeElapsed/15 (read)Gpt_GetTimeElapsed/15 (read)Gpt_GetTimeElapsed/15 (read)
  Availability: available
  Varpool flags:
Det_ReportRuntimeError/27 (Det_ReportRuntimeError) @070a60e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Gpt_StartTimer/17 Gpt_ValidateChannelStatus/8 
  Calls: 
Gpt_Ipw_DeInit/26 (Gpt_Ipw_DeInit) @06d8bee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Gpt_DeInit/14 
  Calls: 
Gpt_Ipw_Init/25 (Gpt_Ipw_Init) @06d8ba80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Gpt_Init/13 
  Calls: 
Gpt_Ipw_InitInstances/24 (Gpt_Ipw_InitInstances) @06d8b8c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Gpt_Init/13 
  Calls: 
Gpt_Config/23 (Gpt_Config) @0707df30
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Gpt_Init/13 (addr)
  Availability: not_available
  Varpool flags: read-only
Det_ReportError/22 (Det_ReportError) @06d8b700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Gpt_ValidateChannelNotification/7 Gpt_ValidateParamValue/9 Gpt_ValidateChannelCall/5 Gpt_ValidateChannelCall/5 Gpt_ValidateChannelCall/5 Gpt_ValidateParamPtrInit/10 Gpt_ValidateGlobalCall/6 Gpt_ValidateGlobalCall/6 Gpt_GetVersionInfo/12 
  Calls: 
Gpt_ProcessCommonInterrupt/21 (Gpt_ProcessCommonInterrupt) @06d8b2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)Gpt_aChannelInfo/3 (write)Gpt_eMode/1 (read)Gpt_aChannelInfo/3 (read)Gpt_pConfig/2 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
   Indirect call
Gpt_DisableNotification/20 (Gpt_DisableNotification) @06d8b000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Gpt_pConfig/2 (read)Gpt_aChannelInfo/3 (write)Gpt_eMode/1 (read)Gpt_pConfig/2 (read)Gpt_aChannelInfo/3 (read)Gpt_pConfig/2 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Gpt_Ipw_DisableInterrupt/35 Gpt_ValidateChannelNotification/7 Gpt_ValidateChannelCall/5 
Gpt_EnableNotification/19 (Gpt_EnableNotification) @07081b60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Gpt_pConfig/2 (read)Gpt_aChannelInfo/3 (write)Gpt_eMode/1 (read)Gpt_pConfig/2 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Gpt_Ipw_EnableInterrupt/31 Gpt_ValidateChannelNotification/7 Gpt_ValidateChannelCall/5 
Gpt_StopTimer/18 (Gpt_StopTimer) @07081620
  Type: function definition analyzed
  Visibility: externally_visible public
  References: returnHwChannelInfo.6381/33 (write)returnHwChannelInfo.6381/33 (write)Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)returnHwChannelInfo.6381/33 (addr)Gpt_aChannelInfo/3 (read)Gpt_pConfig/2 (read)returnHwChannelInfo.6381/33 (read)Gpt_pConfig/2 (read)Gpt_aChannelInfo/3 (write)Gpt_aStopTime/4 (write)Gpt_aChannelInfo/3 (write)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Gpt_Ipw_StopTimer/34 Gpt_Ipw_GetTimeElapsed/29 Gpt_ValidateChannelCall/5 
Gpt_StartTimer/17 (Gpt_StartTimer) @070810e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)Gpt_aChannelInfo/3 (write)Gpt_pConfig/2 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Det_ReportRuntimeError/27 Gpt_Ipw_StartTimer/32 Gpt_Ipw_EnableInterrupt/31 Gpt_ValidateParamValue/9 Gpt_ValidateChannelStatus/8 
Gpt_GetTimeRemaining/16 (Gpt_GetTimeRemaining) @07081d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: returnHwChannelInfo.6361/30 (write)returnHwChannelInfo.6361/30 (write)Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)returnHwChannelInfo.6361/30 (addr)Gpt_aChannelInfo/3 (read)returnHwChannelInfo.6361/30 (read)Gpt_pConfig/2 (read)returnHwChannelInfo.6361/30 (read)returnHwChannelInfo.6361/30 (read)Gpt_aStopTime/4 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Gpt_Ipw_GetTimeElapsed/29 Gpt_ValidateChannelCall/5 
Gpt_GetTimeElapsed/15 (Gpt_GetTimeElapsed) @07081a80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: returnHwChannelInfo.6348/28 (write)returnHwChannelInfo.6348/28 (write)Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)returnHwChannelInfo.6348/28 (addr)Gpt_aChannelInfo/3 (read)returnHwChannelInfo.6348/28 (read)Gpt_pConfig/2 (read)returnHwChannelInfo.6348/28 (read)Gpt_aStopTime/4 (read)returnHwChannelInfo.6348/28 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Gpt_Ipw_GetTimeElapsed/29 Gpt_ValidateChannelCall/5 
Gpt_DeInit/14 (Gpt_DeInit) @070817e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Gpt_pConfig/2 (read)Gpt_aChannelInfo/3 (write)Gpt_aChannelInfo/3 (write)Gpt_aStopTime/4 (write)Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)Gpt_pConfig/2 (write)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Gpt_Ipw_DeInit/26 Gpt_ConvertChannelIndexToChannel/11 Gpt_ValidateChannelStatus/8 Gpt_ConvertChannelIndexToChannel/11 Gpt_ValidateGlobalCall/6 
Gpt_Init/13 (Gpt_Init) @07081540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Gpt_pConfig/2 (write)Gpt_Config/23 (addr)Gpt_pConfig/2 (read)Gpt_aChannelInfo/3 (write)Gpt_aChannelInfo/3 (write)Gpt_aStopTime/4 (write)Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)Gpt_eMode/1 (write)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Gpt_Ipw_Init/25 Gpt_ConvertChannelIndexToChannel/11 Gpt_Ipw_InitInstances/24 Gpt_ValidateParamPtrInit/10 Gpt_ValidateGlobalCall/6 
Gpt_GetVersionInfo/12 (Gpt_GetVersionInfo) @070812a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Det_ReportError/22 
Gpt_ConvertChannelIndexToChannel/11 (Gpt_ConvertChannelIndexToChannel) @07081000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Gpt_pConfig/2 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Gpt_DeInit/14 Gpt_DeInit/14 Gpt_Init/13 
  Calls: 
Gpt_ValidateParamPtrInit/10 (Gpt_ValidateParamPtrInit) @07078c40
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Gpt_Init/13 
  Calls: Det_ReportError/22 
Gpt_ValidateParamValue/9 (Gpt_ValidateParamValue) @07078700
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Gpt_StartTimer/17 
  Calls: Det_ReportError/22 
Gpt_ValidateChannelStatus/8 (Gpt_ValidateChannelStatus) @07078e00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Gpt_aChannelInfo/3 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Gpt_StartTimer/17 Gpt_DeInit/14 
  Calls: Det_ReportRuntimeError/27 Gpt_ValidateChannelCall/5 
Gpt_ValidateChannelNotification/7 (Gpt_ValidateChannelNotification) @07078b60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Gpt_DisableNotification/20 Gpt_EnableNotification/19 
  Calls: Det_ReportError/22 
Gpt_ValidateGlobalCall/6 (Gpt_ValidateGlobalCall) @070788c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Gpt_pConfig/2 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Gpt_DeInit/14 Gpt_Init/13 
  Calls: Det_ReportError/22 Det_ReportError/22 
Gpt_ValidateChannelCall/5 (Gpt_ValidateChannelCall) @07078620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Gpt_pConfig/2 (read)Gpt_pConfig/2 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Gpt_DisableNotification/20 Gpt_EnableNotification/19 Gpt_StopTimer/18 Gpt_GetTimeRemaining/16 Gpt_GetTimeElapsed/15 Gpt_ValidateChannelStatus/8 
  Calls: Det_ReportError/22 Det_ReportError/22 Det_ReportError/22 
Gpt_aStopTime/4 (Gpt_aStopTime) @06e2c948
  Type: variable definition analyzed
  Visibility: force_output prevailing_def_ironly
  References: 
  Referring: Gpt_Init/13 (write)Gpt_DeInit/14 (write)Gpt_GetTimeElapsed/15 (read)Gpt_GetTimeRemaining/16 (read)Gpt_StopTimer/18 (write)
  Availability: available
  Varpool flags:
Gpt_aChannelInfo/3 (Gpt_aChannelInfo) @06e2c8b8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Gpt_Init/13 (write)Gpt_Init/13 (write)Gpt_DeInit/14 (write)Gpt_DeInit/14 (write)Gpt_ValidateChannelStatus/8 (read)Gpt_GetTimeElapsed/15 (read)Gpt_GetTimeRemaining/16 (read)Gpt_StartTimer/17 (write)Gpt_StopTimer/18 (read)Gpt_StopTimer/18 (write)Gpt_StopTimer/18 (write)Gpt_EnableNotification/19 (write)Gpt_DisableNotification/20 (write)Gpt_DisableNotification/20 (read)Gpt_ProcessCommonInterrupt/21 (write)Gpt_ProcessCommonInterrupt/21 (read)
  Availability: available
  Varpool flags:
Gpt_pConfig/2 (Gpt_pConfig) @06e2c828
  Type: variable definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: Gpt_Init/13 (write)Gpt_Init/13 (read)Gpt_Init/13 (read)Gpt_Init/13 (read)Gpt_ValidateGlobalCall/6 (read)Gpt_ConvertChannelIndexToChannel/11 (read)Gpt_DeInit/14 (read)Gpt_DeInit/14 (read)Gpt_DeInit/14 (read)Gpt_DeInit/14 (write)Gpt_ValidateChannelCall/5 (read)Gpt_ValidateChannelCall/5 (read)Gpt_GetTimeElapsed/15 (read)Gpt_GetTimeElapsed/15 (read)Gpt_GetTimeElapsed/15 (read)Gpt_GetTimeRemaining/16 (read)Gpt_GetTimeRemaining/16 (read)Gpt_GetTimeRemaining/16 (read)Gpt_StartTimer/17 (read)Gpt_StartTimer/17 (read)Gpt_StartTimer/17 (read)Gpt_StartTimer/17 (read)Gpt_ValidateParamValue/9 (read)Gpt_ValidateParamValue/9 (read)Gpt_StopTimer/18 (read)Gpt_StopTimer/18 (read)Gpt_StopTimer/18 (read)Gpt_StopTimer/18 (read)Gpt_EnableNotification/19 (read)Gpt_EnableNotification/19 (read)Gpt_ValidateChannelNotification/7 (read)Gpt_ValidateChannelNotification/7 (read)Gpt_DisableNotification/20 (read)Gpt_DisableNotification/20 (read)Gpt_DisableNotification/20 (read)Gpt_ProcessCommonInterrupt/21 (read)Gpt_ProcessCommonInterrupt/21 (read)Gpt_ProcessCommonInterrupt/21 (read)Gpt_ProcessCommonInterrupt/21 (read)
  Availability: available
  Varpool flags:
Gpt_eMode/1 (Gpt_eMode) @06e2c798
  Type: variable definition analyzed
  Visibility: force_output prevailing_def_ironly
  References: 
  Referring: Gpt_Init/13 (write)Gpt_EnableNotification/19 (read)Gpt_DisableNotification/20 (read)Gpt_ProcessCommonInterrupt/21 (read)
  Availability: available
  Varpool flags: initialized
Gpt_ProcessCommonInterrupt (uint8 channel)
{
  uint32 coreID;
  uint8 ChannelIndex;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  coreID = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_pConfig[coreID];
  if (_1 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = Gpt_pConfig[coreID];
  _3 = _2->u8GptChannelIdToIndexMap;
  _4 = (int) channel;
  ChannelIndex = *_3[_4];
  # DEBUG BEGIN_STMT
  _5 = Gpt_pConfig[coreID];
  _6 = _5->Gpt_pChannelConfig;
  _7 = (int) ChannelIndex;
  _8 = *_6[_7].Gpt_eChannelMode;
  if (_8 == 1)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _9 = (int) channel;
  Gpt_aChannelInfo[_9].eChannelStatus = 3;

  <bb 5> :
  # DEBUG BEGIN_STMT
  Gpt_eMode.6_10 = Gpt_eMode;
  if (Gpt_eMode.6_10 == 0)
    goto <bb 6>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 6> :
  _11 = (int) channel;
  _12 = Gpt_aChannelInfo[_11].bNotificationEnabled;
  if (_12 == 1)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _13 = Gpt_pConfig[coreID];
  _14 = _13->Gpt_pChannelConfig;
  _15 = (int) ChannelIndex;
  _16 = *_14[_15].Gpt_pfNotification;
  _16 ();

  <bb 8> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_DisableNotification (Gpt_ChannelType channel)
{
  uint32 coreID;
  uint8 ChannelIndex;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  coreID = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelCall (8, channel, coreID);
  if (_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = Gpt_ValidateChannelNotification (8, channel, coreID);
  if (_2 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _3 = Gpt_pConfig[coreID];
  _4 = _3->u8GptChannelIdToIndexMap;
  _5 = (int) channel;
  ChannelIndex = *_4[_5];
  # DEBUG BEGIN_STMT
  _6 = (int) channel;
  Gpt_aChannelInfo[_6].bNotificationEnabled = 0;
  # DEBUG BEGIN_STMT
  Gpt_eMode.5_7 = Gpt_eMode;
  if (Gpt_eMode.5_7 == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 5> :
  _8 = Gpt_pConfig[coreID];
  _9 = _8->Gpt_pChannelConfig;
  _10 = (int) ChannelIndex;
  _11 = *_9[_10].Gpt_eChannelMode;
  if (_11 == 0)
    goto <bb 7>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 6> :
  _12 = (int) channel;
  _13 = Gpt_aChannelInfo[_12].eChannelStatus;
  if (_13 != 4)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _14 = Gpt_pConfig[coreID];
  _15 = _14->Gpt_pChannelConfig;
  _16 = (int) ChannelIndex;
  _17 = *_15[_16].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_DisableInterrupt (_17);

  <bb 8> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_EnableNotification (Gpt_ChannelType channel)
{
  uint32 coreID;
  uint8 ChannelIndex;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  coreID = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelCall (7, channel, coreID);
  if (_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = Gpt_ValidateChannelNotification (7, channel, coreID);
  if (_2 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _3 = Gpt_pConfig[coreID];
  _4 = _3->u8GptChannelIdToIndexMap;
  _5 = (int) channel;
  ChannelIndex = *_4[_5];
  # DEBUG BEGIN_STMT
  _6 = (int) channel;
  Gpt_aChannelInfo[_6].bNotificationEnabled = 1;
  # DEBUG BEGIN_STMT
  Gpt_eMode.4_7 = Gpt_eMode;
  if (Gpt_eMode.4_7 == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  _8 = Gpt_pConfig[coreID];
  _9 = _8->Gpt_pChannelConfig;
  _10 = (int) ChannelIndex;
  _11 = *_9[_10].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_EnableInterrupt (_11);

  <bb 6> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_StopTimer (Gpt_ChannelType channel)
{
  uint32 coreID;
  Gpt_ValueType uElapsedTime;
  static struct Gpt_HwChannelInfoType returnHwChannelInfo;
  uint8 ChannelIndex;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  coreID = 0;
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.bChannelRollover = 0;
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.uTargetTime = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelCall (6, channel, coreID);
  if (_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = Gpt_pConfig[coreID];
  _3 = _2->u8GptChannelIdToIndexMap;
  _4 = (int) channel;
  ChannelIndex = *_3[_4];
  # DEBUG BEGIN_STMT
  _5 = Gpt_pConfig[coreID];
  _6 = _5->Gpt_pChannelConfig;
  _7 = (int) ChannelIndex;
  _8 = *_6[_7].Gpt_Ipw_HwChannelConfig;
  uElapsedTime = Gpt_Ipw_GetTimeElapsed (_8, &returnHwChannelInfo);
  # DEBUG BEGIN_STMT
  _9 = (int) channel;
  _10 = Gpt_aChannelInfo[_9].eChannelStatus;
  if (_10 == 4)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _11 = Gpt_pConfig[coreID];
  _12 = _11->Gpt_pChannelConfig;
  _13 = (int) ChannelIndex;
  _14 = *_12[_13].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_StopTimer (_14);
  # DEBUG BEGIN_STMT
  _15 = returnHwChannelInfo.bChannelRollover;
  if (_15 == 1)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 5> :
  _16 = Gpt_pConfig[coreID];
  _17 = _16->Gpt_pChannelConfig;
  _18 = (int) ChannelIndex;
  _19 = *_17[_18].Gpt_eChannelMode;
  if (_19 == 1)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _20 = (int) channel;
  Gpt_aChannelInfo[_20].eChannelStatus = 3;
  goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _21 = (int) channel;
  Gpt_aStopTime[_21] = uElapsedTime;
  # DEBUG BEGIN_STMT
  _22 = (int) channel;
  Gpt_aChannelInfo[_22].eChannelStatus = 2;

  <bb 8> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_StartTimer (Gpt_ChannelType channel, Gpt_ValueType value)
{
  uint32 coreID;
  Std_ReturnType returnValue;
  uint8 ChannelIndex;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  coreID = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelStatus (5, channel, coreID);
  if (_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = Gpt_ValidateParamValue (5, channel, value, coreID);
  if (_2 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _3 = Gpt_pConfig[coreID];
  _4 = _3->u8GptChannelIdToIndexMap;
  _5 = (int) channel;
  ChannelIndex = *_4[_5];
  # DEBUG BEGIN_STMT
  _6 = Gpt_pConfig[coreID];
  _7 = _6->Gpt_pChannelConfig;
  _8 = (int) ChannelIndex;
  _9 = *_7[_8].Gpt_eChannelMode;
  if (_9 == 1)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  _10 = Gpt_pConfig[coreID];
  _11 = _10->Gpt_pChannelConfig;
  _12 = (int) ChannelIndex;
  _13 = *_11[_12].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_EnableInterrupt (_13);

  <bb 6> :
  # DEBUG BEGIN_STMT
  _14 = (int) channel;
  Gpt_aChannelInfo[_14].eChannelStatus = 4;
  # DEBUG BEGIN_STMT
  _15 = Gpt_pConfig[coreID];
  _16 = _15->Gpt_pChannelConfig;
  _17 = (int) ChannelIndex;
  _18 = *_16[_17].Gpt_Ipw_HwChannelConfig;
  returnValue = Gpt_Ipw_StartTimer (_18, value);
  # DEBUG BEGIN_STMT
  if (returnValue != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  Det_ReportRuntimeError (100, 0, 5, 43);

  <bb 8> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_GetTimeRemaining (Gpt_ChannelType channel)
{
  uint32 coreID;
  Gpt_ValueType returnValue;
  static struct Gpt_HwChannelInfoType returnHwChannelInfo;
  uint8 ChannelIndex;
  Gpt_ValueType D.6476;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  returnValue = 0;
  # DEBUG BEGIN_STMT
  coreID = 0;
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.bChannelRollover = 0;
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.uTargetTime = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelCall (4, channel, coreID);
  if (_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = Gpt_pConfig[coreID];
  _3 = _2->u8GptChannelIdToIndexMap;
  _4 = (int) channel;
  ChannelIndex = *_3[_4];
  # DEBUG BEGIN_STMT
  _5 = Gpt_pConfig[coreID];
  _6 = _5->Gpt_pChannelConfig;
  _7 = (int) ChannelIndex;
  _8 = *_6[_7].Gpt_Ipw_HwChannelConfig;
  returnValue = Gpt_Ipw_GetTimeElapsed (_8, &returnHwChannelInfo);
  # DEBUG BEGIN_STMT
  _9 = (int) channel;
  _10 = Gpt_aChannelInfo[_9].eChannelStatus;
  _11 = (int) _10;
  switch (_11) <default: <L13> [INV], case 1: <L6> [INV], case 2: <L7> [INV], case 3: <L8> [INV], case 4: <L1> [INV]>

  <bb 4> :
<L1>:
  # DEBUG BEGIN_STMT
  _12 = returnHwChannelInfo.bChannelRollover;
  if (_12 == 1)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 5> :
  _13 = Gpt_pConfig[coreID];
  _14 = _13->Gpt_pChannelConfig;
  _15 = (int) ChannelIndex;
  _16 = *_14[_15].Gpt_eChannelMode;
  if (_16 == 1)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  returnValue = 0;
  goto <bb 11>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _17 = returnHwChannelInfo.uTargetTime;
  returnValue = _17 - returnValue;
  goto <bb 11>; [INV]

  <bb 8> :
<L6>:
  # DEBUG BEGIN_STMT
  returnValue = 0;
  # DEBUG BEGIN_STMT
  goto <bb 11>; [INV]

  <bb 9> :
<L7>:
  # DEBUG BEGIN_STMT
  _18 = returnHwChannelInfo.uTargetTime;
  _19 = (int) channel;
  _20 = Gpt_aStopTime[_19];
  returnValue = _18 - _20;
  # DEBUG BEGIN_STMT
  goto <bb 11>; [INV]

  <bb 10> :
<L8>:
  # DEBUG BEGIN_STMT
  returnValue = 0;
  # DEBUG BEGIN_STMT

  <bb 11> :
<L13>:
  # DEBUG BEGIN_STMT
  D.6476 = returnValue;
  return D.6476;

}


Gpt_GetTimeElapsed (Gpt_ChannelType channel)
{
  uint32 coreID;
  Gpt_ValueType returnValue;
  static struct Gpt_HwChannelInfoType returnHwChannelInfo;
  uint8 ChannelIndex;
  Gpt_ValueType D.6467;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  returnValue = 0;
  # DEBUG BEGIN_STMT
  coreID = 0;
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.bChannelRollover = 0;
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.uTargetTime = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelCall (3, channel, coreID);
  if (_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = Gpt_pConfig[coreID];
  _3 = _2->u8GptChannelIdToIndexMap;
  _4 = (int) channel;
  ChannelIndex = *_3[_4];
  # DEBUG BEGIN_STMT
  _5 = Gpt_pConfig[coreID];
  _6 = _5->Gpt_pChannelConfig;
  _7 = (int) ChannelIndex;
  _8 = *_6[_7].Gpt_Ipw_HwChannelConfig;
  returnValue = Gpt_Ipw_GetTimeElapsed (_8, &returnHwChannelInfo);
  # DEBUG BEGIN_STMT
  _9 = (int) channel;
  _10 = Gpt_aChannelInfo[_9].eChannelStatus;
  _11 = (int) _10;
  switch (_11) <default: <L13> [INV], case 1: <L6> [INV], case 2: <L7> [INV], case 3: <L8> [INV], case 4: <L1> [INV]>

  <bb 4> :
<L1>:
  # DEBUG BEGIN_STMT
  _12 = returnHwChannelInfo.bChannelRollover;
  if (_12 == 1)
    goto <bb 5>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 5> :
  _13 = Gpt_pConfig[coreID];
  _14 = _13->Gpt_pChannelConfig;
  _15 = (int) ChannelIndex;
  _16 = *_14[_15].Gpt_eChannelMode;
  if (_16 == 1)
    goto <bb 6>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  returnValue = returnHwChannelInfo.uTargetTime;
  goto <bb 10>; [INV]

  <bb 7> :
<L6>:
  # DEBUG BEGIN_STMT
  returnValue = 0;
  # DEBUG BEGIN_STMT
  goto <bb 10>; [INV]

  <bb 8> :
<L7>:
  # DEBUG BEGIN_STMT
  _17 = (int) channel;
  returnValue = Gpt_aStopTime[_17];
  # DEBUG BEGIN_STMT
  goto <bb 10>; [INV]

  <bb 9> :
<L8>:
  # DEBUG BEGIN_STMT
  returnValue = returnHwChannelInfo.uTargetTime;
  # DEBUG BEGIN_STMT

  <bb 10> :
<L13>:
  # DEBUG BEGIN_STMT
  D.6467 = returnValue;
  return D.6467;

}


Gpt_DeInit ()
{
  uint32 coreID;
  Std_ReturnType allChannelStatus;
  Gpt_ChannelType ChannelIndex;
  Gpt_ChannelType channel;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  allChannelStatus = 0;
  # DEBUG BEGIN_STMT
  coreID = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateGlobalCall (2, coreID);
  if (_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  ChannelIndex = 0;
  goto <bb 7>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  channel = Gpt_ConvertChannelIndexToChannel (ChannelIndex, coreID);
  # DEBUG BEGIN_STMT
  _2 = Gpt_ValidateChannelStatus (2, channel, coreID);
  if (_2 == 1)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  allChannelStatus = 1;
  # DEBUG BEGIN_STMT
  goto <bb 8>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  ChannelIndex.2_3 = ChannelIndex;
  ChannelIndex = ChannelIndex.2_3 + 1;

  <bb 7> :
  # DEBUG BEGIN_STMT
  _4 = Gpt_pConfig[coreID];
  _5 = _4->channelCount;
  if (ChannelIndex < _5)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  if (allChannelStatus == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  ChannelIndex = 0;
  goto <bb 13>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  channel = Gpt_ConvertChannelIndexToChannel (ChannelIndex, coreID);
  # DEBUG BEGIN_STMT
  if (channel <= 1)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  # DEBUG BEGIN_STMT
  _6 = (int) channel;
  Gpt_aChannelInfo[_6].bNotificationEnabled = 0;
  # DEBUG BEGIN_STMT
  _7 = (int) channel;
  Gpt_aChannelInfo[_7].eChannelStatus = 0;
  # DEBUG BEGIN_STMT
  _8 = (int) channel;
  Gpt_aStopTime[_8] = 0;
  # DEBUG BEGIN_STMT
  _9 = Gpt_pConfig[coreID];
  _10 = _9->Gpt_pChannelConfig;
  _11 = (int) ChannelIndex;
  _12 = *_10[_11].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_DeInit (_12);

  <bb 12> :
  # DEBUG BEGIN_STMT
  ChannelIndex.3_13 = ChannelIndex;
  ChannelIndex = ChannelIndex.3_13 + 1;

  <bb 13> :
  # DEBUG BEGIN_STMT
  _14 = Gpt_pConfig[coreID];
  _15 = _14->channelCount;
  if (ChannelIndex < _15)
    goto <bb 10>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  Gpt_pConfig[coreID] = 0B;

  <bb 15> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_Init (const struct Gpt_ConfigType * configPtr)
{
  uint32 coreID;
  Gpt_ChannelType channel;
  Gpt_ChannelType ChannelIndex;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  coreID = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateGlobalCall (1, coreID);
  if (_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = Gpt_ValidateParamPtrInit (configPtr);
  if (_2 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  Gpt_pConfig[coreID] = &Gpt_Config;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = Gpt_pConfig[coreID];
  Gpt_Ipw_InitInstances (_3);
  # DEBUG BEGIN_STMT
  ChannelIndex = 0;
  goto <bb 8>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  channel = Gpt_ConvertChannelIndexToChannel (ChannelIndex, coreID);
  # DEBUG BEGIN_STMT
  if (channel <= 1)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _4 = (int) channel;
  Gpt_aChannelInfo[_4].bNotificationEnabled = 0;
  # DEBUG BEGIN_STMT
  _5 = (int) channel;
  Gpt_aChannelInfo[_5].eChannelStatus = 1;
  # DEBUG BEGIN_STMT
  _6 = (int) channel;
  Gpt_aStopTime[_6] = 0;

  <bb 7> :
  # DEBUG BEGIN_STMT
  _7 = Gpt_pConfig[coreID];
  _8 = _7->Gpt_pChannelConfig;
  _9 = (int) ChannelIndex;
  _10 = *_8[_9].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_Init (_10);
  # DEBUG BEGIN_STMT
  ChannelIndex.0_11 = ChannelIndex;
  ChannelIndex = ChannelIndex.0_11 + 1;

  <bb 8> :
  # DEBUG BEGIN_STMT
  _12 = Gpt_pConfig[coreID];
  _13 = _12->channelCount;
  if (ChannelIndex < _13)
    goto <bb 5>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  Gpt_eMode = 0;

  <bb 10> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_GetVersionInfo (struct Std_VersionInfoType * VersionInfoPtr)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  if (VersionInfoPtr == 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, 0, 22);
  goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  VersionInfoPtr->vendorID = 43;
  # DEBUG BEGIN_STMT
  VersionInfoPtr->moduleID = 100;
  # DEBUG BEGIN_STMT
  VersionInfoPtr->sw_major_version = 4;
  # DEBUG BEGIN_STMT
  VersionInfoPtr->sw_minor_version = 0;
  # DEBUG BEGIN_STMT
  VersionInfoPtr->sw_patch_version = 0;

  <bb 5> :
  return;

}


Gpt_ConvertChannelIndexToChannel (Gpt_ChannelType ChannelIndex, uint32 coreID)
{
  Gpt_ChannelType Channel;
  Gpt_ChannelType D.6430;

  <bb 2> :
  # DEBUG BEGIN_STMT
  Channel = 2;
  # DEBUG BEGIN_STMT
  Channel = 0;
  goto <bb 5>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = Gpt_pConfig[coreID];
  _2 = _1->u8GptChannelIdToIndexMap;
  _3 = (int) Channel;
  _4 = *_2[_3];
  if (ChannelIndex == _4)
    goto <bb 6>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  Channel.1_5 = Channel;
  Channel = Channel.1_5 + 1;

  <bb 5> :
  # DEBUG BEGIN_STMT
  if (Channel <= 1)
    goto <bb 3>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  D.6430 = Channel;
  return D.6430;

}


Gpt_ValidateParamPtrInit (const struct Gpt_ConfigType * configPtr)
{
  Std_ReturnType returnValue;
  Std_ReturnType D.6427;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnValue = 1;
  # DEBUG BEGIN_STMT
  if (configPtr != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, 1, 14);
  goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  returnValue = 0;

  <bb 5> :
  # DEBUG BEGIN_STMT
  D.6427 = returnValue;
  return D.6427;

}


Gpt_ValidateParamValue (uint8 u8ServiceId, Gpt_ChannelType channel, Gpt_ValueType value, uint32 coreID)
{
  uint8 ChannelIndex;
  Std_ReturnType returnValue;
  Std_ReturnType D.6492;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnValue = 1;
  # DEBUG BEGIN_STMT
  _1 = Gpt_pConfig[coreID];
  _2 = _1->u8GptChannelIdToIndexMap;
  _3 = (int) channel;
  ChannelIndex = *_2[_3];
  # DEBUG BEGIN_STMT
  _4 = Gpt_pConfig[coreID];
  _5 = _4->Gpt_pChannelConfig;
  _6 = (int) ChannelIndex;
  _7 = *_5[_6].Gpt_uChannelTickValueMax;
  if (value > _7)
    goto <bb 4>; [INV]
  else
    goto <bb 3>; [INV]

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

  <bb 4> :
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, u8ServiceId, 21);
  goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  returnValue = 0;

  <bb 6> :
  # DEBUG BEGIN_STMT
  D.6492 = returnValue;
  return D.6492;

}


Gpt_ValidateChannelStatus (uint8 u8ServiceId, Gpt_ChannelType channel, uint32 coreID)
{
  Std_ReturnType returnValue;
  Std_ReturnType D.6448;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnValue = 1;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelCall (u8ServiceId, channel, coreID);
  if (_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  if (channel <= 1)
    goto <bb 4>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _2 = (int) channel;
  _3 = Gpt_aChannelInfo[_2].eChannelStatus;
  if (_3 == 4)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  Det_ReportRuntimeError (100, 0, u8ServiceId, 11);
  goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  returnValue = 0;

  <bb 7> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  D.6448 = returnValue;
  return D.6448;

}


Gpt_ValidateChannelNotification (uint8 u8ServiceId, Gpt_ChannelType channel, uint32 coreID)
{
  uint8 ChannelIndex;
  Std_ReturnType returnValue;
  Std_ReturnType D.6513;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnValue = 1;
  # DEBUG BEGIN_STMT
  _1 = Gpt_pConfig[coreID];
  _2 = _1->u8GptChannelIdToIndexMap;
  _3 = (int) channel;
  ChannelIndex = *_2[_3];
  # DEBUG BEGIN_STMT
  _4 = Gpt_pConfig[coreID];
  _5 = _4->Gpt_pChannelConfig;
  _6 = (int) ChannelIndex;
  _7 = *_5[_6].Gpt_pfNotification;
  if (_7 == 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, u8ServiceId, 20);
  goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  returnValue = 0;

  <bb 5> :
  # DEBUG BEGIN_STMT
  D.6513 = returnValue;
  return D.6513;

}


Gpt_ValidateGlobalCall (uint8 u8ServiceId, uint32 coreID)
{
  Std_ReturnType returnValue;
  Std_ReturnType D.6422;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnValue = 1;
  # DEBUG BEGIN_STMT
  _1 = Gpt_pConfig[coreID];
  if (_1 == 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  if (u8ServiceId == 1)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  returnValue = 0;
  goto <bb 9>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, u8ServiceId, 10);
  goto <bb 9>; [INV]

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

  <bb 7> :
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, u8ServiceId, 13);
  goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  returnValue = 0;

  <bb 9> :
  # DEBUG BEGIN_STMT
  D.6422 = returnValue;
  return D.6422;

}


Gpt_ValidateChannelCall (uint8 u8ServiceId, Gpt_ChannelType channel, uint32 coreID)
{
  Std_ReturnType returnValue;
  Std_ReturnType D.6459;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnValue = 1;
  # DEBUG BEGIN_STMT
  _1 = Gpt_pConfig[coreID];
  if (_1 == 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, u8ServiceId, 10);
  goto <bb 9>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  if (channel > 1)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, u8ServiceId, 20);
  goto <bb 9>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _2 = Gpt_pConfig[coreID];
  _3 = _2->u8GptChannelIdToIndexMap;
  _4 = (int) channel;
  _5 = *_3[_4];
  if (_5 != 255)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  returnValue = 0;
  goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, u8ServiceId, 24);

  <bb 9> :
  # DEBUG BEGIN_STMT
  D.6459 = returnValue;
  return D.6459;

}


