lsq.hh (10368:a7cb233caa7b) lsq.hh (10379:c00f6d7e2681)
1/*
2 * Copyright (c) 2013-2014 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

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

263 LSQRequest::LSQRequestState state);
264
265 protected:
266 /** Special request types that don't actually issue memory requests */
267 class SpecialDataRequest : public LSQRequest
268 {
269 protected:
270 /** TLB interace */
1/*
2 * Copyright (c) 2013-2014 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

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

263 LSQRequest::LSQRequestState state);
264
265 protected:
266 /** Special request types that don't actually issue memory requests */
267 class SpecialDataRequest : public LSQRequest
268 {
269 protected:
270 /** TLB interace */
271 void finish(Fault fault_, RequestPtr request_, ThreadContext *tc,
272 BaseTLB::Mode mode)
271 void finish(const Fault &fault_, RequestPtr request_,
272 ThreadContext *tc, BaseTLB::Mode mode)
273 { }
274
275 public:
276 /** Send single translation request */
277 void startAddrTranslation() { }
278
279 /** Get the head packet as counted by numIssuedFragments */
280 PacketPtr getHeadPacket()

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

324 { state = Complete; }
325 };
326
327 /** SingleDataRequest is used for requests that don't fragment */
328 class SingleDataRequest : public LSQRequest
329 {
330 protected:
331 /** TLB interace */
273 { }
274
275 public:
276 /** Send single translation request */
277 void startAddrTranslation() { }
278
279 /** Get the head packet as counted by numIssuedFragments */
280 PacketPtr getHeadPacket()

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

324 { state = Complete; }
325 };
326
327 /** SingleDataRequest is used for requests that don't fragment */
328 class SingleDataRequest : public LSQRequest
329 {
330 protected:
331 /** TLB interace */
332 void finish(Fault fault_, RequestPtr request_, ThreadContext *tc,
333 BaseTLB::Mode mode);
332 void finish(const Fault &fault_, RequestPtr request_,
333 ThreadContext *tc, BaseTLB::Mode mode);
334
335 /** Has my only packet been sent to the memory system but has not
336 * yet been responded to */
337 bool packetInFlight;
338
339 /** Has the packet been at least sent to the memory system? */
340 bool packetSent;
341

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

410 * each fragment */
411 std::vector<Request *> fragmentRequests;
412
413 /** Packets matching fragmentRequests to issue fragments to memory */
414 std::vector<Packet *> fragmentPackets;
415
416 protected:
417 /** TLB response interface */
334
335 /** Has my only packet been sent to the memory system but has not
336 * yet been responded to */
337 bool packetInFlight;
338
339 /** Has the packet been at least sent to the memory system? */
340 bool packetSent;
341

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

410 * each fragment */
411 std::vector<Request *> fragmentRequests;
412
413 /** Packets matching fragmentRequests to issue fragments to memory */
414 std::vector<Packet *> fragmentPackets;
415
416 protected:
417 /** TLB response interface */
418 void finish(Fault fault_, RequestPtr request_, ThreadContext *tc,
419 BaseTLB::Mode mode);
418 void finish(const Fault &fault_, RequestPtr request_,
419 ThreadContext *tc, BaseTLB::Mode mode);
420
421 public:
422 SplitDataRequest(LSQ &port_, MinorDynInstPtr inst_,
423 bool isLoad_, PacketDataPtr data_ = NULL,
424 uint64_t *res_ = NULL);
425
426 ~SplitDataRequest();
427

--- 299 unchanged lines hidden ---
420
421 public:
422 SplitDataRequest(LSQ &port_, MinorDynInstPtr inst_,
423 bool isLoad_, PacketDataPtr data_ = NULL,
424 uint64_t *res_ = NULL);
425
426 ~SplitDataRequest();
427

--- 299 unchanged lines hidden ---