Bug fix: check if vm exists
[avr-sim.git] / Bus.cpp
blobe3c74642248fee5a973f11c21b21d3c0af8422b6
1 #include "Bus.h"
2 #include "Hardware.h"
3 #include "Util.h"
5 namespace avr {
7 Bus::Bus() {
8 irqPending.resize( intVectorsSize );
9 std::fill( irqPending.begin(), irqPending.end(), false );
12 Bus::~Bus() {
13 std::for_each( hardware.begin(), hardware.end(), Delete<Hardware>() );
16 void Bus::reset() {
17 clearAll();
19 std::list<Hardware*>::iterator it;
20 for(it = hardware.begin(); it != hardware.end(); ++it) {
21 (*it)->reset();
25 bool Bus::isHoldingCPU() {
26 bool holding = false;
28 std::list<Hardware*>::const_iterator it;
29 for(it = hardware.begin(); it != hardware.end(); ++it) {
30 holding = holding || (*it)->isHoldingCPU();
33 return holding;