summaryrefslogtreecommitdiff
path: root/util/m5/m5op.h
diff options
context:
space:
mode:
authorJames Clarkson <james.clarkson@arm.com>2012-10-09 12:58:25 +0100
committerJames Clarkson <james.clarkson@arm.com>2012-10-09 12:58:25 +0100
commitfdcfbda38d02097720a3215422ee2fc2018b61f7 (patch)
tree2e5bdac22bd0d6b51f0e219da6da9eff4d39ba28 /util/m5/m5op.h
parent81406018b0688e956452cd3e00c1ab9aeb9af764 (diff)
downloadgem5-fdcfbda38d02097720a3215422ee2fc2018b61f7.tar.xz
m5: Expose m5 pseudo-instructions to C/C++ via a static library
Updated the util/m5/Makefile.arm so that m5op_arm.S is used to create a static library - libm5.a. Allowing users to insert m5 psuedo-instructions into their applications for fine-grained checkpointing, switching cpus or dumping statistics. e.g. #include <m5op.h> void foo(){ ... m5_reset_stats(<delay>,<period>) m5_work_begin(<workid>,<threadid>); ... m5_work_end(<workid>,<threadid>); m5_dump_stats(<delay>,<period>); }
Diffstat (limited to 'util/m5/m5op.h')
-rw-r--r--util/m5/m5op.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/util/m5/m5op.h b/util/m5/m5op.h
index 4e1d0b638..9e693258e 100644
--- a/util/m5/m5op.h
+++ b/util/m5/m5op.h
@@ -32,6 +32,10 @@
#ifndef __M5OP_H__
#define __M5OP_H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include <stdint.h>
void arm(uint64_t address);
@@ -79,4 +83,7 @@ uint64_t m5a_getid(void);
#define M5_AN_FL_LINK 0x10
#define M5_AN_FL_RESET 0x20
+#ifdef __cplusplus
+}
+#endif
#endif // __M5OP_H__