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 */ |
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 */ |
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 */ |
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 --- |