mem: Allow read-only caches and check compliance
Review Request #2883 - Created June 10, 2015 and submitted
| Information | |
|---|---|
| Andreas Hansson | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 10884:3c905b624d7e --------------------------- mem: Allow read-only caches and check compliance This patch adds a parameter to the BaseCache to enable a read-only cache, for example for the instruction cache, or table-walker cache (not for x86). A number of checks are put in place in the code to ensure a read-only cache does not end up with dirty data. A follow-on patch adds suitable read requests to allow a read-only cache to explicitly ask for clean data.
-
configs/common/CacheConfig.py (Diff revision 1) -
I and D caches got swapped.
-
configs/common/Caches.py (Diff revision 1) -
Should be set to False by default
-
src/mem/cache/cache_impl.hh (Diff revision 1) -
So should we not set this block to be writeable only for notReadOnly caches.
Description: |
|
||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 2 (+56 -12) |
I don't have a problem with this, but I'm curious for a little more detail on the motivation---in particular, what's the rationale for using panic_if() instead of assert() (or chatty_assert()) in the checks? Do we really need to have these checks in even in gem5.fast?
Summary: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Diff: |
Revision 3 (+56 -12) |
Summary: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Diff: |
Revision 4 (+56 -12) |
I feel like chatty_assert() is kind of a goofy name, but that's a separate issue... (anyone for something short like "assertv()"?)
