cpu.cc (10331:ed05298e8566) | cpu.cc (10379:c00f6d7e2681) |
---|---|
1/* 2 * Copyright (c) 2011-2012, 2014 ARM Limited 3 * Copyright (c) 2013 Advanced Micro Devices, Inc. 4 * All rights reserved 5 * 6 * The license below extends only to copyright in the software and shall 7 * not be construed as granting a license to any other intellectual 8 * property including but not limited to intellectual property relating --- 1081 unchanged lines hidden (view full) --- 1090FullO3CPU<Impl>::getInterrupts() 1091{ 1092 // Check if there are any outstanding interrupts 1093 return this->interrupts->getInterrupt(this->threadContexts[0]); 1094} 1095 1096template <class Impl> 1097void | 1/* 2 * Copyright (c) 2011-2012, 2014 ARM Limited 3 * Copyright (c) 2013 Advanced Micro Devices, Inc. 4 * All rights reserved 5 * 6 * The license below extends only to copyright in the software and shall 7 * not be construed as granting a license to any other intellectual 8 * property including but not limited to intellectual property relating --- 1081 unchanged lines hidden (view full) --- 1090FullO3CPU<Impl>::getInterrupts() 1091{ 1092 // Check if there are any outstanding interrupts 1093 return this->interrupts->getInterrupt(this->threadContexts[0]); 1094} 1095 1096template <class Impl> 1097void |
1098FullO3CPU<Impl>::processInterrupts(Fault interrupt) | 1098FullO3CPU<Impl>::processInterrupts(const Fault &interrupt) |
1099{ 1100 // Check for interrupts here. For now can copy the code that 1101 // exists within isa_fullsys_traits.hh. Also assume that thread 0 1102 // is the one that handles the interrupts. 1103 // @todo: Possibly consolidate the interrupt checking code. 1104 // @todo: Allow other threads to handle interrupts. 1105 1106 assert(interrupt != NoFault); 1107 this->interrupts->updateIntrInfo(this->threadContexts[0]); 1108 1109 DPRINTF(O3CPU, "Interrupt %s being handled\n", interrupt->name()); 1110 this->trap(interrupt, 0, NULL); 1111} 1112 1113template <class Impl> 1114void | 1099{ 1100 // Check for interrupts here. For now can copy the code that 1101 // exists within isa_fullsys_traits.hh. Also assume that thread 0 1102 // is the one that handles the interrupts. 1103 // @todo: Possibly consolidate the interrupt checking code. 1104 // @todo: Allow other threads to handle interrupts. 1105 1106 assert(interrupt != NoFault); 1107 this->interrupts->updateIntrInfo(this->threadContexts[0]); 1108 1109 DPRINTF(O3CPU, "Interrupt %s being handled\n", interrupt->name()); 1110 this->trap(interrupt, 0, NULL); 1111} 1112 1113template <class Impl> 1114void |
1115FullO3CPU<Impl>::trap(Fault fault, ThreadID tid, StaticInstPtr inst) | 1115FullO3CPU<Impl>::trap(const Fault &fault, ThreadID tid, StaticInstPtr inst) |
1116{ 1117 // Pass the thread's TC into the invoke method. 1118 fault->invoke(this->threadContexts[tid], inst); 1119} 1120 1121template <class Impl> 1122void 1123FullO3CPU<Impl>::syscall(int64_t callnum, ThreadID tid) --- 746 unchanged lines hidden --- | 1116{ 1117 // Pass the thread's TC into the invoke method. 1118 fault->invoke(this->threadContexts[tid], inst); 1119} 1120 1121template <class Impl> 1122void 1123FullO3CPU<Impl>::syscall(int64_t callnum, ThreadID tid) --- 746 unchanged lines hidden --- |