summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-03-09 16:26:18 -0400
committerbd <bdunahu@operationnull.com>2025-03-09 16:26:18 -0400
commit339ad951993aef22ef87f4dcdc9cb106a3c97572 (patch)
treeef79dc4b956c25f13d363473b4378f2b9eec7de5 /inc
parentfcf0358b0597b733f36b0c862bf18a98efdea224 (diff)
parent859d10eef015dde4a3428ffb555bc02b8b08341a (diff)
Merge remote-tracking branch 'origin/master' into bdunahu
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 0c86e97..d9d8ba7 100644
--- a/inc/cache.h
+++ b/inc/cache.h
@@ -21,7 +21,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;
private:
/**
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.