mshr_queue.hh (9725:0d4ee33078bb) mshr_queue.hh (10028:fb8c44de891a)
1/*
2 * Copyright (c) 2012-2013 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

--- 99 unchanged lines hidden (view full) ---

108 * any access.
109 */
110 MSHRQueue(const std::string &_label, int num_entries, int reserve,
111 int index);
112
113 /**
114 * Find the first MSHR that matches the provided address.
115 * @param addr The address to find.
1/*
2 * Copyright (c) 2012-2013 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

--- 99 unchanged lines hidden (view full) ---

108 * any access.
109 */
110 MSHRQueue(const std::string &_label, int num_entries, int reserve,
111 int index);
112
113 /**
114 * Find the first MSHR that matches the provided address.
115 * @param addr The address to find.
116 * @param is_secure True if the target memory space is secure.
116 * @return Pointer to the matching MSHR, null if not found.
117 */
117 * @return Pointer to the matching MSHR, null if not found.
118 */
118 MSHR *findMatch(Addr addr) const;
119 MSHR *findMatch(Addr addr, bool is_secure) const;
119
120 /**
121 * Find and return all the matching entries in the provided vector.
122 * @param addr The address to find.
120
121 /**
122 * Find and return all the matching entries in the provided vector.
123 * @param addr The address to find.
124 * @param is_secure True if the target memory space is secure.
123 * @param matches The vector to return pointers to the matching entries.
124 * @return True if any matches are found, false otherwise.
125 * @todo Typedef the vector??
126 */
125 * @param matches The vector to return pointers to the matching entries.
126 * @return True if any matches are found, false otherwise.
127 * @todo Typedef the vector??
128 */
127 bool findMatches(Addr addr, std::vector<MSHR*>& matches) const;
129 bool findMatches(Addr addr, bool is_secure,
130 std::vector<MSHR*>& matches) const;
128
129 /**
130 * Find any pending requests that overlap the given request.
131 * @param pkt The request to find.
131
132 /**
133 * Find any pending requests that overlap the given request.
134 * @param pkt The request to find.
135 * @param is_secure True if the target memory space is secure.
132 * @return A pointer to the earliest matching MSHR.
133 */
136 * @return A pointer to the earliest matching MSHR.
137 */
134 MSHR *findPending(Addr addr, int size) const;
138 MSHR *findPending(Addr addr, int size, bool is_secure) const;
135
136 bool checkFunctional(PacketPtr pkt, Addr blk_addr);
137
138 /**
139 * Allocates a new MSHR for the request and size. This places the request
140 * as the first target in the MSHR.
141 * @param pkt The request to handle.
142 * @param size The number in bytes to fetch from memory.

--- 88 unchanged lines hidden ---
139
140 bool checkFunctional(PacketPtr pkt, Addr blk_addr);
141
142 /**
143 * Allocates a new MSHR for the request and size. This places the request
144 * as the first target in the MSHR.
145 * @param pkt The request to handle.
146 * @param size The number in bytes to fetch from memory.

--- 88 unchanged lines hidden ---