dt_constants.hh revision 4661
14661Sksewell@umich.edu/*
24661Sksewell@umich.edu * Copyright (c) 2006 The Regents of The University of Michigan
34661Sksewell@umich.edu * All rights reserved.
44661Sksewell@umich.edu *
54661Sksewell@umich.edu * Redistribution and use in source and binary forms, with or without
64661Sksewell@umich.edu * modification, are permitted provided that the following conditions are
74661Sksewell@umich.edu * met: redistributions of source code must retain the above copyright
84661Sksewell@umich.edu * notice, this list of conditions and the following disclaimer;
94661Sksewell@umich.edu * redistributions in binary form must reproduce the above copyright
104661Sksewell@umich.edu * notice, this list of conditions and the following disclaimer in the
114661Sksewell@umich.edu * documentation and/or other materials provided with the distribution;
124661Sksewell@umich.edu * neither the name of the copyright holders nor the names of its
134661Sksewell@umich.edu * contributors may be used to endorse or promote products derived from
144661Sksewell@umich.edu * this software without specific prior written permission.
154661Sksewell@umich.edu *
164661Sksewell@umich.edu * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
174661Sksewell@umich.edu * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
184661Sksewell@umich.edu * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
194661Sksewell@umich.edu * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
204661Sksewell@umich.edu * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
214661Sksewell@umich.edu * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
224661Sksewell@umich.edu * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
234661Sksewell@umich.edu * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
244661Sksewell@umich.edu * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
254661Sksewell@umich.edu * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
264661Sksewell@umich.edu * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
274661Sksewell@umich.edu *
284661Sksewell@umich.edu * Authors: Jaidev Patwardhan
294661Sksewell@umich.edu */
304661Sksewell@umich.edu
314661Sksewell@umich.edu#ifndef __ARCH_MIPS_DT_CONSTANTS_HH__
324661Sksewell@umich.edu#define __ARCH_MIPS_DT_CONSTANTS_HH__
334661Sksewell@umich.edu
344661Sksewell@umich.edu#include "arch/mips/types.hh"
354661Sksewell@umich.edu//#include "config/full_system.hh"
364661Sksewell@umich.edu
374661Sksewell@umich.edunamespace MipsISA
384661Sksewell@umich.edu{
394661Sksewell@umich.edu  // See the EJTAG Specification - Revision 4.10
404661Sksewell@umich.edu  // Also see PDTrace Specification - Revision 4.30
414661Sksewell@umich.edu
424661Sksewell@umich.edu  // Debug Register - CP0 Reg 23, Sel 0
434661Sksewell@umich.edu  const unsigned Debug_DBD = 31;
444661Sksewell@umich.edu  const unsigned Debug_DM_HI = 30;
454661Sksewell@umich.edu  const unsigned Debug_DM_LO = 30;
464661Sksewell@umich.edu  const unsigned Debug_NODCR = 29;
474661Sksewell@umich.edu  const unsigned Debug_LSNM = 28;
484661Sksewell@umich.edu  const unsigned Debug_DOZE = 27;
494661Sksewell@umich.edu  const unsigned Debug_HALT = 26;
504661Sksewell@umich.edu  const unsigned Debug_COUNTDM = 25;
514661Sksewell@umich.edu  const unsigned Debug_IBUSEP = 24;
524661Sksewell@umich.edu  const unsigned Debug_MCHECKEP = 23;
534661Sksewell@umich.edu  const unsigned Debug_CACHEEP = 22;
544661Sksewell@umich.edu  const unsigned Debug_DBUSEP = 21;
554661Sksewell@umich.edu  const unsigned Debug_IEXI_HI = 20;
564661Sksewell@umich.edu  const unsigned Debug_IEXI_LO = 20;
574661Sksewell@umich.edu  const unsigned Debug_DDBS_IMPR = 19;
584661Sksewell@umich.edu  const unsigned Debug_DDBL_IMPR = 18;
594661Sksewell@umich.edu  const unsigned Debug_EJTAGVER_2 =17;
604661Sksewell@umich.edu  const unsigned Debug_EJTAGVER_1 =16;
614661Sksewell@umich.edu  const unsigned Debug_EJTAGVER_0 =15;
624661Sksewell@umich.edu  const unsigned Debug_EJTAGVER_HI = 17;
634661Sksewell@umich.edu  const unsigned Debug_EJTAGVER_LO = 15;
644661Sksewell@umich.edu  const unsigned Debug_DEXC_CODE_HI = 14;
654661Sksewell@umich.edu  const unsigned Debug_DEXC_CODE_LO = 10;
664661Sksewell@umich.edu  const unsigned Debug_NOSST = 9;
674661Sksewell@umich.edu  const unsigned Debug_SST = 8;
684661Sksewell@umich.edu  const unsigned Debug_OFFLINE = 7;
694661Sksewell@umich.edu  const unsigned Debug_DIBIMPR = 6;
704661Sksewell@umich.edu  const unsigned Debug_DINT = 5;
714661Sksewell@umich.edu  const unsigned Debug_DIB = 4;
724661Sksewell@umich.edu  const unsigned Debug_DDBS = 3;
734661Sksewell@umich.edu  const unsigned Debug_DDBL = 2;
744661Sksewell@umich.edu  const unsigned Debug_DBp = 1;
754661Sksewell@umich.edu  const unsigned Debug_DSS = 0;
764661Sksewell@umich.edu
774661Sksewell@umich.edu
784661Sksewell@umich.edu  // TraceControl Register - CP0 Reg 23, Sel 1
794661Sksewell@umich.edu  const unsigned TraceControl_TS = 31;
804661Sksewell@umich.edu  const unsigned TraceControl_UT = 30;
814661Sksewell@umich.edu  const unsigned TraceControl_TB = 27;
824661Sksewell@umich.edu  const unsigned TraceControl_IO = 26;
834661Sksewell@umich.edu  const unsigned TraceControl_D = 25;
844661Sksewell@umich.edu  const unsigned TraceControl_E = 24;
854661Sksewell@umich.edu  const unsigned TraceControl_K = 23;
864661Sksewell@umich.edu  const unsigned TraceControl_S = 22;
874661Sksewell@umich.edu  const unsigned TraceControl_U = 21;
884661Sksewell@umich.edu  const unsigned TraceControl_ASID_M_HI = 20;
894661Sksewell@umich.edu  const unsigned TraceControl_ASID_M_LO = 13;
904661Sksewell@umich.edu  const unsigned TraceControl_ASID_HI = 12;
914661Sksewell@umich.edu  const unsigned TraceControl_ASID_LO = 5;
924661Sksewell@umich.edu  const unsigned TraceControl_G = 4;
934661Sksewell@umich.edu  const unsigned TraceControl_TFCR = 3;
944661Sksewell@umich.edu  const unsigned TraceControl_TLSM = 2;
954661Sksewell@umich.edu  const unsigned TraceControl_TIM = 1;
964661Sksewell@umich.edu  const unsigned TraceControl_ON = 0;
974661Sksewell@umich.edu
984661Sksewell@umich.edu  // TraceControl2 Register - CP0 Reg 23, Sel 2
994661Sksewell@umich.edu  const unsigned TraceControl2_CPUIDV = 29;
1004661Sksewell@umich.edu  const unsigned TraceControl2_CPUID_HI = 28;
1014661Sksewell@umich.edu  const unsigned TraceControl2_CPUID_LO = 21;
1024661Sksewell@umich.edu  const unsigned TraceControl2_TCV = 20;
1034661Sksewell@umich.edu  const unsigned TraceControl2_TCNUM_HI = 19;
1044661Sksewell@umich.edu  const unsigned TraceControl2_TCNUM_LO = 12;
1054661Sksewell@umich.edu  const unsigned TraceControl2_MODE_HI = 11;
1064661Sksewell@umich.edu  const unsigned TraceControl2_MODE_LO = 7;
1074661Sksewell@umich.edu  const unsigned TraceControl2_VALIDMODES_HI = 6;
1084661Sksewell@umich.edu  const unsigned TraceControl2_VALIDMODES_LO = 5;
1094661Sksewell@umich.edu  const unsigned TraceControl2_TBI = 4;
1104661Sksewell@umich.edu  const unsigned TraceControl2_TBU = 3;
1114661Sksewell@umich.edu  const unsigned TraceControl2_SYP_HI = 2;
1124661Sksewell@umich.edu  const unsigned TraceControl2_SYP_LO = 0;
1134661Sksewell@umich.edu
1144661Sksewell@umich.edu  // UserTraceData Register - CP0 Reg 23, Sel 3
1154661Sksewell@umich.edu  // Just holds 32-bits (or 64-bits) of data
1164661Sksewell@umich.edu
1174661Sksewell@umich.edu  // TraceIBPC Register - CP0 Reg 23, Sel 4
1184661Sksewell@umich.edu  const unsigned TraceIBPC_MB = 31;
1194661Sksewell@umich.edu  const unsigned TraceIBPC_IE = 28;
1204661Sksewell@umich.edu  const unsigned TraceIBPC_ATE = 27;
1214661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC8_HI = 26;
1224661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC8_LO = 24;
1234661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC7_HI = 23;
1244661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC7_LO = 21;
1254661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC6_HI = 20;
1264661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC6_LO = 18;
1274661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC5_HI = 17;
1284661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC5_LO = 15;
1294661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC4_HI = 14;
1304661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC4_LO = 12;
1314661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC3_HI = 11;
1324661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC3_LO = 9;
1334661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC2_HI = 8;
1344661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC2_LO = 6;
1354661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC1_HI = 5;
1364661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC1_LO = 3;
1374661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC0_HI = 2;
1384661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC0_LO = 0;
1394661Sksewell@umich.edu
1404661Sksewell@umich.edu
1414661Sksewell@umich.edu  // TraceDBPC Register - CP0 Reg 23, Sel 5
1424661Sksewell@umich.edu  const unsigned TRACEDBPC_MB = 31;
1434661Sksewell@umich.edu  const unsigned TRACEDBPC_DE = 28;
1444661Sksewell@umich.edu  const unsigned TRACEDBPC_ATE = 27;
1454661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC8_HI = 26;
1464661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC8_LO = 24;
1474661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC7_HI = 23;
1484661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC7_LO = 21;
1494661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC6_HI = 20;
1504661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC6_LO = 18;
1514661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC5_HI = 17;
1524661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC5_LO = 15;
1534661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC4_HI = 14;
1544661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC4_LO = 12;
1554661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC3_HI = 11;
1564661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC3_LO = 9;
1574661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC2_HI = 8;
1584661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC2_LO = 6;
1594661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC1_HI = 5;
1604661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC1_LO = 3;
1614661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC0_HI = 2;
1624661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC0_LO = 0;
1634661Sksewell@umich.edu
1644661Sksewell@umich.edu  // TraceIBPC2 - Not part of CP0, but part of TRACE
1654661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC14_HI = 17;
1664661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC14_LO = 15;
1674661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC13_HI = 14;
1684661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC13_LO = 12;
1694661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC12_HI = 11;
1704661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC12_LO = 9;
1714661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC11_HI = 8;
1724661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC11_LO = 6;
1734661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC10_HI = 5;
1744661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC10_LO = 3;
1754661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC9_HI = 2;
1764661Sksewell@umich.edu  const unsigned TraceIBPC_IBPC9_LO = 0;
1774661Sksewell@umich.edu
1784661Sksewell@umich.edu
1794661Sksewell@umich.edu  // TraceDBPC2 - Not part of CP0, but part of TRACE
1804661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC14_HI = 17;
1814661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC14_LO = 15;
1824661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC13_HI = 14;
1834661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC13_LO = 12;
1844661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC12_HI = 11;
1854661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC12_LO = 9;
1864661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC11_HI = 8;
1874661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC11_LO = 6;
1884661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC10_HI = 5;
1894661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC10_LO = 3;
1904661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC9_HI = 2;
1914661Sksewell@umich.edu  const unsigned TRACEDBPC_DBPC9_LO = 0;
1924661Sksewell@umich.edu
1934661Sksewell@umich.edu
1944661Sksewell@umich.edu  // Debug Register 2 - CP0 Reg 23, Sel 6
1954661Sksewell@umich.edu  const unsigned DEBUG2_PRM = 3;
1964661Sksewell@umich.edu  const unsigned DEBUG2_DQ = 2;
1974661Sksewell@umich.edu  const unsigned DEBUG2_TUP = 1;
1984661Sksewell@umich.edu  const unsigned DEBUG2_PACO = 0;
1994661Sksewell@umich.edu
2004661Sksewell@umich.edu  // DEPC Register - CP0 Reg 24, Sel 0
2014661Sksewell@umich.edu  // Debug Exception Program Counter
2024661Sksewell@umich.edu  const unsigned DEPC_HI = 31;
2034661Sksewell@umich.edu  const unsigned DEPC_LO = 0;
2044661Sksewell@umich.edu
2054661Sksewell@umich.edu
2064661Sksewell@umich.edu
2074661Sksewell@umich.edu  // DESAVE - CP0 Reg 31, Sel 0
2084661Sksewell@umich.edu  // Debug Exception Save Register
2094661Sksewell@umich.edu  const unsigned DESAVE_HI = 31;
2104661Sksewell@umich.edu  const unsigned DESAVE_LO = 0;
2114661Sksewell@umich.edu
2124661Sksewell@umich.edu
2134661Sksewell@umich.edu
2144661Sksewell@umich.edu} // namespace MipsISA
2154661Sksewell@umich.edu
2164661Sksewell@umich.edu#endif
217