base.cc (3894:60a7b0a3602f) | base.cc (3923:a8ce86366fd3) |
---|---|
1/* 2 * Copyright (c) 2002-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; --- 82 unchanged lines hidden (view full) --- 91const char * 92CPUProgressEvent::description() 93{ 94 return "CPU Progress event"; 95} 96 97#if FULL_SYSTEM 98BaseCPU::BaseCPU(Params *p) | 1/* 2 * Copyright (c) 2002-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; --- 82 unchanged lines hidden (view full) --- 91const char * 92CPUProgressEvent::description() 93{ 94 return "CPU Progress event"; 95} 96 97#if FULL_SYSTEM 98BaseCPU::BaseCPU(Params *p) |
99 : MemObject(p->name), clock(p->clock), instCnt(0), checkInterrupts(true), | 99 : MemObject(p->name), clock(p->clock), instCnt(0), |
100 params(p), number_of_threads(p->numberOfThreads), system(p->system), 101 phase(p->phase) 102#else 103BaseCPU::BaseCPU(Params *p) 104 : MemObject(p->name), clock(p->clock), params(p), 105 number_of_threads(p->numberOfThreads), system(p->system), 106 phase(p->phase) 107#endif --- 221 unchanged lines hidden (view full) --- 329 newTC->getProcessPtr()->replaceThreadContext(newTC, newTC->readCpuId()); 330#endif 331 332// TheISA::compareXCs(oldXC, newXC); 333 } 334 335#if FULL_SYSTEM 336 interrupts = oldCPU->interrupts; | 100 params(p), number_of_threads(p->numberOfThreads), system(p->system), 101 phase(p->phase) 102#else 103BaseCPU::BaseCPU(Params *p) 104 : MemObject(p->name), clock(p->clock), params(p), 105 number_of_threads(p->numberOfThreads), system(p->system), 106 phase(p->phase) 107#endif --- 221 unchanged lines hidden (view full) --- 329 newTC->getProcessPtr()->replaceThreadContext(newTC, newTC->readCpuId()); 330#endif 331 332// TheISA::compareXCs(oldXC, newXC); 333 } 334 335#if FULL_SYSTEM 336 interrupts = oldCPU->interrupts; |
337 checkInterrupts = oldCPU->checkInterrupts; | |
338 339 for (int i = 0; i < threadContexts.size(); ++i) 340 threadContexts[i]->profileClear(); 341 342 // The Sampler must take care of this! 343// if (profileEvent) 344// profileEvent->schedule(curTick); 345#endif --- 20 unchanged lines hidden (view full) --- 366BaseCPU::post_interrupt(int int_type) 367{ 368 interrupts.post(int_type); 369} 370 371void 372BaseCPU::post_interrupt(int int_num, int index) 373{ | 337 338 for (int i = 0; i < threadContexts.size(); ++i) 339 threadContexts[i]->profileClear(); 340 341 // The Sampler must take care of this! 342// if (profileEvent) 343// profileEvent->schedule(curTick); 344#endif --- 20 unchanged lines hidden (view full) --- 365BaseCPU::post_interrupt(int int_type) 366{ 367 interrupts.post(int_type); 368} 369 370void 371BaseCPU::post_interrupt(int int_num, int index) 372{ |
374 checkInterrupts = true; | |
375 interrupts.post(int_num, index); 376} 377 378void 379BaseCPU::clear_interrupt(int int_num, int index) 380{ 381 interrupts.clear(int_num, index); 382} --- 51 unchanged lines hidden --- | 373 interrupts.post(int_num, index); 374} 375 376void 377BaseCPU::clear_interrupt(int int_num, int index) 378{ 379 interrupts.clear(int_num, index); 380} --- 51 unchanged lines hidden --- |