[gem5-users] Cannot locate m5op.h under util/m5 directory

2019-02-17 Thread Mitali Sinha
Hi All,

I would like to create checkpoints in my C++ application in se mode. I was
following this
<http://arm.ecs.soton.ac.uk/wp-content/uploads/2016/10/gem5_tutorial.pdf>
tutorial where we need to include the header file m5op.h.

In the latest version of gem5, I can't find the m5op.h or m5ops.h file
under util/m5 directory.

Am I missing something? Can anyone please guide me on that?


Thanks and Regards,
Mitali Sinha,
Ph.D. Scholar, Advanced Multicore Systems Lab,
Department of Computer Science and Engineering,
Indraprastha Institute of Information Technology Delhi, India (IIITD),
website: https://www.iiitd.edu.in/noc/
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] [EXT] Full System Simulation complains about a missing "vmlinux.aarch32.ll_20131205.0-gem5"

2018-10-17 Thread Mitali Sinha
You should check in the configs/common/FSConfig.py. The kernel and dtb
names are mentioned there. The default names are set according to the 2014
image files. Since you are using the 2018 image, so gem5 is not able to
load your kernels and images.
You can do this:
1. Modify the names in FSConfig.py according to your downloaded images and
kernels.
2. Download the default one.

As you also mentioned that you have tried out the 2014 files, you should
again go check if all the files mentioned in FSConfig.py are matching
(kernel binaries and dtbs).

Regards,
Mitali Sinha,
Ph.D. Scholar, Advanced Multicore Systems Lab,
Department of Computer Science and Engineering,
Indraprastha Institute of Information Technology Delhi, India


On Wed, Oct 17, 2018 at 10:52 PM Vitorio Cargnini (lcargnini) <
lcargn...@micron.com> wrote:

> Amine,
>
> Two possible things:
>
> One: set M5_PATH environment variable
> Two: modify configs/common/SysPath.py and edit the path and remove /m5 and
> add your own path
>
> Try one of them or both fixes.
>
>
> Regards,
> Luis Vitorio.
>
>
> From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Amine
> Marref
> Sent: Wednesday, October 17, 2018 2:22 AM
> To: m5-us...@m5sim.org
> Subject: [EXT] [gem5-users] Full System Simulation complains about a
> missing "vmlinux.aarch32.ll_20131205.0-gem5"
>
> Dear All,
>
> I am trying to use gem5 in FS mode. When I pass the disk image's name to
> the simulation command, I get the error message " IOError: Can't find file
> 'vmlinux.aarch32.ll_20131205.0-gem5' on path".
>
> The disk image I am running is the one from the archive "
> http://www.gem5.org/dist/current/arm/aarch-system-20180409.tar.xz; which
> does not contain the file mentioned in the error message.
>
> Furthermore, I have used the flags --disk-image, --kernel, and --dtb to
> specify exactly the images/binaries that need to be used; however, with no
> luck.
>
> My M5_PATH is set correctly.
>
> In [1-5] below, I show relevant information to the issue.
>
> I also downloaded the system images contained in the archive "
> http://www.gem5.org/dist/current/arm/aarch-system-2014-10.tar.xz; (which
> contains the file mentioned in the error message), set the M5_PATH to point
> to the new location, and ran FS simulation. This time it did not produce
> the previous error message, but simulation got stuck after producing the
> message "Kernel panic in simulated kernel".
>
> I too am stuck. Any ideas?
>
> I am running gem version 2.0 inside a virtual machine of Ubuntu 16.04.
>
> Thanks,
> Amine.
>
> [1] The variable M5_PATH is set correctly.
> amine@ubuntu:~/Workspace/full-systems/aarch-system-20180409$ echo $M5_PATH
> /home/amine/Workspace/full-systems/aarch-system-20180409/
>
> [2] The content of the archive that contains the system images.
> amine@ubuntu:~/Workspace/full-systems/aarch-system-20180409$ ls -R
> .:
> binaries  disks  m5out  revisions
>
> ./binaries:
> aarch64_gem5_server.dtb
> armv7_gem5_v1_16cpu.dtb
> armv7_gem5_v1_1cpu.dtb
> armv7_gem5_v1_2cpu.dtb
> armv7_gem5_v1_4cpu.dtb
> armv7_gem5_v1_8cpu.dtb
> armv8_gem5_v1_16cpu.dtb
> armv8_gem5_v1_1cpu.dtb
> armv8_gem5_v1_2cpu.dtb
> armv8_gem5_v1_4cpu.dtb
> armv8_gem5_v1_8cpu.dtb
> armv8_gem5_v1_big_little_2_2.dtb
> armv8_gem5_v1_big_little_2_4.dtb
> binaries
> boot.arm
> boot_emm.arm
> boot_emm.arm64
> m5.aarch32
> m5.aarch64
> vexpress-v2p-ca15-tc1-gem5_1cpus.dtb
> vexpress-v2p-ca15-tc1-gem5_2cpus.dtb
> vexpress-v2p-ca15-tc1-gem5_4cpus.dtb
> vexpress-v2p-ca15-tc1-gem5_dvfs_1cpus.dtb
> vexpress-v2p-ca15-tc1-gem5_dvfs_2cpus.dtb
> vexpress-v2p-ca15-tc1-gem5_dvfs_4cpus.dtb
> vexpress-v2p-ca15-tc1-gem5_dvfs_per_core_2cpus.dtb
> vexpress-v2p-ca15-tc1-gem5_dvfs_per_core_4cpus.dtb
> vmlinux.vexpress_emm
> vmlinux.vexpress_emm64
> vmlinux.vexpress_gem5_v1
> vmlinux.vexpress_gem5_v1_64
>
> ./disks:
> aarch32-ubuntu-natty-headless.img   linaro-minimal-aarch64.img
> aarch64-ubuntu-trusty-headless.img  linux-aarch32-ael.img
>
> ./m5out:
> stats.txt
>
> ./revisions:
> gem5  linux  linux-arm64-legacy  linux-arm-legacy
>
> [4] Running FS simulation fails.
> amine@ubuntu:~/Workspace/full-systems/aarch-system-20180409$
> ~/Workspace/gem5/build/ARM/gem5.opt ~/Workspace/gem5/configs/example/fs.py
> --disk-image=/home/amine/Workspace/full-systems/aarch-system-20180409/disks/aarch64-ubuntu-trusty-headless.img
> gem5 Simulator System.  http://gem5.org
> gem5 is copyrighted software; use the --copyright option for details.
>
> gem5 compiled Oct 16 2018 21:43:32
> gem5 started Oct 17 2018 09:12:25
> gem5 executing on ubuntu, pid 5730
> command line: /home/am

[gem5-users] Error in running Moby(Asimbench) benchmark in gem5

2018-05-29 Thread Mitali Sinha
I have followed the instructions provided in the gem5.org website to run
the Moby benchmarks on gem5 as follows:

1.  Downloaded the Asimbench from
https://bitbucket.org/yongbing_huang/asimbench/downloads/ which contains
the following folders and files:
 1.  asimbench_android_arm_kernel :
vmlinux.smp.ics.arm.asimbench.2.6.35
 2.  asimbench_boot_scripts : contains the rcs scripts for
different benchmarks
 3.  asimbench_disk_image :
ARMv7a-ICS-Android.SMP.Asimbench-v3.img; sdcard-1g-mxplayer.img

2.  I have used the "armv7_gem5_v1_1cpu.dtb" and "boot_emm.arm" binaries
downloaded from http://www.gem5.org/dist/current/arm/
aarch-system-20180409.tar.xz.
<http://www.gem5.org/dist/current/arm/aarch-system-20180409.tar.xz>

3.  Made the following changes in the config/common/FSConfig.py :

def makeArmSystem(..)
.
self.cf0 = CowIdeDisk(driveID='master')
self.cf2 = CowIdeDisk(driveID='master')
self.cf0.childImage(mdesc.disk())
self.cf2.childImage(disk("sdcard-1g-mxplayer.img"))
# Old platforms have a built-in IDE or CF controller. Default to
# the IDE controller if both exist. New platforms expect the
# storage controller to be added from the config script.
if hasattr(self.realview, "ide"):
#self.realview.ide.disks = [self.cf0]
self.realview.ide.disks = [self.cf0, self.cf2]
elif hasattr(self.realview, "cf_ctrl"):
#self.realview.cf_ctrl.disks = [self.cf0]
self.realview.cf_ctrl.disks = [self.cf0, self.cf2]
else:
self.pci_ide = IdeController(disks=[self.cf0])
pci_devices.append(self.pci_ide)
...

4. Used the following command:

build/ARM/gem5.opt configs/example/fs.py --os-type=android-ics
--machine-type=VExpress_EMM --cpu-type=MinorCPU --caches
--disk-image=/home/sujay/gem5/full_system_asimbench/disks/ARMv7a-ICS-Android.SMP.Asimbench-v3.img
--kernel=/home/sujay/gem5/full_system_asimbench/binaries/vmlinux.smp.ics.arm.asimbench.2.6.35
--dtb-filename=/home/sujay/gem5/full_system_asimbench/binaries/armv7_gem5_v1_1cpu.dtb
--script=/home/sujay/gem5/full_system_asimbench/asimbench_boot_scripts/adobe.rcS


5. The above commands throw the following error:

  ..
Global frequency set at 1 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address range
assigned (512 Mbytes)
info: kernel located at:
/home/sujay/gem5/full_system_asimbench/binaries/vmlinux.smp.ics.arm.asimbench.2.6.35
Listening for system connection on port 5900
Listening for system connection on port 3456
0: system.remote_gdb: listening for remote gdb on port 7000
info: Using bootloader at address 0x10
info: Using kernel entry physical address at 0x80008000
warn: DTB file specified, but no device tree support in kernel
 REAL SIMULATION 
warn: Existing EnergyCtrl, but no enabled DVFSHandler found.
info: Entering event queue @ 0.  Starting simulation...

*warn: Device system.membus.badaddr_responder accessed by read to address
0x10009018 size=4fatal: Received error response packet for inst:
0/13.7/35/140.143 pc: 0x8003aba0 (ldr)*
Memory Usage: 823816 KBytes


Looking for some suggestion regarding successfully running the asimbench on
gem5. Any help is appreciated. Thanks in advance.


-- 
Mitali Sinha,
PhD Scholar,
IIIT Delhi
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Kernel panic - not syncing: No working init found.

2017-06-05 Thread Mitali Sinha
I am trying to run a simple hello world program in FS mode (ARM ISA)
following these steps:

$ wget http://www.m5sim.org/dist/current/arm/aarch-system-2014-10.tar.xz
$ tar xf aarch-system-2014-10.tar.xz
$  mkdir tmpdir
$ sudo mount -o loop,offset=32256 disks/aarch64-ubuntu-trusty-headless.img
tmpdir
$ cd tmpdir
$ cd etc/init
$ sudo cp /home/iiitd/Desktop/tty-gem5.conf .
$ cd..
$ cd sbin
$ sudo cp /home/iiitd/gem5/util/m5/m5 .
$ cd ..
$ sudo mkdir benchmark
$ sudo cp /home/iiitd/Desktop/mine/hello6 benchmark
$ cd..
$ sudo umount tmpdir
$ echo "export M5_PATH=/home/iiitd/full-system-2014" >> ~/.bashrc
$ source ~/.bashrc
$ cd gem5
$ build/ARM/gem5.opt configs/example/fs.py
--disk-image=/home/iiitd/full-system-2014/disks/aarch64-ubuntu-trusty-headless.img
--script=./home/iiitd/a.rcS

In another terminal:
$ cd gem5/util/term
$ ./m5term localhost 3457
 m5 slave terminal: Terminal 0 

Freeing unused kernel memory: 292K (806aa000 - 806f3000)
request_module: runaway loop modprobe binfmt-464c
Starting init: /sbin/init exists but couldn't execute it (error -8)
Starting init: /etc/init exists but couldn't execute it (error -13)
request_module: runaway loop modprobe binfmt-464c
Starting init: /bin/sh exists but couldn't execute it (error -8)
Kernel panic - not syncing: No working init found.  Try passing init=
option to kernel. See Linux Documentation/init.txt for guidance.
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.13.0-rc2 #1
[<80016954>] (unwind_backtrace+0x0/0xf4) from [<80012424>]
(show_stack+0x10/0x14)
[<80012424>] (show_stack+0x10/0x14) from [<804f9bd4>] (dump_stack+0x98/0xc4)
[<804f9bd4>] (dump_stack+0x98/0xc4) from [<804f6db4>] (panic+0xa0/0x1e4)
[<804f6db4>] (panic+0xa0/0x1e4) from [<804f4408>] (cpu_die+0x0/0x70)
[<804f4408>] (cpu_die+0x0/0x70) from [<>] (  (null))


I tried to use the recent images from "
http://www.m5sim.org/dist/current/arm/aarch-system-20170426.tar.xz and
followed the above steps.

:~/gem5$ build/ARM/gem5.opt configs/example/fs.py
--disk-image=/home/iiitd/full-system-2014/disks/aarch64-ubuntu-trusty-headless.img
--script=./home/iiitd/a.rcS

gem5 Simulator System.  http://gem5.org
---
-
Traceback (most recent call last):
  File "", line 1, in 
  File "/home/iiitd/gem5/src/python/m5/main.py", line 400, in main
exec filecode in scope
  File "configs/example/fs.py", line 341, in 
test_sys = build_test_system(np)
  File "configs/example/fs.py", line 103, in build_test_system
ruby=options.ruby)
  File "/home/iiitd/gem5/configs/common/FSConfig.py", line 304, in
makeArmSystem
self.kernel = binary(default_kernels[machine_type])
  File "/home/iiitd/gem5/configs/common/SysPaths.py", line 49, in binary
return searchpath(binary.path, filename)
  File "/home/iiitd/gem5/configs/common/SysPaths.py", line 41, in searchpath
raise IOError, "Can't find file '%s' on path." % filename
IOError: Can't find file 'vmlinux.aarch32.ll_20131205.0-gem5' on path.

In the newly downloaded binaries, there is no file called
"vmlinux.aarch32.ll_20131205.0-gem5". So, I think I have to change the dtb
and kernel names in FSConfig.py into appropriate one. But, I am not sure
which dtb and kernel shall we use. I tried with the following with no
success:

In FSConfig.py:
 default_dtbs = {
"RealViewEB": None,
"RealViewPBX": None,
 "VExpress_EMM": "armv7_gem5_v1_16cpu.20170426.dtb",
 "VExpress_EMM64":
"vexpress-v2p-ca15-tc1-gem5_4cpus.20170426.dtb",
}

default_kernels = {
"RealViewEB": "vmlinux.arm.smp.fb.2.6.38.8",
"RealViewPBX": "vmlinux.arm.smp.fb.2.6.38.8",
 "VExpress_EMM": "vmlinux.vexpress_gem5_v1.20170426",
 "VExpress_EMM64": "vmlinux.vexpress_gem5_v1_64.20170426",

}


Thank you.

-- 
Mitali Sinha,
PhD Scholar,
IIIT Delhi
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Segmentation fault running in FS mode

2017-05-21 Thread Mitali Sinha
I am trying to run a simple hello world C++ program in FS mode in ALPHA
ISA. I am following the steps as follows:

1) Cross compiling the program using a pre-compiled cross-compiler for
target ALPHA.

$ wget http://www.m5sim.org/dist/current/alphaev67-unknown-linux-gnu.tar.bz2
$ tar -xjvf alphaev67-unknown-linux-gnu.tar.bz2
$ export
CXX=/home/iiitd/Desktop/compiler/compiler/alphaev67-unknown-linux-gnu/bin
$  export
CC=/home/iiitd/Desktop/compiler/compiler/alphaev67-unknown-linux-gnu/bin
$ export
PATH=$PATH:/home/iiitd/Desktop/compiler/compiler/alphaev67-unknown-linux-gnu/bin
$  alphaev67-unknown-linux-gnu-g++ -static new1.cpp -o hello6

2) Placing the program into the disk image.

I have downloaded the Full system image file from http://gem5.org/Download.
$ ls test-full-system
binaries disks
$ ls test-full-system/disks
 linux-bigswap2.img linux-latest.img
$ cd test-full-system
$ mkdir tmpdir
$ ls tmpdir
benchmarks  bin  dev  etc  iscsi  lib  linuxrc  lost+found  mnt  modules
proc  sbin  sys  tmp  usr  var
$ sudo mount -o loop,offset=32256 disks/linux-latest.img tmpdir
$ cd tmpdir
$ sudo cp /home/iiitd/Desktop/hello6 benchmark
$ cd ..
$ sudo umount tmpdir

3) Created a .rcS file:

#! /bin/sh
cd benchmarks
/sbin/m5 dumpresetstats
echo "executing hello world"
./hello6
echo "Done"
/sbin/m5 exit

4) Run in Gem5

$ echo "export M5_PATH=/home/iiitd/test-full-system" >> ~/.bashrc
$ source ~/.bashrc
$ cd gem5
$ build/ALPHA/gem5.opt configs/example/fs.py
--disk-image=/home/iiitd/test-full-system/disks/linux-latest.img
--script=/home/iiitd/a.rcS

In another terminal:
$ cd util/term
$ ./m5term localhost 3457
 m5 slave terminal: Terminal 0 
M5 console: m5AlphaAccess @ 0xFD02
Got Configuration 623
memsize 2000 pages 1
First free page after ROM 0xFC018000
-
-
EXT2-fs warning: checktime reached, running e2fsck is recommended
loading script...
executing hello world
Segmentation fault
Done


Also, should I use the linux-bigswap2.img instead of linux-latest.img?
When I try to mount the linux-bigswap2.img, I get the following error:

$ sudo mount -o loop,offset=32256 disks/linux-bigswap2.img tmpdir
[sudo] password for iiitd:
NTFS signature is missing.
Failed to mount '/dev/loop2': Invalid argument
The device '/dev/loop2' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?





-- 
Mitali Sinha,
PhD Scholar,
IIIT Delhi
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Problem in using m5threads for multithreaded program

2017-05-10 Thread Mitali Sinha
I am trying to use the m5threads library for running a multithreaded
program in gem5. I am also cross compiling my program. My host is "x64" and
target is "arm". I have some doubts:

1. After running the makefile it creates a directory libpthread.a in the
m5threads directory and gives me the following warning:

 :~/Desktop/m5thread/m5threads$ make
   gcc -O3 -static   -c -o pthread.o pthread.c
   pthread.c: In function ‘pthread_create’:
   pthread.c:256:3: *warning: implicit declaration of function ‘clone’
[-Wimplicit-function-declaration]*
*   clone(__pthread_trampoline, tcb->stack_start_addr,
CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHA*
*   ^*
   ar rv libpthread.a pthread.o
   ar: creating libpthread.a
   a - pthread.o
   *make: Warning: Archive 'libpthread.a' seems to have been created in
deterministic mode. '' will always be updated. Please consider passing the
U flag to ar to avoid the problem.*
   rm pthread.o

 Does the above warning needs to be considered? If so what should I do?

2. After making the m5threads, how to link my program to it?
For example for using pthread library, I have to use "gcc -pthread".

3. Do I need to make any changes in my program to use the m5threads?


Thank you.
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Error in running a CNN benchmark in gem5 SE mode

2017-04-17 Thread Mitali Sinha
Hi,

I am trying to run tiny-dnn benchmarks (convolutional neural network
benchmarks written in C++ ) in gem5 SE mode.

Here are the steps I followed:

1. Cross-compiled some benchmark examples using a cross compiler (built
using croosstool-ng) for ARM.

2. Run the executable in gem5 SE mode using following command:
 $ ./build/ARM/gem5.opt configs/example/se.py -c
/home/iiitd/Desktop/tiny-dnn/examples/mnist/train -o
/home/iiitd/Desktop/tiny-dnn/data
---

Global frequency set at 1 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address
range assigned (512 Mbytes)
0: system.remote_gdb.listener: listening for remote gdb #0 on port
7000
warn: ClockedObject: More than one power state change request
encountered within the same simulation tick
 REAL SIMULATION 
info: Entering event queue @ 0.  Starting simulation...
fatal: syscall set_tid_address (#256) unimplemented.

3. I tried to ignore the error by making following changes in
arch/arm/linux/process.cc
SyscallDesc("set_tid_address", unimplementedFunc)
to SyscallDesc("set_tid_address", ignoreFunc)
SyscallDesc("set_robust_list", unimplementedFunc) to
 SyscallDesc("set_robust_list", ignoreFunc)

4. Run the following command
$ scons build/ARM/gem5.opt -j4
$ ./build/ARM/gem5.opt configs/example/se.py -c
/home/iiitd/Desktop/tiny-dnn/examples/mnist/train -o
/home/iiitd/Desktop/tiny-dnn/data
  
  ---
 Global frequency set at 1 ticks per second
 warn: DRAM device capacity (8192 Mbytes) does not match the address
range assigned (512 Mbytes)
 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
 warn: ClockedObject: More than one power state change request
encountered within the same simulation tick
  REAL SIMULATION 
 info: Entering event queue @ 0.  Starting simulation...
 warn: ignoring syscall set_tid_address(...)
 warn: ignoring syscall set_robust_list(...)
 warn: ignoring syscall rt_sigaction(...)
 (further warnings will be suppressed)
 warn: ignoring syscall rt_sigprocmask(...)
 (further warnings will be suppressed)
 warn: readlink() called on '/proc/self/exe' may yield unexpected
results in various settings.
 Returning '/home/iiitd/Desktop/tiny-dnn-master2/examples/mnist/train'
 info: Increasing stack size by one page.
 warn: ignoring syscall futex(...)
 (further warnings will be suppressed)
 load models...

The simulation freezes after the above steps. Any help is appreciated.

Thanks.
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users