diff --git a/src/sim/system.hh b/src/sim/system.hh --- a/src/sim/system.hh +++ b/src/sim/system.hh @@ -60,6 +60,7 @@ #include "mem/port_proxy.hh" #include "mem/physical.hh" #include "params/System.hh" +#include "sim/se_signal.hh" /** * To avoid linking errors with LTO, only include the header if we @@ -544,6 +545,10 @@ /** Process set to track which PIDs have already been allocated */ std::set PIDs; + // By convention, all signals are owned by the receiving process. The + // receiver will delete the signal upon reception. + std::list signalList; + protected: /** diff --git a/src/sim/se_signal.hh b/src/sim/se_signal.hh new file mode 100644 --- /dev/null +++ b/src/sim/se_signal.hh @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2014-2016 Advanced Micro Devices, Inc. + * All rights reserved. + * + * For use for simulation and test purposes only + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * Authors: Brandon Potter + */ + +#ifndef __SE_SIGNAL_HH__ +#define __SE_SIGNAL_HH__ + +class Process; + +class BasicSignal { + public: + Process *sender; + Process *receiver; + int signal_ba; + + BasicSignal(Process *sender, Process *receiver, int signal_ba); + ~BasicSignal(); +}; + +#endif // __SE_SIGNAL_HH__ diff --git a/src/sim/se_signal.cc b/src/sim/se_signal.cc new file mode 100644 --- /dev/null +++ b/src/sim/se_signal.cc @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2014-2016 Advanced Micro Devices, Inc. + * All rights reserved. + * + * For use for simulation and test purposes only + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * Authors: Brandon Potter + */ + +#include "sim/se_signal.hh" + +BasicSignal::BasicSignal(Process *send, Process *receive, int signal) + : sender(send), + receiver(receive), + signal_ba(signal) +{ +} + + +BasicSignal::~BasicSignal() +{ +} # Node ID 85a344df47dd9f755fbea51d6b2b1bb8f278ba68 # Parent e576e1bd7cd6042d645a61752c9983bebabaebfd diff --git a/src/sim/SConscript b/src/sim/SConscript --- a/src/sim/SConscript +++ b/src/sim/SConscript @@ -67,6 +67,7 @@ Source('stat_register.cc', skip_no_python=True) Source('clock_domain.cc') Source('voltage_domain.cc') +Source('se_signal.cc') Source('linear_solver.cc') Source('system.cc') Source('dvfs_handler.cc')