cxx_manager.cc (10905:a6ca6831e775) cxx_manager.cc (10912:b99a6662d7c2)
1/*
2 * Copyright (c) 2014 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

639void
640CxxConfigManager::startup()
641{
642 DPRINTF(CxxConfig, "Starting up all objects\n");
643 forEachObject(&SimObject::startup);
644}
645
646unsigned int
1/*
2 * Copyright (c) 2014 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

639void
640CxxConfigManager::startup()
641{
642 DPRINTF(CxxConfig, "Starting up all objects\n");
643 forEachObject(&SimObject::startup);
644}
645
646unsigned int
647CxxConfigManager::drain(DrainManager *drain_manager)
647CxxConfigManager::drain()
648{
648{
649 unsigned int ret = 0;
650
651 for (auto i = objectsInOrder.begin(); i != objectsInOrder.end(); ++ i)
652 ret += (*i)->drain(drain_manager);
653
654 return ret;
649 return DrainManager::instance().tryDrain() ? 0 : 1;
655}
656
657void
658CxxConfigManager::drainResume()
659{
650}
651
652void
653CxxConfigManager::drainResume()
654{
660 forEachObject(&SimObject::drainResume);
655 DrainManager::instance().resume();
661}
662
663void
664CxxConfigManager::serialize(std::ostream &os)
665{
666 for (auto i = objectsInOrder.begin(); i != objectsInOrder.end(); ++ i) {
667 // (*i)->nameOut(os); FIXME, change access spec. for nameOut
668 os << '[' << (*i)->name() << "]\n";

--- 72 unchanged lines hidden ---
656}
657
658void
659CxxConfigManager::serialize(std::ostream &os)
660{
661 for (auto i = objectsInOrder.begin(); i != objectsInOrder.end(); ++ i) {
662 // (*i)->nameOut(os); FIXME, change access spec. for nameOut
663 os << '[' << (*i)->name() << "]\n";

--- 72 unchanged lines hidden ---