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