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 --- 31 unchanged lines hidden (view full) --- 40#include "sim/cxx_manager.hh" 41 42#include <cstdlib> 43#include <sstream> 44 45#include "base/str.hh" 46#include "base/trace.hh" 47#include "debug/CxxConfig.hh" |
48#include "sim/serialize.hh" |
49#include "sim/sim_object.hh" |
50 51CxxConfigManager::CxxConfigManager(CxxConfigFileBase &configFile_) : 52 configFile(configFile_), flags(configFile_.getFlags()), 53 simObjectResolver(*this) 54{ 55} 56 57const CxxConfigDirectoryEntry & --- 388 unchanged lines hidden (view full) --- 446 447void 448CxxConfigManager::bindPort( 449 SimObject *master_object, const std::string &master_port_name, 450 PortID master_port_index, 451 SimObject *slave_object, const std::string &slave_port_name, 452 PortID slave_port_index) 453{ |
454 /* FIXME, check slave_port_index against connection_count 455 * defined for port, need getPortConnectionCount and a 456 * getCxxConfigDirectoryEntry for each object. */ 457 458 /* It would be nice to be able to catch the errors from these calls. */ |
459 Port &master_port = master_object->getPort( |
460 master_port_name, master_port_index); |
461 Port &slave_port = slave_object->getPort( |
462 slave_port_name, slave_port_index); 463 464 if (master_port.isConnected()) { 465 throw Exception(master_object->name(), csprintf( 466 "Master port: %s[%d] is already connected\n", master_port_name, 467 master_port_index)); 468 } 469 --- 246 unchanged lines hidden --- |