diff options
author | David Li <li.davidm96@gmail.com> | 2016-01-24 15:55:50 -0500 |
---|---|---|
committer | David Li <li.davidm96@gmail.com> | 2016-01-24 15:55:50 -0500 |
commit | c1fd66af614a1996d8e20f0e2789521de52dfc19 (patch) | |
tree | 52c449f2f64b3c5c061e5bafbe2d80de33076feb /src/lib.rs | |
parent | 210fff77d5ec0ab172aee309323168a052d489c3 (diff) |
Provide API to react to cache events
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -18,6 +18,7 @@ op_assign_traits, step_by)] extern crate elfloader32 as elfloader_lib; +pub mod cache; pub mod isa; pub mod memory; pub mod register_file; @@ -31,6 +32,7 @@ pub use elfloader_lib as elfloader; mod tests { #[test] fn cache_address_parsing() { + use cache::*; use isa::*; use memory::*; use std::rc::Rc; @@ -38,8 +40,10 @@ mod tests { let memory = Memory::new(16); let memory_ref = Rc::new(RefCell::new(memory)); - let dm_cache_word = DirectMappedCache::new(4, 1, memory_ref.clone()); - let dm_cache_doubleword = DirectMappedCache::new(4, 2, memory_ref.clone()); + let dm_cache_word = DirectMappedCache::new( + 4, 1, memory_ref.clone(), EmptyCacheEventHandler {}); + let dm_cache_doubleword = DirectMappedCache::new( + 4, 2, memory_ref.clone(), EmptyCacheEventHandler {}); assert_eq!(dm_cache_word.parse_address(Word(0xFFFFFFFD)), (0xFFFFFFF, 3, 1)); @@ -52,6 +56,7 @@ mod tests { use std::rc::Rc; use std::cell::RefCell; + use cache::*; use isa::*; use memory::*; @@ -104,7 +109,8 @@ mod tests { }); let memory_ref = Rc::new(RefCell::new(memory)); - let mut dm_cache = DirectMappedCache::new(4, 4, memory_ref.clone()); + let mut dm_cache = DirectMappedCache::new( + 4, 4, memory_ref.clone(), EmptyCacheEventHandler {}); assert_eq!(dm_cache.read_word(Word(0x10)), stall); |