gem5 v24.1.0.1
Loading...
Searching...
No Matches
ProtocolInfo.hh
Go to the documentation of this file.
1/* Copyright (c) 2024 Jason Lowe-Power
2 *
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are
5 * met: redistributions of source code must retain the above copyright
6 * notice, this list of conditions and the following disclaimer;
7 * redistributions in binary form must reproduce the above copyright
8 * notice, this list of conditions and the following disclaimer in the
9 * documentation and/or other materials provided with the distribution;
10 * neither the name of the copyright holders nor the names of its
11 * contributors may be used to endorse or promote products derived from
12 * this software without specific prior written permission.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
16 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
17 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
18 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
19 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
20 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27#ifndef __MEM_RUBY_SLICC_INTERFACE_PROTOCOL_INFO_HH__
28#define __MEM_RUBY_SLICC_INTERFACE_PROTOCOL_INFO_HH__
29
30#include <string>
31
32namespace gem5 {
33
34namespace ruby {
35
36/*
37 * This class is used to store information about a protocol.
38 * Each protocol will inherit from this class and define the values
39 * To add a new option, update this file and slicc/parser.py self.options
40 */
42{
43 private:
44 const std::string name;
45
46 protected:
47 const bool partialFuncReads;
50
51 public:
52 ProtocolInfo(std::string name, bool partial_func_reads,
53 bool use_secondary_load_linked,
54 bool use_secondary_store_conditional) :
55 name(name),
56 partialFuncReads(partial_func_reads),
57 useSecondaryLoadLinked(use_secondary_load_linked),
58 useSecondaryStoreConditional(use_secondary_store_conditional)
59 {
60 }
61
62 std::string getName() const { return name; }
63 bool getPartialFuncReads() const { return partialFuncReads; }
64 bool
69 bool
74
75};
76
77} // namespace ruby
78} // namespace gem5
79
80#endif // __MEM_RUBY_SLICC_INTERFACE_PROTOCOL_INFO_HH__
ProtocolInfo(std::string name, bool partial_func_reads, bool use_secondary_load_linked, bool use_secondary_store_conditional)
std::string getName() const
bool getPartialFuncReads() const
bool getUseSecondaryStoreConditional() const
const bool useSecondaryStoreConditional
const std::string name
const bool useSecondaryLoadLinked
bool getUseSecondaryLoadLinked() const
Copyright (c) 2024 Arm Limited All rights reserved.
Definition binary32.hh:36

Generated on Mon Jan 13 2025 04:28:40 for gem5 by doxygen 1.9.8