From c1fd66af614a1996d8e20f0e2789521de52dfc19 Mon Sep 17 00:00:00 2001 From: David Li Date: Sun, 24 Jan 2016 15:55:50 -0500 Subject: Provide API to react to cache events --- src/lib.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 2aee390..a4def64 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -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); -- cgit v1.2.3