summaryrefslogtreecommitdiff
path: root/inc/definitions.h
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 /inc/definitions.h
parent212a47482c5c037720aef726fcb2b7bb3a3acd67 (diff)
Add get_bit_fields, which parses cache fields from a memory address
Diffstat (limited to 'inc/definitions.h')
-rw-r--r--inc/definitions.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/inc/definitions.h b/inc/definitions.h
index 1593162..4b01be9 100644
--- a/inc/definitions.h
+++ b/inc/definitions.h
@@ -1,10 +1,26 @@
#ifndef DEFINITIONS_H
#define DEFINITIONS_H
+#include <cmath>
-/**
- * Defines common macros.
+/* The number of bits to specify a word in a line
*/
+#define LINE_SPEC 2
+#define LINE_SIZE (int)pow(2, 2)
-#define LINE_SIZE 4
+/* The number of bits to specify a memory line
+ * (/ (expt 2 15) 4)
+ */
+#define MEM_SPEC 13
+#define MEM_SIZE (int)pow(2, MEM_SPEC)
+
+/* The number of bits to specify a l1 cache line
+ */
+#define L1_CACHE_SPEC 5
+#define L1_CACHE_SIZE (int)pow(2, L1_CACHE_SPEC)
+
+/* Parses some bits.
+ */
+#define LAST(k, n) ((k) & ((1 << (n)) - 1))
+#define MID(k, m, n) LAST((k) >> (m), ((n) - (m)))
#endif /* DEFINITIONS_H_INCLUDED */