Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(221)

Side by Side Diff: minidump/minidump_context.h

Issue 620663002: MinidumpContext: fix some problems in AMD64 (x86_64) context enums (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Crashpad Authors. All rights reserved. 1 // Copyright 2014 The Crashpad Authors. All rights reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 //! The `extended_registers` field is valid and contains `fxsave` data. 105 //! The `extended_registers` field is valid and contains `fxsave` data.
106 kMinidumpContextX86Extended = kMinidumpContextX86 | 0x00000020, 106 kMinidumpContextX86Extended = kMinidumpContextX86 | 0x00000020,
107 107
108 //! \brief Indicates the validity of `xsave` data (`CONTEXT_XSTATE`). 108 //! \brief Indicates the validity of `xsave` data (`CONTEXT_XSTATE`).
109 //! 109 //!
110 //! The context contains `xsave` data. This is used with an extended context 110 //! The context contains `xsave` data. This is used with an extended context
111 //! structure not currently defined here. 111 //! structure not currently defined here.
112 kMinidumpContextX86Xstate = kMinidumpContextX86 | 0x00000040, 112 kMinidumpContextX86Xstate = kMinidumpContextX86 | 0x00000040,
113 113
114 //! \brief Indicates the validity of control, integer, and segment registers. 114 //! \brief Indicates the validity of control, integer, and segment registers.
115 //! (`CONTEXT_FULL`).
115 kMinidumpContextX86Full = kMinidumpContextX86Control | 116 kMinidumpContextX86Full = kMinidumpContextX86Control |
116 kMinidumpContextX86Integer | 117 kMinidumpContextX86Integer |
117 kMinidumpContextX86Segment, 118 kMinidumpContextX86Segment,
118 119
119 //! \brief Indicates the validity of all registers except `xsave` data. 120 //! \brief Indicates the validity of all registers except `xsave` data.
121 //! (`CONTEXT_ALL`).
120 kMinidumpContextX86All = kMinidumpContextX86Full | 122 kMinidumpContextX86All = kMinidumpContextX86Full |
121 kMinidumpContextX86FloatingPoint | 123 kMinidumpContextX86FloatingPoint |
122 kMinidumpContextX86Debug | 124 kMinidumpContextX86Debug |
123 kMinidumpContextX86Extended, 125 kMinidumpContextX86Extended,
124 }; 126 };
125 127
126 //! \brief A 32-bit x86 CPU context (register state) carried in a minidump file. 128 //! \brief A 32-bit x86 CPU context (register state) carried in a minidump file.
127 //! 129 //!
128 //! This is analogous to the `CONTEXT` structure on Windows when targeting 130 //! This is analogous to the `CONTEXT` structure on Windows when targeting
129 //! 32-bit x86. This structure is used instead of `CONTEXT` to make it available 131 //! 32-bit x86. This structure is used instead of `CONTEXT` to make it available
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 //! \brief Indicates the validity of debug registers 212 //! \brief Indicates the validity of debug registers
211 //! (`CONTEXT_DEBUG_REGISTERS`). 213 //! (`CONTEXT_DEBUG_REGISTERS`).
212 //! 214 //!
213 //! The `dr0` through `dr3`, `dr6`, and `dr7` fields are valid. 215 //! The `dr0` through `dr3`, `dr6`, and `dr7` fields are valid.
214 kMinidumpContextAMD64Debug = kMinidumpContextAMD64 | 0x00000010, 216 kMinidumpContextAMD64Debug = kMinidumpContextAMD64 | 0x00000010,
215 217
216 //! \brief Indicates the validity of `xsave` data (`CONTEXT_XSTATE`). 218 //! \brief Indicates the validity of `xsave` data (`CONTEXT_XSTATE`).
217 //! 219 //!
218 //! The context contains `xsave` data. This is used with an extended context 220 //! The context contains `xsave` data. This is used with an extended context
219 //! structure not currently defined here. 221 //! structure not currently defined here.
220 kMinidumpContextX86Xstate = kMinidumpContextAMD64 | 0x00000040, 222 kMinidumpContextAMD64Xstate = kMinidumpContextAMD64 | 0x00000040,
221 223
222 //! \brief Indicates the validity of control, integer, and segment registers. 224 //! \brief Indicates the validity of control, integer, and floating-point
225 //! registers (`CONTEXT_FULL`).
223 kMinidumpContextAMD64Full = kMinidumpContextAMD64Control | 226 kMinidumpContextAMD64Full = kMinidumpContextAMD64Control |
224 kMinidumpContextAMD64Integer | 227 kMinidumpContextAMD64Integer |
225 kMinidumpContextAMD64Segment, 228 kMinidumpContextAMD64FloatingPoint,
226 229
227 //! \brief Indicates the validity of all registers except `xsave` data. 230 //! \brief Indicates the validity of all registers except `xsave` data
231 //! (`CONTEXT_ALL`).
228 kMinidumpContextAMD64All = kMinidumpContextAMD64Full | 232 kMinidumpContextAMD64All = kMinidumpContextAMD64Full |
229 kMinidumpContextAMD64FloatingPoint | 233 kMinidumpContextAMD64Segment |
230 kMinidumpContextAMD64Debug, 234 kMinidumpContextAMD64Debug,
231 }; 235 };
232 236
233 //! \brief An x86_64 (AMD64) CPU context (register state) carried in a minidump 237 //! \brief An x86_64 (AMD64) CPU context (register state) carried in a minidump
234 //! file. 238 //! file.
235 //! 239 //!
236 //! This is analogous to the `CONTEXT` structure on Windows when targeting 240 //! This is analogous to the `CONTEXT` structure on Windows when targeting
237 //! x86_64. This structure is used instead of `CONTEXT` to make it available 241 //! x86_64. This structure is used instead of `CONTEXT` to make it available
238 //! when targeting other architectures. 242 //! when targeting other architectures.
239 struct __attribute__((aligned(16))) MinidumpContextAMD64 { 243 struct __attribute__((aligned(16))) MinidumpContextAMD64 {
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 uint64_t last_branch_to_rip; 358 uint64_t last_branch_to_rip;
355 uint64_t last_branch_from_rip; 359 uint64_t last_branch_from_rip;
356 uint64_t last_exception_to_rip; 360 uint64_t last_exception_to_rip;
357 uint64_t last_exception_from_rip; 361 uint64_t last_exception_from_rip;
358 //! \} 362 //! \}
359 }; 363 };
360 364
361 } // namespace crashpad 365 } // namespace crashpad
362 366
363 #endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_H_ 367 #endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_H_
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698