tlb.hh (9439:fce94f92ea0f) | tlb.hh (9535:508aebb47ca6) |
---|---|
1/* 2 * Copyright (c) 2010-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 --- 77 unchanged lines hidden (view full) --- 86 87 TlbEntry *table; // the Page Table 88 int size; // TLB Size 89 90 uint32_t _attr; // Memory attributes for last accessed TLB entry 91 92 TableWalker *tableWalker; 93 | 1/* 2 * Copyright (c) 2010-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 --- 77 unchanged lines hidden (view full) --- 86 87 TlbEntry *table; // the Page Table 88 int size; // TLB Size 89 90 uint32_t _attr; // Memory attributes for last accessed TLB entry 91 92 TableWalker *tableWalker; 93 |
94 /** Lookup an entry in the TLB 95 * @param vpn virtual address 96 * @param asn context id/address space id to use 97 * @param functional if the lookup should modify state 98 * @return pointer to TLB entrry if it exists 99 */ 100 TlbEntry *lookup(Addr vpn, uint8_t asn, bool functional = false); 101 | |
102 // Access Stats 103 mutable Stats::Scalar instHits; 104 mutable Stats::Scalar instMisses; 105 mutable Stats::Scalar readHits; 106 mutable Stats::Scalar readMisses; 107 mutable Stats::Scalar writeHits; 108 mutable Stats::Scalar writeMisses; 109 mutable Stats::Scalar inserts; --- 17 unchanged lines hidden (view full) --- 127 int rangeMRU; //On lookup, only move entries ahead when outside rangeMRU 128 129 bool bootUncacheability; 130 131 public: 132 typedef ArmTLBParams Params; 133 TLB(const Params *p); 134 | 94 // Access Stats 95 mutable Stats::Scalar instHits; 96 mutable Stats::Scalar instMisses; 97 mutable Stats::Scalar readHits; 98 mutable Stats::Scalar readMisses; 99 mutable Stats::Scalar writeHits; 100 mutable Stats::Scalar writeMisses; 101 mutable Stats::Scalar inserts; --- 17 unchanged lines hidden (view full) --- 119 int rangeMRU; //On lookup, only move entries ahead when outside rangeMRU 120 121 bool bootUncacheability; 122 123 public: 124 typedef ArmTLBParams Params; 125 TLB(const Params *p); 126 |
127 /** Lookup an entry in the TLB 128 * @param vpn virtual address 129 * @param asn context id/address space id to use 130 * @param functional if the lookup should modify state 131 * @return pointer to TLB entrry if it exists 132 */ 133 TlbEntry *lookup(Addr vpn, uint8_t asn, bool functional = false); 134 |
|
135 virtual ~TLB(); 136 int getsize() const { return size; } 137 138 void insert(Addr vaddr, TlbEntry &pte); 139 140 /** Reset the entire TLB */ 141 void flushAll(); 142 --- 123 unchanged lines hidden --- | 135 virtual ~TLB(); 136 int getsize() const { return size; } 137 138 void insert(Addr vaddr, TlbEntry &pte); 139 140 /** Reset the entire TLB */ 141 void flushAll(); 142 --- 123 unchanged lines hidden --- |