CacheMemory.hh (10973:4820cc8408b0) CacheMemory.hh (10974:bbdf1177f250)
1/*
2 * Copyright (c) 1999-2012 Mark D. Hill and David A. Wood
3 * Copyright (c) 2013 Advanced Micro Devices, Inc.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

69 bool isTagPresent(const Address& address) const;
70
71 // Returns true if there is:
72 // a) a tag match on this address or there is
73 // b) an unused line in the same cache "way"
74 bool cacheAvail(const Address& address) const;
75
76 // find an unused entry and sets the tag appropriate for the address
1/*
2 * Copyright (c) 1999-2012 Mark D. Hill and David A. Wood
3 * Copyright (c) 2013 Advanced Micro Devices, Inc.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

69 bool isTagPresent(const Address& address) const;
70
71 // Returns true if there is:
72 // a) a tag match on this address or there is
73 // b) an unused line in the same cache "way"
74 bool cacheAvail(const Address& address) const;
75
76 // find an unused entry and sets the tag appropriate for the address
77 AbstractCacheEntry* allocate(const Address& address, AbstractCacheEntry* new_entry);
77 AbstractCacheEntry* allocate(const Address& address,
78 AbstractCacheEntry* new_entry, bool touch);
79 AbstractCacheEntry* allocate(const Address& address,
80 AbstractCacheEntry* new_entry)
81 {
82 return allocate(address, new_entry, true);
83 }
78 void allocateVoid(const Address& address, AbstractCacheEntry* new_entry)
79 {
84 void allocateVoid(const Address& address, AbstractCacheEntry* new_entry)
85 {
80 allocate(address, new_entry);
86 allocate(address, new_entry, true);
81 }
82
83 // Explicitly free up this address
84 void deallocate(const Address& address);
85
86 // Returns with the physical address of the conflicting cache line
87 Address cacheProbe(const Address& address) const;
88

--- 91 unchanged lines hidden ---
87 }
88
89 // Explicitly free up this address
90 void deallocate(const Address& address);
91
92 // Returns with the physical address of the conflicting cache line
93 Address cacheProbe(const Address& address) const;
94

--- 91 unchanged lines hidden ---