15f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com/* Copyright (c) 2013, Google Inc.
25f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * All rights reserved.
35f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *
45f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * Redistribution and use in source and binary forms, with or without
55f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * modification, are permitted provided that the following conditions are
65f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * met:
75f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *
85f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *     * Redistributions of source code must retain the above copyright
95f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * notice, this list of conditions and the following disclaimer.
105f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *     * Redistributions in binary form must reproduce the above
115f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * copyright notice, this list of conditions and the following disclaimer
125f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * in the documentation and/or other materials provided with the
135f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * distribution.
145f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *     * Neither the name of Google Inc. nor the names of its
155f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * contributors may be used to endorse or promote products derived from
165f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * this software without specific prior written permission.
175f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *
185f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
195f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
205f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
215f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
225f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
235f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
245f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
255f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
265f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
275f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
285f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
295f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
305f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com/* minidump_format.h: A cross-platform reimplementation of minidump-related
315f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * portions of DbgHelp.h from the Windows Platform SDK.
325f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *
335f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * (This is C99 source, please don't corrupt it with C++.)
345f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *
355f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * This file contains the necessary definitions to read minidump files
365f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * produced on MIPS.  These files may be read on any platform provided
375f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * that the alignments of these structures on the processing system are
385f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * identical to the alignments of these structures on the producing system.
395f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * For this reason, precise-sized types are used.  The structures defined
405f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * by this file have been laid out to minimize alignment problems by
415f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * ensuring that all members are aligned on their natural boundaries.
425f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * In some cases, tail-padding may be significant when different ABIs specify
435f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * different tail-padding behaviors.  To avoid problems when reading or
445f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * writing affected structures, MD_*_SIZE macros are provided where needed,
455f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * containing the useful size of the structures without padding.
465f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *
475f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * Structures that are defined by Microsoft to contain a zero-length array
485f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * are instead defined here to contain an array with one element, as
495f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * zero-length arrays are forbidden by standard C and C++.  In these cases,
505f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * *_minsize constants are provided to be used in place of sizeof.  For a
515f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * cleaner interface to these sizes when using C++, see minidump_size.h.
525f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *
535f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * These structures are also sufficient to populate minidump files.
545f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *
555f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * Because precise data type sizes are crucial for this implementation to
565f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * function properly and portably, a set of primitive types with known sizes
575f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * are used as the basis of each structure defined by this file.
585f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com *
595f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * Author: Chris Dearman
605f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com */
615f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
625f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com/*
635f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * MIPS support
645f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com */
655f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
665f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_MIPS_H__
675f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_MIPS_H__
685f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
69faa2e5b56ea0148257e9610fe58e7305b407ba52gordana.cmiljanovic@imgtec.com#if defined(__mips__) && !defined(__ANDROID__)
705f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.comtypedef struct {
715f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t regs[32];
725f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t lo;
735f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t hi;
745f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t epc;
755f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t badvaddr;
765f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t status;
775f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t cause;
785f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com} user_regs_struct;
795f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
805f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.comtypedef struct {
815f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t regs[32];
825f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t fpcsr;
835f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t fir;
845f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com} user_fpregs_struct;
855f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#endif
865f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
875f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#define MD_CONTEXT_MIPS_GPR_COUNT 32
885f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#define MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT 32
895f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#define MD_CONTEXT_MIPS_DSP_COUNT 3
905f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
915f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com/*
925f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * Note that these structures *do not* map directly to the CONTEXT
935f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * structure defined in WinNT.h in the Windows Mobile SDK. That structure
945f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * does not accomodate VFPv3, and I'm unsure if it was ever used in the
955f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * wild anyway, as Windows CE only seems to produce "cedumps" which
965f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * are not exactly minidumps.
975f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com */
985f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.comtypedef struct {
995f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  /* 32 64-bit floating point registers, f0..f31 */
1005f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t regs[MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT];
1015f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1025f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t fpcsr; /* FPU status register. */
1035f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t fir; /* FPU implementation register. */
1045f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com} MDFloatingSaveAreaMIPS;
1055f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1065f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.comtypedef struct {
1075f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  /* The next field determines the layout of the structure, and which parts
1085f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com   * of it are populated.
1095f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com   */
1105f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t context_flags;
1115f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t _pad0;
1125f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1135f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  /* 32 64-bit integer registers, r0..r31.
1145f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com   * Note the following fixed uses:
1155f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com   *   r30 is the stack pointer.
1165f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com   *   r31 is the return address (link register).
1175f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com   */
1185f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t iregs[MD_CONTEXT_MIPS_GPR_COUNT];
1195f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1205f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  /* multiply/divide result. */
1215f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t mdhi, mdlo;
1225f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1235f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  /* DSP accumulators. */
1245f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t hi[MD_CONTEXT_MIPS_DSP_COUNT];
1255f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t lo[MD_CONTEXT_MIPS_DSP_COUNT];
1265f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t dsp_control;
1275f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t _pad1;
1285f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1295f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t epc;
1305f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint64_t badvaddr;
1315f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t status;
1325f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  uint32_t cause;
1335f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1345f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  /* The next field is included with MD_CONTEXT_MIPS_FLOATING_POINT. */
1355f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MDFloatingSaveAreaMIPS float_save;
1365f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1375f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com} MDRawContextMIPS;
1385f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1395f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com/* Indices into iregs for registers with a dedicated or conventional
1405f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * purpose.
1415f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com */
1425f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.comenum MDMIPSRegisterNumbers {
1435f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_S0     = 16,
1445f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_S1     = 17,
1455f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_S2     = 18,
1465f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_S3     = 19,
1475f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_S4     = 20,
1485f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_S5     = 21,
1495f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_S6     = 22,
1505f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_S7     = 23,
1515f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_GP     = 28,
1525f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_SP     = 29,
1535f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_FP     = 30,
1545f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com  MD_CONTEXT_MIPS_REG_RA     = 31,
1555f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com};
1565f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1575f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com/* For (MDRawContextMIPS).context_flags.  These values indicate the type of
1585f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * context stored in the structure. */
1595f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com/* CONTEXT_MIPS from the Windows CE 5.0 SDK. This value isn't correct
1605f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * because this bit can be used for flags. Presumably this value was
1615f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * never actually used in minidumps, but only in "CEDumps" which
1625f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * are a whole parallel minidump file format for Windows CE.
1635f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com * Therefore, Breakpad defines its own value for MIPS CPUs.
1645f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com */
1655f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#define MD_CONTEXT_MIPS  0x00040000
1665f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#define MD_CONTEXT_MIPS_INTEGER           (MD_CONTEXT_MIPS | 0x00000002)
1675f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#define MD_CONTEXT_MIPS_FLOATING_POINT    (MD_CONTEXT_MIPS | 0x00000004)
1685f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#define MD_CONTEXT_MIPS_DSP               (MD_CONTEXT_MIPS | 0x00000008)
1695f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1705f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#define MD_CONTEXT_MIPS_FULL              (MD_CONTEXT_MIPS_INTEGER | \
1715f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com                                           MD_CONTEXT_MIPS_FLOATING_POINT | \
1725f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com                                           MD_CONTEXT_MIPS_DSP)
1735f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1745f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#define MD_CONTEXT_MIPS_ALL               (MD_CONTEXT_MIPS_INTEGER | \
1755f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com                                           MD_CONTEXT_MIPS_FLOATING_POINT \
1765f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com                                           MD_CONTEXT_MIPS_DSP)
1775f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com
1785f22d6a7f471f2352d394c188560fd06830e14f3gordana.cmiljanovic@imgtec.com#endif  // GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_MIPS_H__
179