base.cc (5646:0a488a147fb8) base.cc (5647:b06b49498c79)
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;

--- 80 unchanged lines hidden (view full) ---

89const char *
90CPUProgressEvent::description() const
91{
92 return "CPU Progress";
93}
94
95#if FULL_SYSTEM
96BaseCPU::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;

--- 80 unchanged lines hidden (view full) ---

89const char *
90CPUProgressEvent::description() const
91{
92 return "CPU Progress";
93}
94
95#if FULL_SYSTEM
96BaseCPU::BaseCPU(Params *p)
97 : MemObject(p), clock(p->clock), instCnt(0),
97 : MemObject(p), clock(p->clock), instCnt(0), interrupts(p->interrupts),
98 number_of_threads(p->numThreads), system(p->system),
99 phase(p->phase)
100#else
101BaseCPU::BaseCPU(Params *p)
102 : MemObject(p), clock(p->clock),
103 number_of_threads(p->numThreads), system(p->system),
104 phase(p->phase)
105#endif

--- 270 unchanged lines hidden (view full) ---

376 }
377
378 cpu->schedule(this, curTick + interval);
379}
380
381void
382BaseCPU::post_interrupt(int int_num, int index)
383{
98 number_of_threads(p->numThreads), system(p->system),
99 phase(p->phase)
100#else
101BaseCPU::BaseCPU(Params *p)
102 : MemObject(p), clock(p->clock),
103 number_of_threads(p->numThreads), system(p->system),
104 phase(p->phase)
105#endif

--- 270 unchanged lines hidden (view full) ---

376 }
377
378 cpu->schedule(this, curTick + interval);
379}
380
381void
382BaseCPU::post_interrupt(int int_num, int index)
383{
384 interrupts.post(int_num, index);
384 interrupts->post(int_num, index);
385}
386
387void
388BaseCPU::clear_interrupt(int int_num, int index)
389{
385}
386
387void
388BaseCPU::clear_interrupt(int int_num, int index)
389{
390 interrupts.clear(int_num, index);
390 interrupts->clear(int_num, index);
391}
392
393void
394BaseCPU::clear_interrupts()
395{
391}
392
393void
394BaseCPU::clear_interrupts()
395{
396 interrupts.clear_all();
396 interrupts->clear_all();
397}
398
399void
400BaseCPU::serialize(std::ostream &os)
401{
402 SERIALIZE_SCALAR(instCnt);
397}
398
399void
400BaseCPU::serialize(std::ostream &os)
401{
402 SERIALIZE_SCALAR(instCnt);
403 interrupts.serialize(os);
403 interrupts->serialize(os);
404}
405
406void
407BaseCPU::unserialize(Checkpoint *cp, const std::string &section)
408{
409 UNSERIALIZE_SCALAR(instCnt);
404}
405
406void
407BaseCPU::unserialize(Checkpoint *cp, const std::string &section)
408{
409 UNSERIALIZE_SCALAR(instCnt);
410 interrupts.unserialize(cp, section);
410 interrupts->unserialize(cp, section);
411}
412
413#endif // FULL_SYSTEM
414
415void
416BaseCPU::traceFunctionsInternal(Addr pc)
417{
418 if (!debugSymbolTable)

--- 22 unchanged lines hidden ---
411}
412
413#endif // FULL_SYSTEM
414
415void
416BaseCPU::traceFunctionsInternal(Addr pc)
417{
418 if (!debugSymbolTable)

--- 22 unchanged lines hidden ---