14661Sksewell@umich.edu/*
25222Sksewell@umich.edu * Copyright (c) 2007 MIPS Technologies, Inc.
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_PRA_CONSTANTS_HH__
324661Sksewell@umich.edu#define __ARCH_MIPS_PRA_CONSTANTS_HH__
334661Sksewell@umich.edu
344661Sksewell@umich.edu#include "arch/mips/types.hh"
356376Sgblack@eecs.umich.edu#include "base/bitunion.hh"
364661Sksewell@umich.edu
374661Sksewell@umich.edunamespace MipsISA
384661Sksewell@umich.edu{
394661Sksewell@umich.edu
406376Sgblack@eecs.umich.eduBitUnion32(IndexReg)
416376Sgblack@eecs.umich.edu    Bitfield<31> p;
426376Sgblack@eecs.umich.edu    // Need to figure out how to put in the TLB specific bits here
436376Sgblack@eecs.umich.edu    // For now, we assume that the entire length is used by the index
446376Sgblack@eecs.umich.edu    // field In reality, Index_HI = N-1, where
456376Sgblack@eecs.umich.edu    // N = Ceiling(log2(TLB Entries))
466376Sgblack@eecs.umich.edu    Bitfield<30, 0> index;
476376Sgblack@eecs.umich.eduEndBitUnion(IndexReg)
484661Sksewell@umich.edu
496376Sgblack@eecs.umich.eduBitUnion32(RandomReg)
506376Sgblack@eecs.umich.edu    // This has a problem similar to the IndexReg index field. We'll keep
516376Sgblack@eecs.umich.edu    // both consistent at 30 for now
526376Sgblack@eecs.umich.edu    Bitfield<30, 0> random;
536376Sgblack@eecs.umich.eduEndBitUnion(RandomReg)
544661Sksewell@umich.edu
556376Sgblack@eecs.umich.eduBitUnion64(EntryLoReg)
566376Sgblack@eecs.umich.edu    Bitfield<63, 30> fill;
576376Sgblack@eecs.umich.edu    Bitfield<29, 6>  pfn;   // Page frame number
586376Sgblack@eecs.umich.edu    Bitfield<5,  3>  c;     // Coherency attribute
596376Sgblack@eecs.umich.edu    Bitfield<2>      d;     // Dirty Bit
606376Sgblack@eecs.umich.edu    Bitfield<1>      v;     // Valid Bit
616376Sgblack@eecs.umich.edu    Bitfield<0>      g;     // Global Bit
626376Sgblack@eecs.umich.eduEndBitUnion(EntryLoReg)
634661Sksewell@umich.edu
646376Sgblack@eecs.umich.eduBitUnion64(ContextReg)
656376Sgblack@eecs.umich.edu    Bitfield<63, 23> pteBase;
666376Sgblack@eecs.umich.edu    Bitfield<22, 4>  badVPN2;
676376Sgblack@eecs.umich.edu    // Bits 3-0 are 0
686376Sgblack@eecs.umich.eduEndBitUnion(ContextReg)
694661Sksewell@umich.edu
706376Sgblack@eecs.umich.eduBitUnion32(PageMaskReg)
716376Sgblack@eecs.umich.edu    // Bits 31-29 are 0
726376Sgblack@eecs.umich.edu    Bitfield<28, 13> mask;
736376Sgblack@eecs.umich.edu    Bitfield<12, 11> maskx;
746376Sgblack@eecs.umich.edu    // Bits 10-0 are zero
756376Sgblack@eecs.umich.eduEndBitUnion(PageMaskReg)
764661Sksewell@umich.edu
776376Sgblack@eecs.umich.eduBitUnion32(PageGrainReg)
786376Sgblack@eecs.umich.edu    Bitfield<31, 30> aseUp;
796376Sgblack@eecs.umich.edu    Bitfield<29>     elpa;
806376Sgblack@eecs.umich.edu    Bitfield<28>     esp;
816376Sgblack@eecs.umich.edu    // Bits 27-13 are zeros
826376Sgblack@eecs.umich.edu    Bitfield<12, 8>  aseDn;
836376Sgblack@eecs.umich.edu    // Bits 7-0 are zeros
846376Sgblack@eecs.umich.eduEndBitUnion(PageGrainReg)
854661Sksewell@umich.edu
866376Sgblack@eecs.umich.eduBitUnion32(WiredReg)
876376Sgblack@eecs.umich.edu    // See note on Index register above
886376Sgblack@eecs.umich.edu    Bitfield<30, 0> wired;
896376Sgblack@eecs.umich.eduEndBitUnion(WiredReg)
904661Sksewell@umich.edu
916376Sgblack@eecs.umich.eduBitUnion32(HWREnaReg)
926376Sgblack@eecs.umich.edu    Bitfield<31, 30> impl;
936376Sgblack@eecs.umich.edu    Bitfield<3,  0>  mask;
946376Sgblack@eecs.umich.eduEndBitUnion(HWREnaReg)
954661Sksewell@umich.edu
966376Sgblack@eecs.umich.eduBitUnion64(EntryHiReg)
976376Sgblack@eecs.umich.edu    Bitfield<63, 62> r;
986376Sgblack@eecs.umich.edu    Bitfield<61, 40> fill;
996376Sgblack@eecs.umich.edu    Bitfield<39, 13> vpn2;
1006376Sgblack@eecs.umich.edu    Bitfield<12, 11> vpn2x;
1016376Sgblack@eecs.umich.edu    Bitfield<7,  0>  asid;
1026376Sgblack@eecs.umich.eduEndBitUnion(EntryHiReg)
1034661Sksewell@umich.edu
1046376Sgblack@eecs.umich.eduBitUnion32(StatusReg)
1056376Sgblack@eecs.umich.edu    SubBitUnion(cu, 31, 28)
1066376Sgblack@eecs.umich.edu        Bitfield<31> cu3;
1076376Sgblack@eecs.umich.edu        Bitfield<30> cu2;
1086376Sgblack@eecs.umich.edu        Bitfield<29> cu1;
1096376Sgblack@eecs.umich.edu        Bitfield<28> cu0;
1106376Sgblack@eecs.umich.edu    EndSubBitUnion(cu)
1116376Sgblack@eecs.umich.edu    Bitfield<27>     rp;
1126376Sgblack@eecs.umich.edu    Bitfield<26>     fr;
1136376Sgblack@eecs.umich.edu    Bitfield<25>     re;
1146376Sgblack@eecs.umich.edu    Bitfield<24>     mx;
1156376Sgblack@eecs.umich.edu    Bitfield<23>     px;
1166376Sgblack@eecs.umich.edu    Bitfield<22>     bev;
1176376Sgblack@eecs.umich.edu    Bitfield<21>     ts;
1186376Sgblack@eecs.umich.edu    Bitfield<20>     sr;
1196376Sgblack@eecs.umich.edu    Bitfield<19>     nmi;
1206376Sgblack@eecs.umich.edu    // Bit 18 is zero
1216376Sgblack@eecs.umich.edu    Bitfield<17, 16> impl;
1226376Sgblack@eecs.umich.edu    Bitfield<15, 10> ipl;
1236379Sgblack@eecs.umich.edu    SubBitUnion(im, 15, 8)
1246379Sgblack@eecs.umich.edu        Bitfield<15> im7;
1256379Sgblack@eecs.umich.edu        Bitfield<14> im6;
1266379Sgblack@eecs.umich.edu        Bitfield<13> im5;
1276379Sgblack@eecs.umich.edu        Bitfield<12> im4;
1286379Sgblack@eecs.umich.edu        Bitfield<11> im3;
1296379Sgblack@eecs.umich.edu        Bitfield<10> im2;
1306379Sgblack@eecs.umich.edu        Bitfield<9>  im1;
1316379Sgblack@eecs.umich.edu        Bitfield<8>  im0;
1326379Sgblack@eecs.umich.edu    EndSubBitUnion(im)
1336376Sgblack@eecs.umich.edu    Bitfield<7>      kx;
1346376Sgblack@eecs.umich.edu    Bitfield<6>      sx;
1356376Sgblack@eecs.umich.edu    Bitfield<5>      ux;
1366376Sgblack@eecs.umich.edu    Bitfield<4,  3>  ksu;
1376376Sgblack@eecs.umich.edu    Bitfield<4>      um;
1386376Sgblack@eecs.umich.edu    Bitfield<3>      r0;
1396376Sgblack@eecs.umich.edu    Bitfield<2>      erl;
1406376Sgblack@eecs.umich.edu    Bitfield<1>      exl;
1416376Sgblack@eecs.umich.edu    Bitfield<0>      ie;
1426376Sgblack@eecs.umich.eduEndBitUnion(StatusReg)
1434661Sksewell@umich.edu
1446376Sgblack@eecs.umich.eduBitUnion32(IntCtlReg)
1456376Sgblack@eecs.umich.edu    Bitfield<31, 29> ipti;
1466376Sgblack@eecs.umich.edu    Bitfield<28, 26> ippci;
1476376Sgblack@eecs.umich.edu    // Bits 26-10 are zeros
1486376Sgblack@eecs.umich.edu    Bitfield<9,  5>  vs;
1496376Sgblack@eecs.umich.edu    // Bits 4-0 are zeros
1506376Sgblack@eecs.umich.eduEndBitUnion(IntCtlReg)
1514661Sksewell@umich.edu
1526376Sgblack@eecs.umich.eduBitUnion32(SRSCtlReg)
1536376Sgblack@eecs.umich.edu    // Bits 31-30 are zeros
1546376Sgblack@eecs.umich.edu    Bitfield<29, 26> hss;
1556376Sgblack@eecs.umich.edu    // Bits 25-22 are zeros
1566376Sgblack@eecs.umich.edu    Bitfield<21, 18> eicss;
1576376Sgblack@eecs.umich.edu    // Bits 17-16 are zeros
1586376Sgblack@eecs.umich.edu    Bitfield<15, 12> ess;
1596376Sgblack@eecs.umich.edu    // Bits 11-10 are zeros
1606376Sgblack@eecs.umich.edu    Bitfield<9,  6>  pss;
1616376Sgblack@eecs.umich.edu    // Bits 5-4 are zeros
1626376Sgblack@eecs.umich.edu    Bitfield<3,  0>  css;
1636376Sgblack@eecs.umich.eduEndBitUnion(SRSCtlReg)
1644661Sksewell@umich.edu
1656376Sgblack@eecs.umich.eduBitUnion32(SRSMapReg)
1666376Sgblack@eecs.umich.edu    Bitfield<31, 28> ssv7;
1676376Sgblack@eecs.umich.edu    Bitfield<27, 24> ssv6;
1686376Sgblack@eecs.umich.edu    Bitfield<23, 20> ssv5;
1696376Sgblack@eecs.umich.edu    Bitfield<19, 16> ssv4;
1706376Sgblack@eecs.umich.edu    Bitfield<15, 12> ssv3;
1716376Sgblack@eecs.umich.edu    Bitfield<11, 8>  ssv2;
1726376Sgblack@eecs.umich.edu    Bitfield<7,  4>  ssv1;
1736376Sgblack@eecs.umich.edu    Bitfield<3,  0>  ssv0;
1746376Sgblack@eecs.umich.eduEndBitUnion(SRSMapReg)
1754661Sksewell@umich.edu
1766376Sgblack@eecs.umich.eduBitUnion32(CauseReg)
1776376Sgblack@eecs.umich.edu    Bitfield<31>     bd;
1786376Sgblack@eecs.umich.edu    Bitfield<30>     ti;
1796376Sgblack@eecs.umich.edu    Bitfield<29, 28> ce;
1806376Sgblack@eecs.umich.edu    Bitfield<27>     dc;
1816376Sgblack@eecs.umich.edu    Bitfield<26>     pci;
1826376Sgblack@eecs.umich.edu    // Bits 25-24 are zeros
1836376Sgblack@eecs.umich.edu    Bitfield<23>     iv;
1846376Sgblack@eecs.umich.edu    Bitfield<22>     wp;
1856376Sgblack@eecs.umich.edu    // Bits 21-16 are zeros
1866376Sgblack@eecs.umich.edu    Bitfield<15, 10> ripl;
1876379Sgblack@eecs.umich.edu    SubBitUnion(ip, 15, 8)
1886379Sgblack@eecs.umich.edu        Bitfield<15> ip7;
1896379Sgblack@eecs.umich.edu        Bitfield<14> ip6;
1906379Sgblack@eecs.umich.edu        Bitfield<13> ip5;
1916379Sgblack@eecs.umich.edu        Bitfield<12> ip4;
1926379Sgblack@eecs.umich.edu        Bitfield<11> ip3;
1936379Sgblack@eecs.umich.edu        Bitfield<10> ip2;
1946379Sgblack@eecs.umich.edu        Bitfield<9>  ip1;
1956379Sgblack@eecs.umich.edu        Bitfield<8>  ip0;
1966379Sgblack@eecs.umich.edu    EndSubBitUnion(ip);
1976376Sgblack@eecs.umich.edu    // Bit 7 is zero
1986376Sgblack@eecs.umich.edu    Bitfield<6,  2>  excCode;
1996376Sgblack@eecs.umich.edu    // Bits 1-0 are zeros
2006376Sgblack@eecs.umich.eduEndBitUnion(CauseReg)
2014661Sksewell@umich.edu
2026376Sgblack@eecs.umich.eduBitUnion32(PRIdReg)
2036376Sgblack@eecs.umich.edu    Bitfield<31, 24> coOp;
2046376Sgblack@eecs.umich.edu    Bitfield<23, 16> coId;
2056376Sgblack@eecs.umich.edu    Bitfield<15, 8>  procId;
2066376Sgblack@eecs.umich.edu    Bitfield<7,  0>  rev;
2076376Sgblack@eecs.umich.eduEndBitUnion(PRIdReg)
2084661Sksewell@umich.edu
2096376Sgblack@eecs.umich.eduBitUnion32(EBaseReg)
2106376Sgblack@eecs.umich.edu    // Bit 31 is one
2116376Sgblack@eecs.umich.edu    // Bit 30 is zero
2126376Sgblack@eecs.umich.edu    Bitfield<29, 12> exceptionBase;
2136376Sgblack@eecs.umich.edu    // Bits 11-10 are zeros
2146376Sgblack@eecs.umich.edu    Bitfield<9,  9>  cpuNum;
2156376Sgblack@eecs.umich.eduEndBitUnion(EBaseReg)
2164661Sksewell@umich.edu
2176376Sgblack@eecs.umich.eduBitUnion32(ConfigReg)
2186376Sgblack@eecs.umich.edu    Bitfield<31>     m;
2196376Sgblack@eecs.umich.edu    Bitfield<30, 28> k23;
2206376Sgblack@eecs.umich.edu    Bitfield<27, 25> ku;
2216376Sgblack@eecs.umich.edu    Bitfield<24, 16> impl;
2226376Sgblack@eecs.umich.edu    Bitfield<15>     be;
2236376Sgblack@eecs.umich.edu    Bitfield<14, 13> at;
2246376Sgblack@eecs.umich.edu    Bitfield<12, 10> ar;
2256376Sgblack@eecs.umich.edu    Bitfield<9,  7>  mt;
2266376Sgblack@eecs.umich.edu    // Bits 6-4 are zeros
2276376Sgblack@eecs.umich.edu    Bitfield<3>      vi;
2286376Sgblack@eecs.umich.edu    Bitfield<2,  0>  k0;
2296376Sgblack@eecs.umich.eduEndBitUnion(ConfigReg)
2304661Sksewell@umich.edu
2316376Sgblack@eecs.umich.eduBitUnion32(Config1Reg)
2326376Sgblack@eecs.umich.edu    Bitfield<31>     m;
2336376Sgblack@eecs.umich.edu    Bitfield<30, 25> mmuSize;
2346376Sgblack@eecs.umich.edu    Bitfield<24, 22> is;
2356376Sgblack@eecs.umich.edu    Bitfield<21, 19> il;
2366376Sgblack@eecs.umich.edu    Bitfield<18, 16> ia;
2376376Sgblack@eecs.umich.edu    Bitfield<15, 13> ds;
2386376Sgblack@eecs.umich.edu    Bitfield<12, 10> dl;
2396376Sgblack@eecs.umich.edu    Bitfield<9,  7>  da;
2406376Sgblack@eecs.umich.edu    Bitfield<6>      c2;
2416376Sgblack@eecs.umich.edu    Bitfield<5>      md;
2426376Sgblack@eecs.umich.edu    Bitfield<4>      pc;
2436376Sgblack@eecs.umich.edu    Bitfield<3>      wr;
2446376Sgblack@eecs.umich.edu    Bitfield<2>      ca;
2456376Sgblack@eecs.umich.edu    Bitfield<1>      ep;
2466376Sgblack@eecs.umich.edu    Bitfield<0>      fp;
2476376Sgblack@eecs.umich.eduEndBitUnion(Config1Reg)
2484661Sksewell@umich.edu
2496376Sgblack@eecs.umich.eduBitUnion32(Config2Reg)
2506376Sgblack@eecs.umich.edu    Bitfield<31>     m;
2516376Sgblack@eecs.umich.edu    Bitfield<30, 28> tu;
2526376Sgblack@eecs.umich.edu    Bitfield<27, 24> ts;
2536376Sgblack@eecs.umich.edu    Bitfield<23, 20> tl;
2546376Sgblack@eecs.umich.edu    Bitfield<19, 16> ta;
2556376Sgblack@eecs.umich.edu    Bitfield<15, 12> su;
2566376Sgblack@eecs.umich.edu    Bitfield<11, 8>  ss;
2576376Sgblack@eecs.umich.edu    Bitfield<7,  4>  sl;
2586376Sgblack@eecs.umich.edu    Bitfield<3,  0>  sa;
2596376Sgblack@eecs.umich.eduEndBitUnion(Config2Reg)
2604661Sksewell@umich.edu
2616376Sgblack@eecs.umich.eduBitUnion32(Config3Reg)
2626376Sgblack@eecs.umich.edu    Bitfield<31> m;
2636376Sgblack@eecs.umich.edu    // Bits 30-11 are zeros
2646376Sgblack@eecs.umich.edu    Bitfield<10> dspp;
2656376Sgblack@eecs.umich.edu    // Bits 9-8 are zeros
2666376Sgblack@eecs.umich.edu    Bitfield<7>  lpa;
2676376Sgblack@eecs.umich.edu    Bitfield<6>  veic;
2686376Sgblack@eecs.umich.edu    Bitfield<5>  vint;
2696376Sgblack@eecs.umich.edu    Bitfield<4>  sp;
2706376Sgblack@eecs.umich.edu    // Bit 3 is zero
2716376Sgblack@eecs.umich.edu    Bitfield<2>  mt;
2726376Sgblack@eecs.umich.edu    Bitfield<1>  sm;
2736376Sgblack@eecs.umich.edu    Bitfield<0>  tl;
2746376Sgblack@eecs.umich.eduEndBitUnion(Config3Reg)
2754661Sksewell@umich.edu
2766376Sgblack@eecs.umich.eduBitUnion64(WatchLoReg)
2776376Sgblack@eecs.umich.edu    Bitfield<63, 3> vaddr;
2786376Sgblack@eecs.umich.edu    Bitfield<2>     i;
2796376Sgblack@eecs.umich.edu    Bitfield<1>     r;
2806376Sgblack@eecs.umich.edu    Bitfield<0>     w;
2816376Sgblack@eecs.umich.eduEndBitUnion(WatchLoReg)
2824661Sksewell@umich.edu
2836376Sgblack@eecs.umich.eduBitUnion32(WatchHiReg)
2846376Sgblack@eecs.umich.edu    Bitfield<31>     m;
2856376Sgblack@eecs.umich.edu    Bitfield<30>     g;
2866376Sgblack@eecs.umich.edu    // Bits 29-24 are zeros
2876376Sgblack@eecs.umich.edu    Bitfield<23, 16> asid;
2886376Sgblack@eecs.umich.edu    // Bits 15-12 are zeros
2896376Sgblack@eecs.umich.edu    Bitfield<11, 3>  mask;
2906376Sgblack@eecs.umich.edu    Bitfield<2>      i;
2916376Sgblack@eecs.umich.edu    Bitfield<1>      r;
2926376Sgblack@eecs.umich.edu    Bitfield<0>      w;
2936376Sgblack@eecs.umich.eduEndBitUnion(WatchHiReg)
2944661Sksewell@umich.edu
2956376Sgblack@eecs.umich.eduBitUnion32(PerfCntCtlReg)
2966376Sgblack@eecs.umich.edu    Bitfield<31>    m;
2976376Sgblack@eecs.umich.edu    Bitfield<30>    w;
2986376Sgblack@eecs.umich.edu    // Bits 29-11 are zeros
2996376Sgblack@eecs.umich.edu    Bitfield<10, 5> event;
3006376Sgblack@eecs.umich.edu    Bitfield<4>     ie;
3016376Sgblack@eecs.umich.edu    Bitfield<3>     u;
3026376Sgblack@eecs.umich.edu    Bitfield<2>     s;
3036376Sgblack@eecs.umich.edu    Bitfield<1>     k;
3046376Sgblack@eecs.umich.edu    Bitfield<0>     exl;
3056376Sgblack@eecs.umich.eduEndBitUnion(PerfCntCtlReg)
3064661Sksewell@umich.edu
3076376Sgblack@eecs.umich.eduBitUnion32(CacheErrReg)
3086376Sgblack@eecs.umich.edu    Bitfield<31>     er;
3096376Sgblack@eecs.umich.edu    Bitfield<30>     ec;
3106376Sgblack@eecs.umich.edu    Bitfield<29>     ed;
3116376Sgblack@eecs.umich.edu    Bitfield<28>     et;
3126376Sgblack@eecs.umich.edu    Bitfield<27>     es;
3136376Sgblack@eecs.umich.edu    Bitfield<26>     ee;
3146376Sgblack@eecs.umich.edu    Bitfield<25>     eb;
3156376Sgblack@eecs.umich.edu    Bitfield<24, 22> impl;
3166376Sgblack@eecs.umich.edu    Bitfield<22, 0>  index;
3176376Sgblack@eecs.umich.eduEndBitUnion(CacheErrReg)
3184661Sksewell@umich.edu
3196376Sgblack@eecs.umich.eduBitUnion32(TagLoReg)
3206376Sgblack@eecs.umich.edu    Bitfield<31, 8> pTagLo;
3216376Sgblack@eecs.umich.edu    Bitfield<7,  6> pState;
3226376Sgblack@eecs.umich.edu    Bitfield<5>     l;
3236376Sgblack@eecs.umich.edu    Bitfield<4,  3> impl;
3246376Sgblack@eecs.umich.edu    // Bits 2-1 are zeros
3256376Sgblack@eecs.umich.edu    Bitfield<0>     p;
3266376Sgblack@eecs.umich.eduEndBitUnion(TagLoReg)
3274661Sksewell@umich.edu
3284661Sksewell@umich.edu} // namespace MipsISA
3294661Sksewell@umich.edu
3304661Sksewell@umich.edu#endif
331