This series introduces a new cache TCG plugin that models separate L1 data cache and L1 instruction cache and uses one shared cache for all the cores. This is a part of my work for GSoC 2021 under the mentorship of Alex Bennée.
v3 -> v4: Removed unnecessary includes. Removed an unused variable `insn_addr` in `vcpu_mem_access()`. Had a `default` label for switch statement spelt wrong. Fixed that. typedef'd all structs to reduce the clutter of using the word `struct` on every declaration (was causing many lines to be +80 characters...) Separated cache parameters to multiple arguments: iblksize, dcachesize, ..., etc. Produced a more descriptive error message when cache parameters are not appropriate. Included a patch to update the documentation of the plugins to include cache plugin. Included a patch to add myself as a reviewer for TCG plugins. (Ignore if not appropriate of course) Mahmoud Mandour (5): plugins: Added a new cache modelling plugin plugins/cache: Enable cache parameterization plugins/cache: Added FIFO and LRU eviction policies docs/devel: Added cache plugin to the plugins docs MAINTAINTERS: Added myself as a reviewer for TCG Plugins MAINTAINERS | 1 + contrib/plugins/Makefile | 1 + contrib/plugins/cache.c | 641 +++++++++++++++++++++++++++++++++++++ docs/devel/tcg-plugins.rst | 60 ++++ 4 files changed, 703 insertions(+) create mode 100644 contrib/plugins/cache.c -- 2.25.1