registers.hh (9046:a1104cc13db2) | registers.hh (9917:7274310be1bb) |
---|---|
1/* 2 * Copyright (c) 2006 The Regents of The University of Michigan 3 * Copyright (c) 2007 MIPS Technologies, Inc. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 101 unchanged lines hidden (view full) --- 110const int KernelReg1 = 27; 111const int GlobalPointerReg = 28; 112const int StackPointerReg = 29; 113const int FramePointerReg = 30; 114const int ReturnAddressReg = 31; 115 116const int SyscallPseudoReturnReg = 3; 117 | 1/* 2 * Copyright (c) 2006 The Regents of The University of Michigan 3 * Copyright (c) 2007 MIPS Technologies, Inc. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 101 unchanged lines hidden (view full) --- 110const int KernelReg1 = 27; 111const int GlobalPointerReg = 28; 112const int StackPointerReg = 29; 113const int FramePointerReg = 30; 114const int ReturnAddressReg = 31; 115 116const int SyscallPseudoReturnReg = 3; 117 |
118//@TODO: Implementing ShadowSets needs to 119//edit this value such that: 120//TotalArchRegs = NumIntArchRegs * ShadowSets 121const int TotalArchRegs = NumIntArchRegs; 122 123// These help enumerate all the registers for dependence tracking. 124const int FP_Base_DepTag = NumIntRegs; 125const int Ctrl_Base_DepTag = FP_Base_DepTag + NumFloatRegs; 126 | |
127// Enumerate names for 'Control' Registers in the CPU 128// Reference MIPS32 Arch. for Programmers, Vol. III, Ch.8 129// (Register Number-Register Select) Summary of Register 130//------------------------------------------------------ 131// The first set of names classify the CP0 names as Register Banks 132// for easy indexing when using the 'RD + SEL' index combination 133// in CP0 instructions. 134enum MiscRegIndex{ --- 141 unchanged lines hidden (view full) --- 276 MISCREG_DESAVE = 248, //Bank 31: 248-256 277 278 MISCREG_LLFLAG = 257, 279 MISCREG_TP_VALUE, 280 281 MISCREG_NUMREGS 282}; 283 | 118// Enumerate names for 'Control' Registers in the CPU 119// Reference MIPS32 Arch. for Programmers, Vol. III, Ch.8 120// (Register Number-Register Select) Summary of Register 121//------------------------------------------------------ 122// The first set of names classify the CP0 names as Register Banks 123// for easy indexing when using the 'RD + SEL' index combination 124// in CP0 instructions. 125enum MiscRegIndex{ --- 141 unchanged lines hidden (view full) --- 267 MISCREG_DESAVE = 248, //Bank 31: 248-256 268 269 MISCREG_LLFLAG = 257, 270 MISCREG_TP_VALUE, 271 272 MISCREG_NUMREGS 273}; 274 |
284const int TotalDataRegs = NumIntRegs + NumFloatRegs; 285 | |
286const int NumMiscRegs = MISCREG_NUMREGS; | 275const int NumMiscRegs = MISCREG_NUMREGS; |
276 277// These help enumerate all the registers for dependence tracking. 278const int FP_Base_DepTag = NumIntRegs; 279const int Ctrl_Base_DepTag = FP_Base_DepTag + NumFloatRegs; |
|
287const int Max_DepTag = Ctrl_Base_DepTag + NumMiscRegs; 288 289const int TotalNumRegs = NumIntRegs + NumFloatRegs + NumMiscRegs; 290 291typedef uint16_t RegIndex; 292 293typedef uint32_t IntReg; 294 --- 16 unchanged lines hidden --- | 280const int Max_DepTag = Ctrl_Base_DepTag + NumMiscRegs; 281 282const int TotalNumRegs = NumIntRegs + NumFloatRegs + NumMiscRegs; 283 284typedef uint16_t RegIndex; 285 286typedef uint32_t IntReg; 287 --- 16 unchanged lines hidden --- |