summaryrefslogtreecommitdiff
path: root/src/abstract_hardware_model.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/abstract_hardware_model.h')
-rw-r--r--src/abstract_hardware_model.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/abstract_hardware_model.h b/src/abstract_hardware_model.h
index 7066aa6..1138270 100644
--- a/src/abstract_hardware_model.h
+++ b/src/abstract_hardware_model.h
@@ -1,6 +1,8 @@
#ifndef ABSTRACT_HARDWARE_MODEL_INCLUDED
#define ABSTRACT_HARDWARE_MODEL_INCLUDED
+#ifdef __cplusplus
+
class core_t {
public:
virtual ~core_t() {}
@@ -9,9 +11,12 @@ public:
virtual bool warp_waiting_at_barrier( unsigned warp_id ) = 0;
};
+#endif
+
typedef unsigned address_type;
typedef unsigned addr_t;
+// these are operations the timing model can see
#define NO_OP -1
#define ALU_OP 1000
#define LOAD_OP 2000
@@ -19,4 +24,20 @@ typedef unsigned addr_t;
#define BRANCH_OP 4000
#define BARRIER_OP 5000
+typedef enum _memory_space_t {
+ undefined_space=0,
+ reg_space,
+ local_space,
+ shared_space,
+ param_space_unclassified,
+ param_space_kernel, /* input parameters on kernel entry points */
+ param_space_local_r, /* device functions can read this : input parameters on device functions */
+ param_space_local_w, /* device functions can write this : used for return values and locally declared param memory */
+ const_space,
+ tex_space,
+ surf_space,
+ global_space,
+ generic_space
+} memory_space_t;
+
#endif