Review Board 2.0.15


mem: Fix bugs in the PageTable cache that allow accessing uninitialized data

Review Request #1830 - Created April 19, 2013 and submitted - Latest diff uploaded

Information
Mitch Hayenga
gem5
Reviewers
Default
Fixes two bugs relating to software caching of PageTable entries.

The existing implementation can read uninitialized data or stale information from the cached PageTable entries.

1) Add a valid bit for the cache entries.  Simply using zero for the virtual address to signify invalid entries is not sufficient.  Speculative, wrong-path accesses frequently access page zero.  The current implementation would return a uninitialized TLB entry when address zero was accessed and the PageTable cache entry was invalid.

2) When unmapping/mapping/remaping a page, invalidate the corresponding PageTable cache entry if one already exists.