Deleted Added
sdiff udiff text old ( 7694:de057cccee82 ) new ( 7697:05b1a077977b )
full compact
1/*
2 * Copyright (c) 2010 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

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

83 MustBeOne = 0x80
84 };
85 protected:
86 typedef std::multimap<Addr, int> PageTable;
87 PageTable lookupTable; // Quick lookup into page table
88
89 TlbEntry *table; // the Page Table
90 int size; // TLB Size
91
92 uint32_t _attr; // Memory attributes for last accessed TLB entry
93
94#if FULL_SYSTEM
95 TableWalker *tableWalker;
96#endif
97
98 /** Lookup an entry in the TLB
99 * @param vpn virtual address
100 * @param asn context id/address space id to use
101 * @param functional if the lookup should modify state
102 * @return pointer to TLB entrry if it exists
103 */
104 TlbEntry *lookup(Addr vpn, uint8_t asn, bool functional = false);
105

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

111 mutable Stats::Scalar write_hits;
112 mutable Stats::Scalar write_misses;
113 mutable Stats::Scalar write_acv;
114 mutable Stats::Scalar write_accesses;
115 Stats::Formula hits;
116 Stats::Formula misses;
117 Stats::Formula accesses;
118
119 int rangeMRU; //On lookup, only move entries ahead when outside rangeMRU
120
121 public:
122 typedef ArmTLBParams Params;
123 TLB(const Params *p);
124
125 virtual ~TLB();
126 int getsize() const { return size; }
127

--- 78 unchanged lines hidden ---