sc_port.cc (13290:1e720f971554) | sc_port.cc (13324:c8b709468e61) |
---|---|
1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 19 unchanged lines hidden (view full) --- 28 */ 29 30#include <sstream> 31 32#include "base/logging.hh" 33#include "systemc/core/module.hh" 34#include "systemc/core/port.hh" 35#include "systemc/core/scheduler.hh" | 1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 19 unchanged lines hidden (view full) --- 28 */ 29 30#include <sstream> 31 32#include "base/logging.hh" 33#include "systemc/core/module.hh" 34#include "systemc/core/port.hh" 35#include "systemc/core/scheduler.hh" |
36#include "systemc/ext/channel/messages.hh" |
|
36#include "systemc/ext/core/sc_main.hh" 37#include "systemc/ext/core/sc_port.hh" 38 39namespace sc_core 40{ 41 42namespace 43{ --- 12 unchanged lines hidden (view full) --- 56} 57 58} 59 60sc_port_base::sc_port_base(const char *n, int max_size, sc_port_policy p) : 61 sc_object(n), _gem5Port(nullptr) 62{ 63 if (sc_is_running()) { | 37#include "systemc/ext/core/sc_main.hh" 38#include "systemc/ext/core/sc_port.hh" 39 40namespace sc_core 41{ 42 43namespace 44{ --- 12 unchanged lines hidden (view full) --- 57} 58 59} 60 61sc_port_base::sc_port_base(const char *n, int max_size, sc_port_policy p) : 62 sc_object(n), _gem5Port(nullptr) 63{ 64 if (sc_is_running()) { |
64 reportError("(E110) insert port failed", "simulation running", | 65 reportError(SC_ID_INSERT_PORT_, "simulation running", |
65 name(), kind()); 66 } 67 if (::sc_gem5::scheduler.elaborationDone()) { | 66 name(), kind()); 67 } 68 if (::sc_gem5::scheduler.elaborationDone()) { |
68 reportError("(E110) insert port failed", "elaboration done", | 69 reportError(SC_ID_INSERT_PORT_, "elaboration done", |
69 name(), kind()); 70 } 71 72 auto m = sc_gem5::pickParentModule(); | 70 name(), kind()); 71 } 72 73 auto m = sc_gem5::pickParentModule(); |
73 if (!m) { 74 reportError("(E100) port specified outside of module", 75 nullptr, name(), kind()); 76 } else { | 74 if (!m) 75 reportError(SC_ID_PORT_OUTSIDE_MODULE_, nullptr, name(), kind()); 76 else |
77 m->ports.push_back(this); | 77 m->ports.push_back(this); |
78 } | |
79 _gem5Port = new ::sc_gem5::Port(this, max_size); 80} 81 82sc_port_base::~sc_port_base() 83{ 84 delete _gem5Port; 85} 86 --- 23 unchanged lines hidden --- | 78 _gem5Port = new ::sc_gem5::Port(this, max_size); 79} 80 81sc_port_base::~sc_port_base() 82{ 83 delete _gem5Port; 84} 85 --- 23 unchanged lines hidden --- |