packet.cc (9663:45df88079f04) packet.cc (10028:fb8c44de891a)
1/*
1/*
2 * Copyright (c) 2011-2012 ARM Limited
2 * Copyright (c) 2011-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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

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

167 /* Flush Request */
168 { SET3(IsRequest, IsFlush, NeedsExclusive), InvalidCmd, "FlushReq" },
169 /* Invalidation Request */
170 { SET3(NeedsExclusive, IsInvalidate, IsRequest),
171 InvalidCmd, "InvalidationReq" },
172};
173
174bool
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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

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

167 /* Flush Request */
168 { SET3(IsRequest, IsFlush, NeedsExclusive), InvalidCmd, "FlushReq" },
169 /* Invalidation Request */
170 { SET3(NeedsExclusive, IsInvalidate, IsRequest),
171 InvalidCmd, "InvalidationReq" },
172};
173
174bool
175Packet::checkFunctional(Printable *obj, Addr addr, int size, uint8_t *data)
175Packet::checkFunctional(Printable *obj, Addr addr, bool is_secure, int size,
176 uint8_t *data)
176{
177 Addr func_start = getAddr();
178 Addr func_end = getAddr() + getSize() - 1;
179 Addr val_start = addr;
180 Addr val_end = val_start + size - 1;
181
177{
178 Addr func_start = getAddr();
179 Addr func_end = getAddr() + getSize() - 1;
180 Addr val_start = addr;
181 Addr val_end = val_start + size - 1;
182
182 if (func_start > val_end || val_start > func_end) {
183 if (is_secure != _isSecure || func_start > val_end ||
184 val_start > func_end) {
183 // no intersection
184 return false;
185 }
186
187 // check print first since it doesn't require data
188 if (isPrint()) {
189 dynamic_cast<PrintReqState*>(senderState)->printObj(obj);
190 return false;

--- 218 unchanged lines hidden ---
185 // no intersection
186 return false;
187 }
188
189 // check print first since it doesn't require data
190 if (isPrint()) {
191 dynamic_cast<PrintReqState*>(senderState)->printObj(obj);
192 return false;

--- 218 unchanged lines hidden ---