utility.hh (2980:eab855f06b79) | utility.hh (3120:e49afeaf79e9) |
---|---|
1/* 2 * Copyright (c) 2003-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 21 unchanged lines hidden (view full) --- 30 */ 31 32#ifndef __ARCH_MIPS_UTILITY_HH__ 33#define __ARCH_MIPS_UTILITY_HH__ 34 35#include "arch/mips/types.hh" 36#include "base/misc.hh" 37#include "config/full_system.hh" | 1/* 2 * Copyright (c) 2003-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 21 unchanged lines hidden (view full) --- 30 */ 31 32#ifndef __ARCH_MIPS_UTILITY_HH__ 33#define __ARCH_MIPS_UTILITY_HH__ 34 35#include "arch/mips/types.hh" 36#include "base/misc.hh" 37#include "config/full_system.hh" |
38#include "cpu/thread_context.hh" |
|
38//XXX This is needed for size_t. We should use something other than size_t 39//#include "kern/linux/linux.hh" 40#include "sim/host.hh" 41 42class ThreadContext; 43 44namespace MipsISA { 45 --- 35 unchanged lines hidden (view full) --- 81 } 82 83 static inline MachInst makeRegisterCopy(int dest, int src) { 84 panic("makeRegisterCopy not implemented"); 85 return 0; 86 } 87 88 static inline ExtMachInst | 39//XXX This is needed for size_t. We should use something other than size_t 40//#include "kern/linux/linux.hh" 41#include "sim/host.hh" 42 43class ThreadContext; 44 45namespace MipsISA { 46 --- 35 unchanged lines hidden (view full) --- 82 } 83 84 static inline MachInst makeRegisterCopy(int dest, int src) { 85 panic("makeRegisterCopy not implemented"); 86 return 0; 87 } 88 89 static inline ExtMachInst |
89 makeExtMI(MachInst inst, const uint64_t &pc) { | 90 makeExtMI(MachInst inst, ThreadContext * xc) { |
90#if FULL_SYSTEM 91 ExtMachInst ext_inst = inst; | 91#if FULL_SYSTEM 92 ExtMachInst ext_inst = inst; |
92 if (pc && 0x1) 93 return ext_inst|=(static_cast<ExtMachInst>(pc & 0x1) << 32); | 93 if (xc->readPC() && 0x1) 94 return ext_inst|=(static_cast<ExtMachInst>(xc->readPC() & 0x1) << 32); |
94 else 95 return ext_inst; 96#else 97 return ExtMachInst(inst); 98#endif 99 } 100}; 101 102 103#endif | 95 else 96 return ext_inst; 97#else 98 return ExtMachInst(inst); 99#endif 100 } 101}; 102 103 104#endif |