#
13103:ff21402d84f2 |
|
18-Sep-2018 |
Kevin Brodsky <kevin.brodsky@arm.com> |
util: Do not use $(PWD) in Makefiles
644e8cdf5ee7 ("util: Move the m5ops.h file to a shared directory") added include/ to the include path for m5 Makefiles, based on $(PWD): $(PWD)/../../include.
Unfortunately, this breaks when using `make -C <path>`, as -C does not move PWD accordingly. The fix is simply to remove $(PWD), as a relative path is just fine here.
Change-Id: Ia046c29761363b6670e52c52a604c7e70a6a305a Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com> Signed-off-by: Ciro Santilli <ciro.santilli@arm.com> Reviewed-by: Ciro Santilli <ciro.santilli@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/12844 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
|
#
12464:a02f2484c710 |
|
09-Dec-2017 |
Hanhwi Jang <jang.hanhwi@gmail.com> |
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>
|
#
12157:c27b548bad70 |
|
27-Jul-2017 |
Andreas Sandberg <andreas.sandberg@arm.com> |
util: Move the m5ops.h file to a shared directory
The header file m5ops.h contains a list of constants that should be shared between the simulator and utilities. Move this header file to a new top-level directory for shared files and rename constants to make them suitable for inclusion in the main simulator.
The structure of the shared include directory is as follows:
include/gem5: Files that can be included from C code. include/gem5/asm: Files that can be included from assembly code. asm/generic/: Files that aren't guest ISA specific asm/${isa}/: Files that are guest ISA specific
Change-Id: I1aa511057bcaa80cc2d566109ff26581558c4a41 Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jose Marinho <jose.marinho@arm.com> Reviewed-on: https://gem5-review.googlesource.com/4261 Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
|
#
10151:2434d2fa50b6 |
|
01-Apr-2014 |
Anthony Gutierrez <atgutier@umich.edu> |
arm: fix typos in makefile for ARM m5 util and link statically
1) fixes a typo for clean target libgemOpJni.so -> libgem5OpJni.so 2) addes jni_gem5Op.h to clean since it is added during make 3) links the m5 utility statically since it won't work on some images otherwise
|
#
9821:afa9f7f4ee46 |
|
14-Aug-2013 |
Anthony Gutierrez <atgutier@umich.edu> |
arm: use -march when compiling m5op_arm.S
Using arm-linux-gnueabi-gcc 4.7.3-1ubuntu1 on Ubuntu 13.04 to compiled the m5 binary yields the error:
m5op_arm.S: Assembler messages: m5op_arm.S:85: Error: selected processor does not support ARM mode `bxj lr'
For each of of the SIMPLE_OPs. Apparently, this compiler doesn't like the interworking of these code types for the default arch. Adding -march=armv7-a makes it compile. Another alternative that I found to work is replacing the bxj lr instruction with mov pc, lr, but I don't know how that affects the KVM stuff and if bxj is needed.
|
#
9685:eb075b2b925a |
|
07-May-2013 |
Andreas Sandberg <andreas@sandberg.pp.se> |
arm: Make libm5 a dependency of the m5 utility
The m5 utility wasn't relinked properly since libm5.a wasn't a dependency of the utility. This changeset addresses that issue.
|
#
9333:b037944e4908 |
|
08-Oct-2012 |
James Clarkson <james.clarkson@arm.com> |
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>); }
|
#
9192:0fd64ccb4c93 |
|
07-Sep-2012 |
Ali Saidi <Ali.Saidi@ARM.com> |
ARM: Fix the compiler and platform identification for building on ARM.
|
#
8547:5979b029bbb4 |
|
13-Sep-2011 |
Prakash Ramrakhyani <prakash.ramrakhyani@arm.com> |
gem5ops: Implement Java JNI for gem5Ops
These ops allow gem5 ops to be called from within java programs like the following: import jni.gem5Op;
public class HelloWorld {
public static void main(String[] args) { gem5Op gem5 = new gem5Op(); System.out.println("Rpns0:" + gem5.rpns()); System.out.println("Rpns1:" + gem5.rpns()); }
static { System.loadLibrary("gem5OpJni"); } }
When building you need to make sure classpath include gem5OpJni.jar: javac -classpath $CLASSPATH:/path/to/gem5OpJni.jar HelloWorld.java
and when running you need to make sure both the java and library path are set: java -classpath $CLASSPATH:/path/to/gem5OpJni.jar -Djava.library.path=/path/to/libgem5OpJni.so HelloWorld
|
#
7732:a2c660de7787 |
|
08-Nov-2010 |
Ali Saidi <Ali.Saidi@ARM.com> |
ARM: Add support for M5 ops in the ARM ISA
|