iLLD_TC23x  1.0
Trap Function Hooks
Collaboration diagram for Trap Function Hooks:

Data Structures

union  IfxCpu_Trap_Id
 Union to abstract Identification numbers under Traps. More...
 
struct  IfxCpu_Trap
 Structure to contain the trap information. More...
 

Typedefs

typedef sint32 IfxCpu_Trap_SystemCall_Id
 Type for Identification numbers under SystemCall Trap. More...
 
typedef sint32 IfxCpu_Trap_NonMaskableInterrupt_Id
 Type for Identification number for Non Maskable Interrupt Trap. More...
 

Enumerations

enum  IfxCpu_Trap_Class {
  IfxCpu_Trap_Class_memoryManagement = 0U,
  IfxCpu_Trap_Class_internalProtection = 1U,
  IfxCpu_Trap_Class_instructionErrors = 2U,
  IfxCpu_Trap_Class_contextManagement = 3U,
  IfxCpu_Trap_Class_bus = 4U,
  IfxCpu_Trap_Class_assertion = 5U,
  IfxCpu_Trap_Class_systemCall = 6U,
  IfxCpu_Trap_Class_nonMaskableInterrupt = 7U
}
 Enum for available Trap classes. More...
 
enum  IfxCpu_Trap_MemoryManagement_Id {
  IfxCpu_Trap_MemoryManagement_Id_virtualAddressFill = 0U,
  IfxCpu_Trap_MemoryManagement_Id_virtualAddressProtection = 1U
}
 Enum for available Identification numbers under Memory Management Trap. More...
 
enum  IfxCpu_Trap_InternalProtection_Id {
  IfxCpu_Trap_InternalProtection_Id_privilegeViolation = 1U,
  IfxCpu_Trap_InternalProtection_Id_memoryProtectionRead = 2U,
  IfxCpu_Trap_InternalProtection_Id_memoryProtectionWrite = 3U,
  IfxCpu_Trap_InternalProtection_Id_memoryProtectionExecute = 4U,
  IfxCpu_Trap_InternalProtection_Id_memoryProtectionPeripheralAccess = 5U,
  IfxCpu_Trap_InternalProtection_Id_memoryProtectionNullAddress = 6U,
  IfxCpu_Trap_InternalProtection_Id_globalRegisterWriteProtection = 7U
}
 Enum for available Identification numbers under Internal Protection Trap. More...
 
enum  IfxCpu_Trap_InstructionErrors_Id {
  IfxCpu_Trap_InstructionErrors_Id_illegalOpcode = 1U,
  IfxCpu_Trap_InstructionErrors_Id_unimplementedOpcode = 2U,
  IfxCpu_Trap_InstructionErrors_Id_invalidOperand = 3U,
  IfxCpu_Trap_InstructionErrors_Id_dataAddressAlignment = 4U,
  IfxCpu_Trap_InstructionErrors_Id_invalidMemoryAddress = 5U
}
 Enum for available Identification numbers under Instruction Errors Trap. More...
 
enum  IfxCpu_Trap_ContextManagement_Id {
  IfxCpu_Trap_ContextManagement_Id_freeContextListDepletion = 1U,
  IfxCpu_Trap_ContextManagement_Id_callDepthOverflow = 2U,
  IfxCpu_Trap_ContextManagement_Id_callDepthUnderflow = 3U,
  IfxCpu_Trap_ContextManagement_Id_freeContextListUnderflow = 4U,
  IfxCpu_Trap_ContextManagement_Id_callStackUnderflow = 5U,
  IfxCpu_Trap_ContextManagement_Id_contextType = 6U,
  IfxCpu_Trap_ContextManagement_Id_nestingError = 7U
}
 Enum for available Identification numbers under Context Management Trap. More...
 
enum  IfxCpu_Trap_Bus_Id {
  IfxCpu_Trap_Bus_Id_programFetchSynchronousError = 1U,
  IfxCpu_Trap_Bus_Id_dataAccessSynchronousError = 2U,
  IfxCpu_Trap_Bus_Id_dataAccessAsynchronousError = 3U,
  IfxCpu_Trap_Bus_Id_CoprocessorTrapAsynchronousError = 4U,
  IfxCpu_Trap_Bus_Id_programMemoryIntegrityError = 5U,
  IfxCpu_Trap_Bus_Id_dataMemoryIntegrityError = 6U,
  IfxCpu_Trap_Bus_Id_temporalAsynchronousError = 7U
}
 Enum for available Identification numbers under Bus Trap. More...
 
enum  IfxCpu_Trap_Assertion_Id {
  IfxCpu_Trap_Assertion_Id_arithmeticOverflow = 1U,
  IfxCpu_Trap_Assertion_Id_stickyArithmeticOverflow = 2U
}
 Enum for available Identification numbers under Assertion Trap. More...
 

Detailed Description


Data Structure Documentation

union IfxCpu_Trap_Id

Union to abstract Identification numbers under Traps.

Definition at line 151 of file IfxCpu_Trap.h.

Data Fields
IfxCpu_Trap_Assertion_Id assertion
IfxCpu_Trap_Bus_Id bus
IfxCpu_Trap_ContextManagement_Id contextManagement
IfxCpu_Trap_InstructionErrors_Id instructionErrors
IfxCpu_Trap_InternalProtection_Id internalProtection
IfxCpu_Trap_MemoryManagement_Id memoryManagement
IfxCpu_Trap_NonMaskableInterrupt_Id nonMaskableInterrupt
IfxCpu_Trap_SystemCall_Id systemCall
struct IfxCpu_Trap

Structure to contain the trap information.

Definition at line 166 of file IfxCpu_Trap.h.

Data Fields
unsigned int tAddr
unsigned int tClass: 8
unsigned int tCpu: 3
unsigned int tId: 8

Typedef Documentation

Type for Identification number for Non Maskable Interrupt Trap.

Definition at line 146 of file IfxCpu_Trap.h.

Type for Identification numbers under SystemCall Trap.

Definition at line 141 of file IfxCpu_Trap.h.

Enumeration Type Documentation

Enum for available Identification numbers under Assertion Trap.

Enumerator
IfxCpu_Trap_Assertion_Id_arithmeticOverflow 
IfxCpu_Trap_Assertion_Id_stickyArithmeticOverflow 

Definition at line 132 of file IfxCpu_Trap.h.

Enum for available Identification numbers under Bus Trap.

Enumerator
IfxCpu_Trap_Bus_Id_programFetchSynchronousError 
IfxCpu_Trap_Bus_Id_dataAccessSynchronousError 
IfxCpu_Trap_Bus_Id_dataAccessAsynchronousError 
IfxCpu_Trap_Bus_Id_CoprocessorTrapAsynchronousError 
IfxCpu_Trap_Bus_Id_programMemoryIntegrityError 
IfxCpu_Trap_Bus_Id_dataMemoryIntegrityError 
IfxCpu_Trap_Bus_Id_temporalAsynchronousError 

Definition at line 118 of file IfxCpu_Trap.h.

Enum for available Trap classes.

Enumerator
IfxCpu_Trap_Class_memoryManagement 
IfxCpu_Trap_Class_internalProtection 
IfxCpu_Trap_Class_instructionErrors 
IfxCpu_Trap_Class_contextManagement 
IfxCpu_Trap_Class_bus 
IfxCpu_Trap_Class_assertion 
IfxCpu_Trap_Class_systemCall 
IfxCpu_Trap_Class_nonMaskableInterrupt 

Definition at line 54 of file IfxCpu_Trap.h.

Enum for available Identification numbers under Context Management Trap.

Enumerator
IfxCpu_Trap_ContextManagement_Id_freeContextListDepletion 
IfxCpu_Trap_ContextManagement_Id_callDepthOverflow 
IfxCpu_Trap_ContextManagement_Id_callDepthUnderflow 
IfxCpu_Trap_ContextManagement_Id_freeContextListUnderflow 
IfxCpu_Trap_ContextManagement_Id_callStackUnderflow 
IfxCpu_Trap_ContextManagement_Id_contextType 
IfxCpu_Trap_ContextManagement_Id_nestingError 

Definition at line 104 of file IfxCpu_Trap.h.

Enum for available Identification numbers under Instruction Errors Trap.

Enumerator
IfxCpu_Trap_InstructionErrors_Id_illegalOpcode 
IfxCpu_Trap_InstructionErrors_Id_unimplementedOpcode 
IfxCpu_Trap_InstructionErrors_Id_invalidOperand 
IfxCpu_Trap_InstructionErrors_Id_dataAddressAlignment 
IfxCpu_Trap_InstructionErrors_Id_invalidMemoryAddress 

Definition at line 92 of file IfxCpu_Trap.h.

Enum for available Identification numbers under Internal Protection Trap.

Enumerator
IfxCpu_Trap_InternalProtection_Id_privilegeViolation 
IfxCpu_Trap_InternalProtection_Id_memoryProtectionRead 
IfxCpu_Trap_InternalProtection_Id_memoryProtectionWrite 
IfxCpu_Trap_InternalProtection_Id_memoryProtectionExecute 
IfxCpu_Trap_InternalProtection_Id_memoryProtectionPeripheralAccess 
IfxCpu_Trap_InternalProtection_Id_memoryProtectionNullAddress 
IfxCpu_Trap_InternalProtection_Id_globalRegisterWriteProtection 

Definition at line 78 of file IfxCpu_Trap.h.

Enum for available Identification numbers under Memory Management Trap.

Enumerator
IfxCpu_Trap_MemoryManagement_Id_virtualAddressFill 
IfxCpu_Trap_MemoryManagement_Id_virtualAddressProtection 

Definition at line 69 of file IfxCpu_Trap.h.