Gabe Black has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/28175 )
Change subject: util: Add the "sum" method to the java and lua m5 util
wrappers.
......................................................................
util: Add the "sum" method to the java and lua m5 util wrappers.
Change-Id: Id55dec87af3e0fc89da6c5471a2aa02443063108
---
M util/m5/src/jni/gem5Op.java
M util/m5/src/jni_gem5Op.c
M util/m5/src/lua_gem5Op.cc
3 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/util/m5/src/jni/gem5Op.java b/util/m5/src/jni/gem5Op.java
index 11403bf..968c4a2 100644
--- a/util/m5/src/jni/gem5Op.java
+++ b/util/m5/src/jni/gem5Op.java
@@ -52,6 +52,7 @@
public native void exit(long ns_delay);
public native void fail(long ns_delay, long code);
+ public native long sum(long a, long b, long c, long d, long e, long f);
public native long init_param(long key_str1, long key_str2);
public native void checkpoint(long ns_delay, long ns_period);
public native void reset_stats(long ns_delay, long ns_period);
diff --git a/util/m5/src/jni_gem5Op.c b/util/m5/src/jni_gem5Op.c
index 83a9512..fe8d41d 100644
--- a/util/m5/src/jni_gem5Op.c
+++ b/util/m5/src/jni_gem5Op.c
@@ -105,6 +105,16 @@
}
JNIEXPORT jlong JNICALL
+Java_jni_gem5Op_sum(JNIEnv *env, jobject obj, jlong a, jlong b, jlong c,
+ jlong d, jlong e, jlong f)
+{
+ uint64_t result = m5_sum(a, b, c, d, e, f);
+ if (result & 0x8000000000000000ULL)
+ printf("Truncated return value from sum() to 63 bits\n");
+ return (result & 0x7FFFFFFFFFFFFFFFULL);
+}
+
+JNIEXPORT jlong JNICALL
Java_jni_gem5Op_init_1param(JNIEnv *env, jobject obj, jlong j_key_str1,
jlong j_key_str2)
{
diff --git a/util/m5/src/lua_gem5Op.cc b/util/m5/src/lua_gem5Op.cc
index 3c8b204..e4d1d76 100644
--- a/util/m5/src/lua_gem5Op.cc
+++ b/util/m5/src/lua_gem5Op.cc
@@ -101,6 +101,20 @@
}
static int
+do_sum(lua_State *L)
+{
+ uint64_t a = lua_tointeger(L, 1);
+ uint64_t b = lua_tointeger(L, 2);
+ uint64_t c = lua_tointeger(L, 3);
+ uint64_t d = lua_tointeger(L, 4);
+ uint64_t e = lua_tointeger(L, 5);
+ uint64_t f = lua_tointeger(L, 6);
+ uint64_t sum = m5_sum(a, b, c, d, e, f);
+ lua_pushinteger(L, sum);
+ return 1;
+}
+
+static int
do_fail(lua_State *L)
{
uint64_t ns_delay = lua_tointeger(L, 1);
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28175
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Id55dec87af3e0fc89da6c5471a2aa02443063108
Gerrit-Change-Number: 28175
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <gabebl...@google.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s