packet.hh (9031:32ecc0217c5e) packet.hh (9044:904ddeecc653)
1/*
2 * Copyright (c) 2012 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

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

53#define __MEM_PACKET_HH__
54
55#include <bitset>
56#include <cassert>
57#include <list>
58
59#include "base/cast.hh"
60#include "base/compiler.hh"
1/*
2 * Copyright (c) 2012 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

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

53#define __MEM_PACKET_HH__
54
55#include <bitset>
56#include <cassert>
57#include <list>
58
59#include "base/cast.hh"
60#include "base/compiler.hh"
61#include "base/fast_alloc.hh"
62#include "base/flags.hh"
63#include "base/misc.hh"
64#include "base/printable.hh"
65#include "base/types.hh"
66#include "mem/request.hh"
67#include "sim/core.hh"
68
69class Packet;

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

222
223/**
224 * A Packet is used to encapsulate a transfer between two objects in
225 * the memory system (e.g., the L1 and L2 cache). (In contrast, a
226 * single Request travels all the way from the requester to the
227 * ultimate destination and back, possibly being conveyed by several
228 * different Packets along the way.)
229 */
61#include "base/flags.hh"
62#include "base/misc.hh"
63#include "base/printable.hh"
64#include "base/types.hh"
65#include "mem/request.hh"
66#include "sim/core.hh"
67
68class Packet;

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

221
222/**
223 * A Packet is used to encapsulate a transfer between two objects in
224 * the memory system (e.g., the L1 and L2 cache). (In contrast, a
225 * single Request travels all the way from the requester to the
226 * ultimate destination and back, possibly being conveyed by several
227 * different Packets along the way.)
228 */
230class Packet : public FastAlloc, public Printable
229class Packet : public Printable
231{
232 public:
233 typedef uint32_t FlagsType;
234 typedef ::Flags<FlagsType> Flags;
235
236 private:
237 static const FlagsType PUBLIC_FLAGS = 0x00000000;
238 static const FlagsType PRIVATE_FLAGS = 0x00007F0F;

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

353 {
354 virtual ~SenderState() {}
355 };
356
357 /**
358 * Object used to maintain state of a PrintReq. The senderState
359 * field of a PrintReq should always be of this type.
360 */
230{
231 public:
232 typedef uint32_t FlagsType;
233 typedef ::Flags<FlagsType> Flags;
234
235 private:
236 static const FlagsType PUBLIC_FLAGS = 0x00000000;
237 static const FlagsType PRIVATE_FLAGS = 0x00007F0F;

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

352 {
353 virtual ~SenderState() {}
354 };
355
356 /**
357 * Object used to maintain state of a PrintReq. The senderState
358 * field of a PrintReq should always be of this type.
359 */
361 class PrintReqState : public SenderState, public FastAlloc
360 class PrintReqState : public SenderState
362 {
363 private:
364 /**
365 * An entry in the label stack.
366 */
367 struct LabelStackEntry
368 {
369 const std::string label;

--- 504 unchanged lines hidden ---
361 {
362 private:
363 /**
364 * An entry in the label stack.
365 */
366 struct LabelStackEntry
367 {
368 const std::string label;

--- 504 unchanged lines hidden ---