gem5  v20.0.0.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
messages.cc
Go to the documentation of this file.
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
9  * notice, this list of conditions and the following disclaimer in the
10  * documentation and/or other materials provided with the distribution;
11  * neither the name of the copyright holders nor the names of its
12  * contributors may be used to endorse or promote products derived from
13  * this software without specific prior written permission.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  */
27 
29 #include "systemc/utils/report.hh"
30 
31 namespace sc_core
32 {
33 
34 const char SC_ID_PORT_OUTSIDE_MODULE_[] = "port specified outside of module";
35 const char SC_ID_CLOCK_PERIOD_ZERO_[] = "sc_clock period is zero";
36 const char SC_ID_CLOCK_HIGH_TIME_ZERO_[] = "sc_clock high time is zero";
37 const char SC_ID_CLOCK_LOW_TIME_ZERO_[] = "sc_clock low time is zero";
39  "sc_fifo<T> cannot have more than one reader";
41  "sc_fifo<T> cannot have more than one writer";
43  "sc_fifo<T> must have a size of at least 1";
44 const char SC_ID_BIND_IF_TO_PORT_[] = "bind interface to port failed";
45 const char SC_ID_BIND_PORT_TO_PORT_[] = "bind parent port to port failed";
46 const char SC_ID_COMPLETE_BINDING_[] = "complete binding failed";
47 const char SC_ID_INSERT_PORT_[] = "insert port failed";
48 const char SC_ID_REMOVE_PORT_[] = "remove port failed";
49 const char SC_ID_GET_IF_[] = "get interface failed";
50 const char SC_ID_INSERT_PRIM_CHANNEL_[] = "insert primitive channel failed";
51 const char SC_ID_REMOVE_PRIM_CHANNEL_[] = "remove primitive channel failed";
53  "sc_signal<T> cannot have more than one driver";
54 const char SC_ID_NO_DEFAULT_EVENT_[] = "channel doesn't have a default event";
56  "resolved port not bound to resolved signal";
57 const char SC_ID_FIND_EVENT_[] = "find event failed";
59  "sc_semaphore requires an initial value >= 0";
61  "sc_export instance has no interface";
62 const char SC_ID_INSERT_EXPORT_[] = "insert sc_export failed";
64  "sc_export specified outside of module";
66  "remove sc_export failed, sc_export not registered";
68  "sc_export instance not bound to interface at end of construction";
70  "attempt to write the value of an sc_clock instance";
72  "sc_export instance already bound";
74  "attempted specalized signal operation on non-specialized signal";
76  "attempted to bind sc_clock instance to sc_inout or sc_out";
77 const char SC_ID_NO_ASYNC_UPDATE_[] =
78  "this build has no asynchronous update support";
79 
80 namespace
81 {
82 
83 sc_gem5::DefaultReportMessages predefinedMessages{
84  {100, SC_ID_PORT_OUTSIDE_MODULE_},
85  {101, SC_ID_CLOCK_PERIOD_ZERO_},
86  {102, SC_ID_CLOCK_HIGH_TIME_ZERO_},
87  {103, SC_ID_CLOCK_LOW_TIME_ZERO_},
88  {104, SC_ID_MORE_THAN_ONE_FIFO_READER_},
89  {105, SC_ID_MORE_THAN_ONE_FIFO_WRITER_},
90  {106, SC_ID_INVALID_FIFO_SIZE_},
91  {107, SC_ID_BIND_IF_TO_PORT_},
92  {108, SC_ID_BIND_PORT_TO_PORT_},
93  {109, SC_ID_COMPLETE_BINDING_},
94  {110, SC_ID_INSERT_PORT_},
95  {111, SC_ID_REMOVE_PORT_},
96  {112, SC_ID_GET_IF_},
97  {113, SC_ID_INSERT_PRIM_CHANNEL_},
98  {114, SC_ID_REMOVE_PRIM_CHANNEL_},
99  {115, SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_},
100  {116, SC_ID_NO_DEFAULT_EVENT_},
101  {117, SC_ID_RESOLVED_PORT_NOT_BOUND_},
102  {118, SC_ID_FIND_EVENT_},
103  {119, SC_ID_INVALID_SEMAPHORE_VALUE_},
104  {120, SC_ID_SC_EXPORT_HAS_NO_INTERFACE_},
105  {121, SC_ID_INSERT_EXPORT_},
106  {122, SC_ID_EXPORT_OUTSIDE_MODULE_},
107  {123, SC_ID_SC_EXPORT_NOT_REGISTERED_},
108  {124, SC_ID_SC_EXPORT_NOT_BOUND_AFTER_CONSTRUCTION_},
109  {125, SC_ID_ATTEMPT_TO_WRITE_TO_CLOCK_},
110  {126, SC_ID_SC_EXPORT_ALREADY_BOUND_},
111  {127, SC_ID_OPERATION_ON_NON_SPECIALIZED_SIGNAL_},
112  {128, SC_ID_ATTEMPT_TO_BIND_CLOCK_TO_OUTPUT_},
113  {129, SC_ID_NO_ASYNC_UPDATE_}
114 };
115 
116 } // anonymous namespace
117 
118 } // namespace sc_core
const char SC_ID_REMOVE_PRIM_CHANNEL_[]
Definition: messages.cc:51
const char SC_ID_CLOCK_HIGH_TIME_ZERO_[]
Definition: messages.cc:36
const char SC_ID_INSERT_EXPORT_[]
Definition: messages.cc:62
const char SC_ID_ATTEMPT_TO_WRITE_TO_CLOCK_[]
Definition: messages.cc:69
const char SC_ID_SC_EXPORT_NOT_BOUND_AFTER_CONSTRUCTION_[]
Definition: messages.cc:67
const char SC_ID_INSERT_PRIM_CHANNEL_[]
Definition: messages.cc:50
const char SC_ID_CLOCK_PERIOD_ZERO_[]
Definition: messages.cc:35
const char SC_ID_NO_ASYNC_UPDATE_[]
Definition: messages.cc:77
const char SC_ID_GET_IF_[]
Definition: messages.cc:49
const char SC_ID_COMPLETE_BINDING_[]
Definition: messages.cc:46
const char SC_ID_RESOLVED_PORT_NOT_BOUND_[]
Definition: messages.cc:55
const char SC_ID_MORE_THAN_ONE_FIFO_WRITER_[]
Definition: messages.cc:40
const char SC_ID_NO_DEFAULT_EVENT_[]
Definition: messages.cc:54
const char SC_ID_INSERT_PORT_[]
Definition: messages.cc:47
const char SC_ID_PORT_OUTSIDE_MODULE_[]
Definition: messages.cc:34
const char SC_ID_BIND_PORT_TO_PORT_[]
Definition: messages.cc:45
const char SC_ID_INVALID_SEMAPHORE_VALUE_[]
Definition: messages.cc:58
const char SC_ID_INVALID_FIFO_SIZE_[]
Definition: messages.cc:42
const char SC_ID_BIND_IF_TO_PORT_[]
Definition: messages.cc:44
const char SC_ID_OPERATION_ON_NON_SPECIALIZED_SIGNAL_[]
Definition: messages.cc:73
const char SC_ID_SC_EXPORT_ALREADY_BOUND_[]
Definition: messages.cc:71
const char SC_ID_CLOCK_LOW_TIME_ZERO_[]
Definition: messages.cc:37
const char SC_ID_SC_EXPORT_NOT_REGISTERED_[]
Definition: messages.cc:65
const char SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_[]
Definition: messages.cc:52
const char SC_ID_ATTEMPT_TO_BIND_CLOCK_TO_OUTPUT_[]
Definition: messages.cc:75
const char SC_ID_SC_EXPORT_HAS_NO_INTERFACE_[]
Definition: messages.cc:60
const char SC_ID_FIND_EVENT_[]
Definition: messages.cc:57
const char SC_ID_MORE_THAN_ONE_FIFO_READER_[]
Definition: messages.cc:38
const char SC_ID_EXPORT_OUTSIDE_MODULE_[]
Definition: messages.cc:63
const char SC_ID_REMOVE_PORT_[]
Definition: messages.cc:48

Generated on Mon Jun 8 2020 15:45:13 for gem5 by doxygen 1.8.13