From cf6dcc785562885621573d0700ee1b7787e2dfba Mon Sep 17 00:00:00 2001
From: David Li
Date: Mon, 11 Jan 2016 09:32:20 -0700
Subject: Fix read_word
---
src/main.rs | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
(limited to 'src/main.rs')
diff --git a/src/main.rs b/src/main.rs
index 2f607a6..e6b6385 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -86,15 +86,16 @@ fn main() {
let cache2 = memory::DirectMappedCache::new(2, 64, memory_ref.clone());
let cache2_ref = Rc::new(RefCell::new(cache2));
- let (cache1, cache2) = ShareableCache::new(cache_ref.clone(), cache2_ref.clone());
- let mut core_caches = vec![];
let mut cores = vec![];
+ let mut core_caches = vec![];
+
for i in 0..4 {
- let c1 = Rc::new(RefCell::new(cache1.clone()));
- core_caches.push(c1.clone());
+ let core_cache = Rc::new(RefCell::new(
+ ShareableCache::new(i, cache_ref.clone(), cache2_ref.clone())));
+ core_caches.push(core_cache.clone());
let mut core = simulator::Core::new(
- i, start1, (0x100000 * (i + 1)) as u32, c1,
+ i, start1, (0x100000 * (i + 1)) as u32, core_cache,
Box::new(memory::IdentityMmu::new())
);
core.registers().write_word(isa::Register::X10, i as isa::Word);
@@ -102,10 +103,11 @@ fn main() {
}
for i in 4..8 {
- let c2 = Rc::new(RefCell::new(cache2.clone()));
- core_caches.push(c2.clone());
+ let core_cache = Rc::new(RefCell::new(
+ ShareableCache::new(i, cache2_ref.clone(), cache_ref.clone())));
+ core_caches.push(core_cache.clone());
let mut core = simulator::Core::new(
- i, start2, (0x100000 * (i + 1)) as u32, c2,
+ i, start2, (0x100000 * (i + 1)) as u32, core_cache,
Box::new(memory::ReverseMmu::new(0x4000000))
);
core.registers().write_word(isa::Register::X10, i as isa::Word);
--
cgit v1.2.3