42 static const TInt KSCMDataTypesMinorVersion = 0; |
42 static const TInt KSCMDataTypesMinorVersion = 0; |
43 |
43 |
44 /** SCM Data Types Build Number */ |
44 /** SCM Data Types Build Number */ |
45 static const TInt KSCMDataTypesBuildNumber = 0; |
45 static const TInt KSCMDataTypesBuildNumber = 0; |
46 |
46 |
|
47 /** |
|
48 Specifies the type of a code segment. |
|
49 @see TCodeSegListEntry |
|
50 */ |
|
51 enum TCodeSegType |
|
52 { |
|
53 EUnknownCodeSegType = 0, /**< Signifies an unknown code segment type. */ |
|
54 EExeCodeSegType = 1, /**< Signifies a code segment belonging to an executable. */ |
|
55 EDllCodeSegType = 2 /**< Signifies a code segment belonging to a library. */ |
|
56 }; |
|
57 |
|
58 |
|
59 /** |
|
60 Used for storing the contents of a 32 bit register |
|
61 */ |
|
62 typedef TUint32 TRegisterValue32; |
|
63 |
|
64 /** |
|
65 Structure containing information about the state of the registers when a |
|
66 hardware exception occurred |
|
67 */ |
|
68 class TRmdArmExcInfo |
|
69 { |
|
70 public: |
|
71 /** Enumeration detailing the types of exception which may occur. */ |
|
72 enum TExceptionType |
|
73 { |
|
74 /** Enumerator signifying that a prefetch abort error has occurred. */ |
|
75 EPrefetchAbort = 0, |
|
76 /** Enumerator signifying that a data abort error has occurred. */ |
|
77 EDataAbort = 1, |
|
78 /** Enumerator signifying that an undefined instruction error has occurred. */ |
|
79 EUndef =2 |
|
80 }; |
|
81 |
|
82 /** Value of CPSR. */ |
|
83 TRegisterValue32 iCpsr; |
|
84 /** Type of exception which has occurred. */ |
|
85 TExceptionType iExcCode; |
|
86 /** Value of R13 supervisor mode banked register. */ |
|
87 TRegisterValue32 iR13Svc; |
|
88 /** Value of user mode register R4. */ |
|
89 TRegisterValue32 iR4; |
|
90 /** Value of user mode register R5. */ |
|
91 TRegisterValue32 iR5; |
|
92 /** Value of user mode register R6. */ |
|
93 TRegisterValue32 iR6; |
|
94 /** Value of user mode register R7. */ |
|
95 TRegisterValue32 iR7; |
|
96 /** Value of user mode register R8. */ |
|
97 TRegisterValue32 iR8; |
|
98 /** Value of user mode register R9. */ |
|
99 TRegisterValue32 iR9; |
|
100 /** Value of user mode register R10. */ |
|
101 TRegisterValue32 iR10; |
|
102 /** Value of user mode register R11. */ |
|
103 TRegisterValue32 iR11; |
|
104 /** Value of R14 supervisor mode banked register. */ |
|
105 TRegisterValue32 iR14Svc; |
|
106 /** Address which caused exception (System Control Coprocessor Fault Address Register) */ |
|
107 TRegisterValue32 iFaultAddress; |
|
108 /** Value of System Control Coprocessor Fault Status Register. */ |
|
109 TRegisterValue32 iFaultStatus; |
|
110 /** Value of SPSR supervisor mode banked register. */ |
|
111 TRegisterValue32 iSpsrSvc; |
|
112 /** Value of user mode register R13. */ |
|
113 TRegisterValue32 iR13; |
|
114 /** Value of user mode register R14. */ |
|
115 TRegisterValue32 iR14; |
|
116 /** Value of user mode register R0. */ |
|
117 TRegisterValue32 iR0; |
|
118 /** Value of user mode register R1. */ |
|
119 TRegisterValue32 iR1; |
|
120 /** Value of user mode register R2. */ |
|
121 TRegisterValue32 iR2; |
|
122 /** Value of user mode register R3. */ |
|
123 TRegisterValue32 iR3; |
|
124 /** Value of user mode register R12. */ |
|
125 TRegisterValue32 iR12; |
|
126 /** Value of user mode register R15, points to instruction which caused exception. */ |
|
127 TRegisterValue32 iR15; |
|
128 }; |
47 /** |
129 /** |
48 * This enum defines the type of struct we are dealing with when we |
130 * This enum defines the type of struct we are dealing with when we |
49 * are serialising/deserialising |
131 * are serialising/deserialising |
50 */ |
132 */ |
51 enum SCMStructId |
133 enum SCMStructId |