summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-03-08 22:50:57 -0500
committerbd <bdunahu@operationnull.com>2025-03-08 22:50:57 -0500
commitebbbf190825d6d098116f6bdd5245a4498b17815 (patch)
treec4b51a7f89969fcbd92e9d49d0d8407c11d3b35b /src/utils
parent212a47482c5c037720aef726fcb2b7bb3a3acd67 (diff)
Add get_bit_fields, which parses cache fields from a memory address
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/utils.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/utils/utils.cc b/src/utils/utils.cc
new file mode 100644
index 0000000..b4bdb2f
--- /dev/null
+++ b/src/utils/utils.cc
@@ -0,0 +1,11 @@
+#include "definitions.h"
+#include "utils.h"
+
+void get_bit_fields(int address, int *tag, int *index, int *offset)
+{
+ *tag =
+ MID(address, LINE_SPEC + L1_CACHE_SPEC,
+ MEM_SPEC + LINE_SPEC + L1_CACHE_SPEC);
+ *index = MID(address, LINE_SPEC, L1_CACHE_SPEC + LINE_SPEC);
+ *offset = LAST(address, LINE_SPEC);
+}