diff options
author | Hanhwi Jang <jang.hanhwi@gmail.com> | 2017-12-10 02:02:34 +0900 |
---|---|---|
committer | Hanhwi Jang <jang.hanhwi@gmail.com> | 2018-01-25 12:11:24 +0000 |
commit | 3ccef3dd7702530718f145c4c30061688ebe276f (patch) | |
tree | 2ca19a4ff18b9f27baff911bde45ee4ce633f305 /util/m5/Makefile.arm | |
parent | 83f2b253989fd6dfc8f48d5368ae351ade91cfc6 (diff) | |
download | gem5-3ccef3dd7702530718f145c4c30061688ebe276f.tar.xz |
util: Implement Lua module for m5ops.
This module allows m5ops to be executed in Lua programs.
To compile it (in util/m5):
The following command generates Lua moduel, gem5OpLua.so.
make -f Makefile.<arch> gem5OpLua.so
To use it:
First, put gem5OpLua.so in Lua library search path.
Then, import the module and execute the m5op function.
Example usage, creating a checkpoint.
m5 = require("gem5OpLua")
m5.do_checkpoint(0, 0)
Change-Id: Icc18a1fb6c050afeb1cf4558fbdc724fb26a90e2
Reviewed-on: https://gem5-review.googlesource.com/6541
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'util/m5/Makefile.arm')
-rw-r--r-- | util/m5/Makefile.arm | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/util/m5/Makefile.arm b/util/m5/Makefile.arm index 3e2842c6b..14d73538b 100644 --- a/util/m5/Makefile.arm +++ b/util/m5/Makefile.arm @@ -58,9 +58,14 @@ CFLAGS=-O2 -I $(JDK_PATH)/include/ -I $(JDK_PATH)/include/linux \ -I$(PWD)/../../include -march=armv7-a LDFLAGS=-L. -lm5 -static -LIB_OBJS=m5op_arm.o +LIB_OBJS=m5op_arm.o m5_mmap.o OBJS=m5.o JNI_OBJS=m5op_arm.o jni_gem5Op.o +LUA_OBJS=lua_gem5Op.o m5op_arm.o m5_mmap.o + +### Need to install lua5.1 library to compile gem5OpLua.so +LUA_HEADER_INCLUDE=$(shell pkg-config --cflags lua51) \ + -I/usr/include/x86_64-linux-gnu all: libm5.a m5 @@ -71,10 +76,10 @@ all: libm5.a m5 $(CC) $(CFLAGS) -o $@ -c $< m5: $(OBJS) libm5.a - $(CC) -o $@ $(OBJS) $(LDFLAGS) + $(CC) -o $@ $^ $(LDFLAGS) libm5.a: $(LIB_OBJS) - $(AR) rcs $@ $< + $(AR) rcs $@ $^ gem5OpJni: gem5OpJni.jar $(JNI_OBJS) $(CC) --shared -o lib$@.so $(JNI_OBJS) @@ -84,6 +89,12 @@ gem5OpJni.jar: $(JH) jni.gem5Op; \ $(JR) cvf $@ jni/*.class +lua_gem5Op.o: lua_gem5Op.c + $(CC) $(CFLAGS) $(LUA_HEADER_INCLUDE) -o $@ -c $< -fPIC + +gem5OpLua.so: $(LUA_OBJS) + $(CC) $(CFLAGS) $^ -o $@ -shared + clean: rm -f *.o m5 libgem5OpJni.so gem5OpJni.jar jni/*.class libm5.a \ - jni_gem5Op.h + jni_gem5Op.h gem5OpLua.so |