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.
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;
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.
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;
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.
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;
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 ---