summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorSiddarth Suresh <155843085+SiddarthSuresh98@users.noreply.github.com>2025-03-09 12:51:30 -0400
committerGitHub <noreply@github.com>2025-03-09 12:51:30 -0400
commit859d10eef015dde4a3428ffb555bc02b8b08341a (patch)
tree9a7f7545d32fc488331143454603c07b9ccd732f /inc
parent212a47482c5c037720aef726fcb2b7bb3a3acd67 (diff)
parentb95d165981213ebdfba8862a5990e9891a5691f3 (diff)
Merge pull request #18 from bdunahu/dev-sid
Implement dram load
Diffstat (limited to 'inc')
-rw-r--r--inc/cache.h2
-rw-r--r--inc/dram.h5
-rw-r--r--inc/storage.h2
3 files changed, 6 insertions, 3 deletions
diff --git a/inc/cache.h b/inc/cache.h
index f1fb942..d470e6c 100644
--- a/inc/cache.h
+++ b/inc/cache.h
@@ -18,7 +18,7 @@ class Cache : public Storage
~Cache();
Response write(Accessor accessor, signed int data, int address) override;
- Response read(Accessor accessor, int address) override;
+ Response read(Accessor accessor, int address, std::array<signed int, LINE_SIZE>& data) override;
};
#endif /* CACHE_H_INCLUDED */
diff --git a/inc/dram.h b/inc/dram.h
index cfac799..1061d6b 100644
--- a/inc/dram.h
+++ b/inc/dram.h
@@ -16,7 +16,10 @@ class Dram : public Storage
~Dram();
Response write(Accessor accessor, signed int data, int address) override;
- Response read(Accessor accessor, int address) override;
+ Response read(Accessor accessor, int address, std::array<signed int, LINE_SIZE>& data) override;
+
+ private:
+ void do_read(std::array<signed int, LINE_SIZE>& data_line, int address);
};
#endif /* DRAM_H_INCLUDED */
diff --git a/inc/storage.h b/inc/storage.h
index 4bf4591..1fb41b0 100644
--- a/inc/storage.h
+++ b/inc/storage.h
@@ -32,7 +32,7 @@ class Storage
* @return a status code reflecting the state of the request, and the
* data being returned.
*/
- virtual Response read(Accessor accessor, int address) = 0;
+ virtual Response read(Accessor accessor, int address, std::array<signed int, LINE_SIZE>& data) = 0;
/**
* Sidedoor view of `lines` of memory starting at `base`.
* @param The base line to start getting memory from.