pagetable_walker.hh (8229:78bf55f23338) pagetable_walker.hh (8711:c7e14f52c682)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
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

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

58 class Walker : public MemObject
59 {
60 protected:
61 // Port for accessing memory
62 class WalkerPort : public Port
63 {
64 public:
65 WalkerPort(const std::string &_name, Walker * _walker) :
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
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

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

58 class Walker : public MemObject
59 {
60 protected:
61 // Port for accessing memory
62 class WalkerPort : public Port
63 {
64 public:
65 WalkerPort(const std::string &_name, Walker * _walker) :
66 Port(_name, _walker), walker(_walker),
67 snoopRangeSent(false)
66 Port(_name, _walker), walker(_walker)
68 {}
69
70 protected:
71 Walker * walker;
72
67 {}
68
69 protected:
70 Walker * walker;
71
73 bool snoopRangeSent;
74
75 bool recvTiming(PacketPtr pkt);
76 Tick recvAtomic(PacketPtr pkt);
77 void recvFunctional(PacketPtr pkt);
72 bool recvTiming(PacketPtr pkt);
73 Tick recvAtomic(PacketPtr pkt);
74 void recvFunctional(PacketPtr pkt);
78 void recvStatusChange(Status status);
75 void recvRangeChange();
79 void recvRetry();
76 void recvRetry();
80 void getDeviceAddressRanges(AddrRangeList &resp,
81 bool &snoop)
82 {
83 resp.clear();
84 snoop = true;
85 }
77 bool isSnooping() { return true; }
86 };
87
88 friend class WalkerPort;
89 WalkerPort port;
90 Port *getPort(const std::string &if_name, int idx = -1);
91
92 // State to track each walk of the page table
93 class WalkerState : public FastAlloc

--- 112 unchanged lines hidden ---
78 };
79
80 friend class WalkerPort;
81 WalkerPort port;
82 Port *getPort(const std::string &if_name, int idx = -1);
83
84 // State to track each walk of the page table
85 class WalkerState : public FastAlloc

--- 112 unchanged lines hidden ---