Re: [gem5-users] [EXT] Accessing logical (software) thread ID in gem5

2019-01-12 Thread Paul Rosenfeld (prosenfeld)
You’ll need to build a kernel with the extra annotations. I’m not sure if they 
are supported in the latest kernels but I know it was supported in v4.3. Here 
is the commit that adds those symbols: 
https://github.com/gem5/linux-arm-gem5-legacy/commit/516ba2d255b502b1dad07662bd18110f3bf37b1b

From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Shehab 
Elsayed
Sent: Friday, January 11, 2019 10:58 PM
To: gem5 users mailing list 
Subject: Re: [gem5-users] [EXT] Accessing logical (software) thread ID in gem5

Thank you all for your help. I have been trying to to get what Paul suggested 
to work, however, I keep running into this problem:

warn: Unable to find kernel symbol thread_info_task
warn: Kernel not compiled with task_struct info; can't get currently executing 
task/process/thread name/ids!

I am not sure what I need to modify in the kernel in order to get it to work. 
Any suggestions?

On Fri, Jan 11, 2019 at 9:27 AM Paul Rosenfeld (prosenfeld) 
mailto:prosenf...@micron.com>> wrote:
You could take the approach previously implemented by ARM, which is to add a 
few annotations to your kernel that allow you to find the task_info structures 
in kernel memory and then ask gem5 to hook the kernel process switch function. 
Each time the kernel context switches on a core, you get a callback into gem5 
and you can look up the process info. It’s been a while since I’ve worked on 
this sort of thing but you might be able to look at this patch for some hints 
about where to look:

https://gem5-review.googlesource.com/c/public/gem5/+/2640


Cheeers,
Paul

From: gem5-users 
[mailto:gem5-users-boun...@gem5.org<mailto:gem5-users-boun...@gem5.org>] On 
Behalf Of Shehab Elsayed
Sent: Thursday, January 10, 2019 11:53 AM
To: gem5-users@gem5.org<mailto:gem5-users@gem5.org>
Subject: [EXT] [gem5-users] Accessing logical (software) thread ID in gem5

Hello All,

I was wondering if there is a way to differentiate between different logical 
(software) threads in gem5. I am trying to collect some stats for each logical 
thread and so far all I could find in gem5 is access to physical threads. I 
know that logical threads is the responsibility of the OS but is there anyway 
for gem5 to access the logical thread ID.

One option is to pin threads to cores but this only works if the number of 
cores is at least equal to the number of logical threads. However, I will need 
to run some experiments where the number of logical threads exceed the number 
of cores, in which case, multiple logical threads will be assigned to the same 
core and in order to differentiate between them I need the logical thread ID.

Thank you very much in advance.

Best Regards,
Shehab
___
gem5-users mailing list
gem5-users@gem5.org<mailto:gem5-users@gem5.org>
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] [EXT] Accessing logical (software) thread ID in gem5

2019-01-11 Thread Paul Rosenfeld (prosenfeld)
You could take the approach previously implemented by ARM, which is to add a 
few annotations to your kernel that allow you to find the task_info structures 
in kernel memory and then ask gem5 to hook the kernel process switch function. 
Each time the kernel context switches on a core, you get a callback into gem5 
and you can look up the process info. It’s been a while since I’ve worked on 
this sort of thing but you might be able to look at this patch for some hints 
about where to look:

https://gem5-review.googlesource.com/c/public/gem5/+/2640


Cheeers,
Paul

From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Shehab 
Elsayed
Sent: Thursday, January 10, 2019 11:53 AM
To: gem5-users@gem5.org
Subject: [EXT] [gem5-users] Accessing logical (software) thread ID in gem5

Hello All,

I was wondering if there is a way to differentiate between different logical 
(software) threads in gem5. I am trying to collect some stats for each logical 
thread and so far all I could find in gem5 is access to physical threads. I 
know that logical threads is the responsibility of the OS but is there anyway 
for gem5 to access the logical thread ID.

One option is to pin threads to cores but this only works if the number of 
cores is at least equal to the number of logical threads. However, I will need 
to run some experiments where the number of logical threads exceed the number 
of cores, in which case, multiple logical threads will be assigned to the same 
core and in order to differentiate between them I need the logical thread ID.

Thank you very much in advance.

Best Regards,
Shehab
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] [EXT] Re: Workload Automation support in gem5?

2019-01-10 Thread Paul Rosenfeld (prosenfeld)
Ah, I guess that was the major difference between WA2 and WA3 that I missed was 
that the code was partitioned between devlib and WA.

Thank you for checking on that.

Cheers,
Paul


From: Ciro Santilli [mailto:ciro.santi...@arm.com]
Sent: Thursday, January 10, 2019 1:46 PM
To: gem5 users mailing list ; Paul Rosenfeld (prosenfeld) 

Subject: [EXT] Re: Workload Automation support in gem5?


I've received the following reply from WA people, though I don't fully 
understand it, here it is:

> WA3 still supports gem5, the actual gem5 platform is implemented in devlib 
> but there are gem5 "targets" available in WA that can be specified when 
> creating an agenda / in config files.


From: gem5-users  on behalf of Ciro Santilli 

Sent: Wednesday, January 9, 2019 4:48:03 PM
To: gem5 users mailing list; prosenf...@micron.com
Subject: Re: [gem5-users] Workload Automation support in gem5?


I have never run WA, but I believe that 9P is currently broken on gem5 master, 
and can be fixed with a patch similar to the one at: http://gem5.org/WA-gem5



I would also recommend opening an issue on the WA repository so that the WA 
devs will see the issue more clearly: 
https://github.com/ARM-software/workload-automation/issues


From: gem5-users  on behalf of Paul Rosenfeld 
(prosenfeld) 
Sent: Tuesday, January 8, 2019 3:45:15 PM
To: gem5 users mailing list
Subject: [gem5-users] Workload Automation support in gem5?


Hello all,



I was trying to set up Workload Automation and everything appears to be going 
well on the kernel/boot side but when I cloned the latest WA repo from 
https://github.com/ARM-software/workload-automation I didn't see any of the 
commands that mounted the 9P filesystem over VirtIO that used to be there. 
However, I did find these commands in the 'legacy' branch of WA. Is it correct 
that gem5-WA should the legacy branch instead of master? Is gem5 support 
deprecated in WA?



Thanks,

Paul
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Workload Automation support in gem5?

2019-01-08 Thread Paul Rosenfeld (prosenfeld)
Hello all,

I was trying to set up Workload Automation and everything appears to be going 
well on the kernel/boot side but when I cloned the latest WA repo from 
https://github.com/ARM-software/workload-automation I didn't see any of the 
commands that mounted the 9P filesystem over VirtIO that used to be there. 
However, I did find these commands in the 'legacy' branch of WA. Is it correct 
that gem5-WA should the legacy branch instead of master? Is gem5 support 
deprecated in WA?

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

Re: [gem5-users] [EXT] Re: Configuration visualizer

2018-01-04 Thread Paul Rosenfeld (prosenfeld)
It might just be that your graphviz installation wasn’t compiled with pdf 
support. You should be able to check by running:

dot -v



From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Timon 
Evenblij
Sent: Thursday, January 04, 2018 7:59 AM
To: gem5 users mailing list 
Subject: [EXT] Re: [gem5-users] Configuration visualizer

Thanks for the answer! I thought I had installed pydot but apparently not.
Installing pydot allows generating the visual config files, but it generates 
only svg. for pdf's it shows the following error:

['dot', '-Tpdf', '/tmp/tmpByuGfL'] return code: 1

stdout, stderr:

Format: "pdf" not recognized. Use one of: canon cmap cmapx cmapx_np dot eps fig 
gd gd2 gif gv imap imap_np ismap jpe jpeg jpg plain plain-ext png ps ps2 svg 
svgz tk vml vmlz vrml wbmp xdot

warn: failed to generate dot output from m5out/config.dot
Do I have to install something else? It seems like pydot does not support the 
pdf format by default.

Best regards

Timon


On Wed, Jan 3, 2018 at 3:33 PM, 조해윤 
> wrote:
Dear, Timon

Install pydot, and then rebuild gem5 and run simulation.
Then, you can see config.dot.pdf file which has the content like below.
[본문 이미지 1]

Best regards

Haeyoon Cho

2018-01-03 23:06 GMT+09:00 Timon Evenblij 
>:
Hi all,

I thought I once came across a tool to visualize the configuration used for a 
simulation in gem5, but I didn't look into it at the moment. Right now, this 
would be very useful, especially to visualize the configuration used for the 
memory hierarchy (i.e. how all memory objects are connected with all the 
ports). However, I cannot seem to find it. Did I misunderstood that such a tool 
exists, or can somebody point me into the right direction where to find it?

Otherwise, I would perhaps create a tool like that, so any tips or pitfalls are 
welcome as well.

Best regards

Timon

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


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

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

Re: [gem5-users] [EXT] Efficiently way put workloads in the full system image?

2017-12-08 Thread Paul Rosenfeld (prosenfeld)
Probably what I would recommend is to use the instructions described in the 
Workload Automation page (http://www.gem5.org/WA-gem5) to set up 9P filesystem 
over VirtIO. Although it does not explicitly state how to do it, with a bit of 
work you will be able to access the host file system from inside gem5.

After you get it set up and working, the procedure is as you describe: boot up 
to after login, create a checkpoint; restore the checkpoint, mount the host 
file system over VirtIO, copy the files you need into the guest, make your 
final checkpoint (either at the console or from inside the workload).

Hope that helps.

From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Hanhwi Jang
Sent: Friday, December 08, 2017 3:27 AM
To: gem5-users@gem5.org
Subject: [EXT] [gem5-users] Efficiently way put workloads in the full system 
image?

Hi,

I am fairly new to gem5 and trying to setup some workloads in a full-system 
image.
The given image from the official website works fine,
but my own image and kernel (ubuntu 16.04) are suffering from really slow 
booting.

It is really painful to wait a system to boot every time and make checkpoints 
for a new workload.
I want to make a checkpoint right after booting and reuse that checkpoint to 
setup a new workload.
Is there any way to upload file to system image in the middle of simulation, 
such as,
making some disk image having a workload and connecting that image to the 
simulated system as a new disk?

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

Re: [gem5-users] [EXT] Re: ARM v8 KVM - GEM5

2017-10-19 Thread Paul Rosenfeld (prosenfeld)
I'm afraid I can't help you with this directly, but one idea might be to run 
your commands through 'strace' and see how gem5 is trying to access /dev/kvm 
and how the kernel is reacting to these accesses.


From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Qureshi 
Yasir Mahmood
Sent: Thursday, October 19, 2017 12:24 PM
To: gem5 users mailing list 
Subject: [EXT] Re: [gem5-users] ARM v8 KVM - GEM5

Hi All,

Any idea why the ARM KVM model is not running in the following, please ? If I 
need to debug this, can someone suggest what debug flags should I be looking 
out for ?

Thank you

Regards
Yasir

From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Qureshi 
Yasir Mahmood
Sent: 18 October 2017 16:07
To: gem5-users@gem5.org
Subject: [gem5-users] ARM v8 KVM - GEM5

Hi All,

I am trying to use the ARMv8 KVM CPU model in FS mode. My gem5 is compiled and 
running on Cavium ThunderX machine (ARMv8 architecture). When I run the 
following without any sudo,

./build/ARM/gem5.fast  --remote-gdb-port=0 -d kvzr/kvzr_base 
configs/example/fs.py --kernel=vmlinux --machine-type=VExpress_GEM5_V1 
--dtb-file=/home/epfl/gem5/system/arm/dt/armv8_gem5_v1_16cpu.dtb 
--disk-image=test_kvzr.img -n 16 --cpu-clock=2GHz --caches --l2cache 
--l1i_size=64kB --l1d_size=32kB --l1i_assoc=2 --l1d_assoc=2 --l2_size=16MB 
--l2_assoc=16 --mem-type=DDR4_2400_4x16 --mem-ranks=4 --mem-size=16GB 
--sys-clock=1600MHz --cpu-type=ArmV8KvmCPU

fatal: KVM: Failed to open /dev/kvm
Memory Usage: 87808 Kbytes

If I put a sudo just at the start of the command, the error is as follows

Global frequency set at 1 ticks per second
info: kernel located at: /home/epfl/full_system_images/binaries/vmlinux
warn: Highest ARM exception-level set to AArch32 but bootloader is for AArch64. 
Assuming you wanted these to match.
panic: KVM: Failed to create device (errno: 19)
Memory Usage: 17142380 KBytes
Program aborted at tick 0
--- BEGIN LIBC BACKTRACE ---
./build/ARM/gem5.fast(_Z15print_backtracev+0x38)[0x18f1498]
./build/ARM/gem5.fast(_Z12abortHandleri+0x5c)[0x18fe8d4]
[0x9b0ec510]
/lib/aarch64-linux-gnu/libc.so.6(gsignal+0x38)[0x9a7e94e8]
--- END LIBC BACKTRACE ---
Aborted

I ran kvm-ok, and the output was the following

INFO: /dev/kvm exists
KVM acceleration can be used

My host kernel version is 4.4 and the simulated kernel version is 4.3

Any ideas, why KVM CPU model is not running on for ARM FS ?

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

[gem5-users] Build system failures with gem5.opt and libgem5.so

2017-05-05 Thread Paul Rosenfeld (prosenfeld)
Hello all, 

I'm encountering a somewhat strange issue with the latest gem5 master. In a 
fresh build directory, I can build either gem5.opt or libgem5_opt.so, but not 
one after the other. That is, when I run: 

rm -rf build
scons -j32 --without-python --with-cxx-config build/ARM/libgem5_opt.so

Everything compiles fine. However, when I run: 

rm -rf build
scons -j32 build/ARM/gem5.opt
scons -j32 --without-python --with-cxx-config build/ARM/libgem5_opt.so

Then I get this error: 

scons: Building targets ...
 [NEW DEPS] ARM/arch/arm/generated/inc.d -> arm-deps
 [ENVIRONS] arm-deps -> arm-environs
[   SHCXX] ARM/enums/AddrMap.cc -> .os
In file included from ext/pybind11/include/pybind11/pytypes.h:12:0,
 from ext/pybind11/include/pybind11/cast.h:13,
 from ext/pybind11/include/pybind11/attr.h:13,
 from ext/pybind11/include/pybind11/pybind11.h:36,
 from build/ARM/enums/AddrMap.cc:10:
ext/pybind11/include/pybind11/common.h:70:20: fatal error: Python.h: No such 
file or directory
 #include 
^
compilation terminated.

Now since we aren't supposed to have python in the mix in this library, I 
suspect that the configure step of gem5.opt is leaving behind some things that 
are getting picked up by the subsequent library build. 

if I reverse the build steps:
rm -rf build
scons -j32 --without-python --with-cxx-config build/ARM/libgem5_opt.so
scons -j32 build/ARM/gem5.opt

Both the library and binary build OK, but when I try to run gem5.opt with fs.py 
I get: 

Traceback (most recent call last):
  File "", line 1, in 
  File "/proj/adg/REV/sim/prosenfeld/rhel7/gem5/src/python/importer.py", line 
80, in load_module
exec code in mod.__dict__
  File "/proj/adg/REV/sim/prosenfeld/rhel7/gem5/src/python/m5/__init__.py", 
line 54, in 
from simulate import *
  File "/proj/adg/REV/sim/prosenfeld/rhel7/gem5/src/python/importer.py", line 
80, in load_module
exec code in mod.__dict__
  File "/proj/adg/REV/sim/prosenfeld/rhel7/gem5/src/python/m5/simulate.py", 
line 65, in 
"atomic" : objects.params.atomic,
AttributeError: 'module' object has no attribute 'atomic'

(This does not happen with a clean build of gem5.opt; the sim works fine if I 
first remove the build folder)

I'm afraid my scons skills aren't nearly good enough to figuring out where to 
look. Does anyone have any ideas?

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

[gem5-users] Crash when starting gem5/ARM workload automation

2017-03-27 Thread Paul Rosenfeld (prosenfeld)
Hello all, 

I have been following the instructions for setting up workload automation 
(http://gem5.org/WA-gem5) and I've hit a bit of a snag. I've compiled the ARM 
Linux kernel 4.3 (https://github.com/gem5/linux-arm-gem5) with the 9P options 
enabled, set up diod, and applied the patch to add the VirtIO9PDiod device to 
my gem5 simulation. I wanted to start up an Ubuntu machine and just run the 9P 
mount commands at the terminal as a test, but gem5 fails during kernel startup. 
It appears that when the kernel probes the PCI devices, the crossbar address 
ranges collide: 

fatal: system.iobus has two ports responding within range [0x2f001024 : 
0x2f001027]:
system.pci_ide.pio
system.realview.viopci.pio

If I turn on the AddrRanges debug I see this: 

system.iobus: Received range change from slave port system.realview.viopci.pio 
(master_port_id=9)
system.iobus: Adding range [0x2f001020 : 0x2f001039] for id 9
system.iobus: Aggregating address ranges
system.iobus: -- Adding range [0x1000 : 0x102b]
system.iobus: -- Adding range [0x1c01 : 0x1c0100d3]
system.iobus: -- Adding range [0x1c06 : 0x1c060ffe]
system.iobus: -- Adding range [0x1c07 : 0x1c070ffe]
system.iobus: -- Adding range [0x1c09 : 0x1c090ffe]
system.iobus: -- Adding range [0x1c17 : 0x1c170ffe]
system.iobus: -- Adding range [0x2f001000 : 0x2f00100f]
system.iobus: -- Adding range [0x2f001010 : 0x2f001017]
system.iobus: -- Adding range [0x2f001018 : 0x2f00101f]
system.iobus: -- Adding range [0x2f001020 : 0x2f001039]
system.iobus: -- Adding range [0x3000 : 0x3fff]
system.iobus: -- Adding range [0x8000 : 0xbfff]
system.iobus: Received range change from slave port system.pci_ide.pio 
(master_port_id=7)
system.iobus: Adding range [0x2f001010 : 0x2f001017] for id 7
system.iobus: Adding range [0x2f001024 : 0x2f001027] for id 7 <- 
fails here

The command line I'm running is: 
build/ARM/gem5.opt configs/example/fs.py --kernel=vmlinux-gem5-aarch64-9p 
--dtb=armv8_gem5_v1_1cpu.dtb --disk-image=aarch64-ubuntu-trusty-headless.img 
--machine-type=VExpress_GEM5_V1 -n 1 --mem-size=1GB

I get the same error for 32bit and 64bit ARM simulations. I've been stepping 
through the kernel to try to understand how these ranges are being determined, 
but in the mean time I was wondering if anyone had any ideas about how to fix 
this.  

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

Re: [gem5-users] --enable-context-switch-stats-dump crashes with aarch64

2017-03-09 Thread Paul Rosenfeld (prosenfeld)
Ok so after a bit of digging, I've figured out the issue. The kernel has 
different prototypes for __switch_to() for arch/arm and arch/arm64. 

In arm64, __switch_to() takes a pointer to the previous task_struct and the 
next task_struct [1]. In arm32, __switch_to() takes a task_struct pointer and 
two thread_info pointers [2]. 

The current implementation of thread_info functions in gem5 all assume that a 
thread_info address is passed in and thus always tries to extract the 
task_struct pointer before doing the copies of the fields. However, for arm64, 
we already have the task_struct and just need to copy from them directly. The 
only case where we don't have a task_struct in arm64 is where we don't pass in 
any pointer to curTaskInfo() and have to find it from the thread register [3]. 

I've created a proof of concept patch that fixes the context switch dumps for 
aarch64 but breaks them for aarch32 [4]. I wanted to get some input on how best 
to incorporate this patch upstream so that both aarch32 and aarch64 work. 

One idea is to add some helper functions that take in pointers to task_struct 
and do the CopyOut operations on the raw address. The functions that currently 
expect thread_info structs would first do the lookup to get the task_struct and 
then call these new helpers. Then, a new DumpPCEventAarch64 would be created 
that would use the task_struct-based getters from thread_info (basically same 
as [5]). Does this sound like a reasonable approach?

Regards, 
Paul

[1] 
https://github.com/gem5/linux-arm-gem5/blob/gem5/v4.3/arch/arm64/kernel/process.c#L311
  
[2] 
https://github.com/gem5/linux-arm-gem5/blob/gem5/v4.3/arch/arm/kernel/entry-v7m.S#L96
[3] 
https://github.com/KarateSnowMachine/gem5/pull/1/files#diff-5dd12731563ebe09b1ee1e033b917ba3R114
[4] https://github.com/KarateSnowMachine/gem5/pull/1/files 
[5] 
https://github.com/KarateSnowMachine/gem5/pull/1/files#diff-10f6b5e8e711c68fd5034bf3fab6a803R286

-Original Message-
From: Paul Rosenfeld (prosenfeld) 
Sent: Wednesday, March 08, 2017 9:35 AM
To: gem5 users mailing list <gem5-users@gem5.org>
Subject: --enable-context-switch-stats-dump crashes with aarch64

Hello all, 

I was hoping to enable the context switch stats dumps on an aarch64 simulation 
but I'm hitting an assertion failure and was wondering if anyone had any ideas 
before I try to dig into this. The failure is here: 

#2  0x015d89fa in ArmISA::vtophys (tc=0x81378e0, addr=25769804584) at 
build/ARM/arch/arm/vtophys.cc:104
104 panic("Table walkers support functional accesses. We should 
never get here\n");

(gdb) l
99  const std::pair<bool, Addr> translation(try_translate(tc, addr));
100
101 if (translation.first)
102 return translation.second;
103 else
104 panic("Table walkers support functional accesses. We should 
never get here\n");
105 }


What I'm doing is checkpointing the aarch64 Ubuntu headless image at the shell 
right before my program runs and restoring with 
--enable-context-switch-stats-dump. I've done the same procedure in an aarch32 
simulation and it works great. In case it is helpful, here is the relevant 
portion of the backtrace: 

#2  0x015d89fa in ArmISA::vtophys (tc=0x81378e0, addr=25769804584) at 
build/ARM/arch/arm/vtophys.cc:104
#3  0x010b76f7 in FSTranslatingPortProxy::readBlob (this=0x830be40, 
addr=25769804584, p=0x7fff9cd8 "", size=4) at 
build/ARM/mem/fs_translating_port_proxy.cc:83
#4  0x010b7963 in CopyOut (tc=0x81378e0, dest=0x7fff9cd8, 
src=25769804584, cplen=4) at build/ARM/mem/fs_translating_port_proxy.cc:129
#5  0x01564e67 in Linux::ThreadInfo::curTaskPID (this=0x7fff9d20, 
thread_info=18446743799249746636) at 
build/ARM/arch/generic/linux/threadinfo.hh:119
#6  0x015642c6 in DumpStatsPCEvent::process (this=0x5f6f320, 
tc=0x81378e0) at build/ARM/arch/arm/linux/system.cc:291
#7  0x01384e4e in PCEventQueue::doService (this=0x5cc0920, 
tc=0x81378e0) at build/ARM/cpu/pc_event.cc:107
#8  0x013a8046 in PCEventQueue::service (this=0x5cc0920, tc=0x81378e0) 
at build/ARM/cpu/pc_event.hh:108
#9  0x013ae4cb in DefaultCommit::commitInsts 
(this=0x813c6d8) at build/ARM/cpu/o3/commit_impl.hh:1099
#10 0x013ac4ce in DefaultCommit::commit (this=0x813c6d8) at 
build/ARM/cpu/o3/commit_impl.hh:928
#11 0x013ab535 in DefaultCommit::tick (this=0x813c6d8) at 
build/ARM/cpu/o3/commit_impl.hh:690
#12 0x013bbf9a in FullO3CPU::tick (this=0x813a000) at 
build/ARM/cpu/o3/cpu.cc:560
#13 0x013bfd7c in FullO3CPU::TickEvent::process 
(this=0x813a218) at build/ARM/cpu/o3/cpu.cc:148

I'm going to dig into this, but any hints are highly appreciated. 

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

[gem5-users] --enable-context-switch-stats-dump crashes with aarch64

2017-03-08 Thread Paul Rosenfeld (prosenfeld)
Hello all, 

I was hoping to enable the context switch stats dumps on an aarch64 simulation 
but I'm hitting an assertion failure and was wondering if anyone had any ideas 
before I try to dig into this. The failure is here: 

#2  0x015d89fa in ArmISA::vtophys (tc=0x81378e0, addr=25769804584) at 
build/ARM/arch/arm/vtophys.cc:104
104 panic("Table walkers support functional accesses. We should 
never get here\n");

(gdb) l
99  const std::pair translation(try_translate(tc, addr));
100
101 if (translation.first)
102 return translation.second;
103 else
104 panic("Table walkers support functional accesses. We should 
never get here\n");
105 }


What I'm doing is checkpointing the aarch64 Ubuntu headless image at the shell 
right before my program runs and restoring with 
--enable-context-switch-stats-dump. I've done the same procedure in an aarch32 
simulation and it works great. In case it is helpful, here is the relevant 
portion of the backtrace: 

#2  0x015d89fa in ArmISA::vtophys (tc=0x81378e0, addr=25769804584) at 
build/ARM/arch/arm/vtophys.cc:104
#3  0x010b76f7 in FSTranslatingPortProxy::readBlob (this=0x830be40, 
addr=25769804584, p=0x7fff9cd8 "", size=4) at 
build/ARM/mem/fs_translating_port_proxy.cc:83
#4  0x010b7963 in CopyOut (tc=0x81378e0, dest=0x7fff9cd8, 
src=25769804584, cplen=4) at build/ARM/mem/fs_translating_port_proxy.cc:129
#5  0x01564e67 in Linux::ThreadInfo::curTaskPID (this=0x7fff9d20, 
thread_info=18446743799249746636) at 
build/ARM/arch/generic/linux/threadinfo.hh:119
#6  0x015642c6 in DumpStatsPCEvent::process (this=0x5f6f320, 
tc=0x81378e0) at build/ARM/arch/arm/linux/system.cc:291
#7  0x01384e4e in PCEventQueue::doService (this=0x5cc0920, 
tc=0x81378e0) at build/ARM/cpu/pc_event.cc:107
#8  0x013a8046 in PCEventQueue::service (this=0x5cc0920, tc=0x81378e0) 
at build/ARM/cpu/pc_event.hh:108
#9  0x013ae4cb in DefaultCommit::commitInsts 
(this=0x813c6d8) at build/ARM/cpu/o3/commit_impl.hh:1099
#10 0x013ac4ce in DefaultCommit::commit (this=0x813c6d8) at 
build/ARM/cpu/o3/commit_impl.hh:928
#11 0x013ab535 in DefaultCommit::tick (this=0x813c6d8) at 
build/ARM/cpu/o3/commit_impl.hh:690
#12 0x013bbf9a in FullO3CPU::tick (this=0x813a000) at 
build/ARM/cpu/o3/cpu.cc:560
#13 0x013bfd7c in FullO3CPU::TickEvent::process 
(this=0x813a218) at build/ARM/cpu/o3/cpu.cc:148

I'm going to dig into this, but any hints are highly appreciated. 

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

Re: [gem5-users] Typo on wiki download page

2017-03-07 Thread Paul Rosenfeld (prosenfeld)
Thanks.

I think the download page is special somehow. I have an account and can edit 
other pages, but when I view source on the download page it says:


You do not have permission to edit this page, for the following reason:

This page has been protected to prevent editing or other actions.
Even if I’m logged in.

-Paul

From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Andreas 
Hansson
Sent: Tuesday, March 07, 2017 3:16 AM
To: gem5 users mailing list <gem5-users@gem5.org>
Subject: Re: [gem5-users] Typo on wiki download page

Thanks Paul! Sorted.

To the best of my knowledge, you should be able to simply create an account.

Andreas

From: gem5-users 
<gem5-users-boun...@gem5.org<mailto:gem5-users-boun...@gem5.org>> on behalf of 
"Paul Rosenfeld (prosenfeld)" 
<prosenf...@micron.com<mailto:prosenf...@micron.com>>
Reply-To: gem5 users mailing list 
<gem5-users@gem5.org<mailto:gem5-users@gem5.org>>
Date: Monday, 6 March 2017 at 19:42
To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>>
Subject: [gem5-users] Typo on wiki download page

Hello all,

I noticed a few problems on the download page ( http://gem5.org/Download ) but 
I don’t think I have permissions to edit that page.

This section heading still references the "mercurial repository" when 
discussing the git repo. Also, I believe the clone address should be https (I 
got an error when I tried with just http).

Regards,
Paul
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Typo on wiki download page

2017-03-06 Thread Paul Rosenfeld (prosenfeld)
Hello all,

I noticed a few problems on the download page ( http://gem5.org/Download ) but 
I don't think I have permissions to edit that page.

This section heading still references the "mercurial repository" when 
discussing the git repo. Also, I believe the clone address should be https (I 
got an error when I tried with just http).

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

Re: [gem5-users] stuck on booting Android kikat

2016-07-15 Thread Paul Rosenfeld (prosenfeld)
If you saw the Android logo this is a good sign. Keep waiting -- Android is 
very complicated and it's not surprising that it takes a while to simulate the 
boot process. 

To try to get some more information you can use m5term to connect to the 
machine. You should see a shell prompt. If so, you can try running 'dmesg' or 
'logcat' to try to get some more information about what is happening in the 
system. 

-Original Message-
From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Alomairy R.M.
Sent: Friday, July 15, 2016 4:59 AM
To: gem5 users mailing list 
Subject: Re: [gem5-users] stuck on booting Android kikat

Hello,
I connected  to it using VNC viewer and it showed me the android logo at the 
beginning and now the screen is black for 3 hours I don't know what is the link.

I followed the steps in android website to download the binary and the I 
followed gem5 wiki page. I can share the image with you if you want.

Thanks,
Rabab

Sent from my iPhone

On Jul 15, 2016, at 12:44 AM, Sebastian Cai 
> wrote:


You are already in the shell and everything is working correctly. If you want 
to see the graphical interface, just connect to it using a vnc viewer.

I've been trying to build the image myself, but is seems like I built it 
incorrectly. Did you follow the instructions on the actual AOSP website, or 
just the commands from the gem5 website?


Thanks,

Sebastian


From: gem5-users 
> on behalf of 
Alomairy R.M. >
Sent: Thursday, July 14, 2016 4:23 PM
To: gem5-users@gem5.org; 
m5-us...@m5sim.org
Subject: [gem5-users] stuck on booting Android kikat

Hello All,


I am trying to boot andoid kitkat image. I started building android kitkat 
image using this link: http://www.gem5.org/Android_KitKat
Android KitKat - gem5
www.gem5.org
Building Android KitKat for gem5 Overview. The easiest way to build Android for 
gem5 is to base the system on a the emulated Goldfish device. The main 
difference ...



When I run the img with --machine-type=RealView_PBX, I got " Aborted (core 
dumped) ".

I tried also running without using machine type option with the following 
command:

./build/ARM/gem5.opt configs/example/fs.py 
--kernel=/dist/m5/system/binaries/vmlinux 
--disk-image=/dist/m5/system/disks/android-kitkat_4.4.4_exact.img 
--cpu-type=atomic --frame-capture -n 1 --caches --l2cache --l1d_size=16kB 
--l1i_size=16kB --l2_assoc=16 --l2_size=2MB --mem-size=512MB 
--os-type=android-kitkat --mem-type=LPDDR2_S4_1066_x32

I got the following in the system console and the frame captured is black while 
Global frequency set at 1 ticks per second
info: kernel located at: /dist/m5/system/binaries/vmlinux Listening for system 
connection on port 5900 Listening for system connection on port 3456
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
info: Using bootloader at address 0x10
info: Using kernel entry physical address at 0x80008000
info: Loading DTB file: 
/dist/m5/system/binaries/vexpress.aarch32.ll_20131205.0-gem5.1cpu.dtb at 
address 0x8800
 REAL SIMULATION 
warn: Existing EnergyCtrl, but no enabled DVFSHandler found.
info: Entering event queue @ 0.  Starting simulation...
warn: Not doing anything for miscreg ACTLR
warn: Not doing anything for write of miscreg ACTLR
warn: The clidr register always reports 0 caches.
warn: clidr LoUIS field of 0b001 to match current ARM implementations.
warn: The csselr register isn't implemented.
warn: instruction 'mcr dccmvau' unimplemented
warn: instruction 'mcr icimvau' unimplemented
warn: instruction 'mcr bpiallis' unimplemented
warn: instruction 'mcr icialluis' unimplemented
warn: instruction 'mcr dccimvac' unimplemented
warn: Tried to read RealView I/O at offset 0x60 that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, 

Re: [gem5-users] Android KitKat stuck and not booting

2016-07-14 Thread Paul Rosenfeld (prosenfeld)
Yes, I built it using the instructions on the gem5 wiki from scratch and it 
worked fine for me.

From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Sebastian Cai
Sent: Thursday, July 14, 2016 6:25 PM
To: gem5 users mailing list <gem5-users@gem5.org>
Subject: Re: [gem5-users] Android KitKat stuck and not booting


I removed the --mem-size flag and its still the same error.

Did you build the android kitkat image and kernel from 
http://gem5.org/Android_KitKat?

Perhaps I built my image incorrectly.



Sebastian


From: gem5-users 
<gem5-users-boun...@gem5.org<mailto:gem5-users-boun...@gem5.org>> on behalf of 
Paul Rosenfeld (prosenfeld) 
<prosenf...@micron.com<mailto:prosenf...@micron.com>>
Sent: Thursday, July 14, 2016 12:19 PM
To: gem5 users mailing list
Subject: Re: [gem5-users] Android KitKat stuck and not booting


I'm not sure why that would happen. I don't see a --mem-size flag on my command 
line. Can you try removing it to see if it helps?



From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Sebastian Cai
Sent: Thursday, July 14, 2016 2:59 PM
To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>>
Subject: Re: [gem5-users] Android KitKat stuck and not booting



Hello,



I removed the --machine-type flag and used the vexpress dtb file, but I'm 
getting a gem5 error.

build/ARM/gem5.opt configs/example/fs.py 
--kernel=/home/scai/full_system_images/binaries/vmlinux-android --frame-capture 
--disk-image=/home/scai/full_system_images/disks/android-kitkat.img 
--os-type=android-kitkat 
--dtb-file=/home/scai/full_system_images/binaries/vexpress.aarch32.ll_20131205.0-gem5.1cpu.dtb
 --num-cpus=1 --mem-size=2GB
This gets the error:

fatal: Unable to find destination for addr 0x1c03 on system.iobus
 @ tick 117293668000
[findPort:build/ARM/mem/xbar.cc, line 358]
Memory Usage: 2441912 KBytes
Program aborted at tick 117293668000



There are a bunch of warns for unimplemented instructions, here is the whole 
gem5 output:

 REAL SIMULATION 
warn: Existing EnergyCtrl, but no enabled DVFSHandler found.
info: Entering event queue @ 0.  Starting simulation...
warn: The csselr register isn't implemented.
warn: The ccsidr register isn't implemented and always reads as 0.
warn: instruction 'mcr dcisw' unimplemented
warn: Not doing anything for miscreg ACTLR
warn: Not doing anything for write of miscreg ACTLR
warn: instruction 'mcr dccmvau' unimplemented
warn: instruction 'mcr icimvau' unimplemented
warn: instruction 'mcr bpiallis' unimplemented
warn: The clidr register always reports 0 caches.
warn: clidr LoUIS field of 0b001 to match current ARM implementations.
warn: instruction 'mcr icialluis' unimplemented
warn: instruction 'mcr dccimvac' unimplemented
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
warn: Tried to read RealView I/O at offset 0x60 that doesn't exist
warn: Tried to read RealView I/O at offset 0x48 that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
warn: CP14 unimplemented crn[1], opc1[0], crm[3], opc2[4]
warn: CP14 unimplemented crn[1], opc1[0], crm[0], opc2[4]
warn: CP14 unimplemented crn[0], opc1[0], crm[7], opc2[0]



Thank you for any advice you can give.

Sebastian





From: gem5-users 
<gem5-users-boun...@gem5.org<mailto:gem5-users-boun...@gem5.org>> on behalf of 
Paul Rosenfeld (prosenfeld) 
<prosenf...@micron.com<mailto:prosenf...@micron.com>>
Sent: 

Re: [gem5-users] Android KitKat stuck and not booting

2016-07-14 Thread Paul Rosenfeld (prosenfeld)
I'm not sure why that would happen. I don't see a --mem-size flag on my command 
line. Can you try removing it to see if it helps?

From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Sebastian Cai
Sent: Thursday, July 14, 2016 2:59 PM
To: gem5 users mailing list <gem5-users@gem5.org>
Subject: Re: [gem5-users] Android KitKat stuck and not booting


Hello,



I removed the --machine-type flag and used the vexpress dtb file, but I'm 
getting a gem5 error.
build/ARM/gem5.opt configs/example/fs.py 
--kernel=/home/scai/full_system_images/binaries/vmlinux-android --frame-capture 
--disk-image=/home/scai/full_system_images/disks/android-kitkat.img 
--os-type=android-kitkat 
--dtb-file=/home/scai/full_system_images/binaries/vexpress.aarch32.ll_20131205.0-gem5.1cpu.dtb
 --num-cpus=1 --mem-size=2GB
This gets the error:
fatal: Unable to find destination for addr 0x1c03 on system.iobus
 @ tick 117293668000
[findPort:build/ARM/mem/xbar.cc, line 358]
Memory Usage: 2441912 KBytes
Program aborted at tick 117293668000



There are a bunch of warns for unimplemented instructions, here is the whole 
gem5 output:
 REAL SIMULATION 
warn: Existing EnergyCtrl, but no enabled DVFSHandler found.
info: Entering event queue @ 0.  Starting simulation...
warn: The csselr register isn't implemented.
warn: The ccsidr register isn't implemented and always reads as 0.
warn: instruction 'mcr dcisw' unimplemented
warn: Not doing anything for miscreg ACTLR
warn: Not doing anything for write of miscreg ACTLR
warn: instruction 'mcr dccmvau' unimplemented
warn: instruction 'mcr icimvau' unimplemented
warn: instruction 'mcr bpiallis' unimplemented
warn: The clidr register always reports 0 caches.
warn: clidr LoUIS field of 0b001 to match current ARM implementations.
warn: instruction 'mcr icialluis' unimplemented
warn: instruction 'mcr dccimvac' unimplemented
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
warn: Tried to read RealView I/O at offset 0x60 that doesn't exist
warn: Tried to read RealView I/O at offset 0x48 that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
info: trap check M:0 N:0 1:0 2:0 hdcr 0, hcptr 3fff, hstr 0
warn: CP14 unimplemented crn[1], opc1[0], crm[3], opc2[4]
warn: CP14 unimplemented crn[1], opc1[0], crm[0], opc2[4]
warn: CP14 unimplemented crn[0], opc1[0], crm[7], opc2[0]



Thank you for any advice you can give.

Sebastian


From: gem5-users 
<gem5-users-boun...@gem5.org<mailto:gem5-users-boun...@gem5.org>> on behalf of 
Paul Rosenfeld (prosenfeld) 
<prosenf...@micron.com<mailto:prosenf...@micron.com>>
Sent: Thursday, July 14, 2016 6:49 AM
To: gem5 users mailing list; m5-us...@m5sim.org<mailto:m5-us...@m5sim.org>
Subject: Re: [gem5-users] Android KitKat stuck and not booting


I took a look at the flags I used when running KitKat. It looks like I omitted 
the --machine-type flag, had --os-type=android-kitkat and used the 
vexpress.aarch32 dtb.



Are you seeing the various "warn: unimplemented instructions" scrolling by in 
your gem5 output during boot?



From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Sebastian Cai
Sent: Wednesday, July 13, 2016 9:12 PM
To: m5-us...@m5sim.org<mailto:m5-us...@m5sim.org>
Subject: [gem5-users] Android KitKat stuck and not booting



Hello All,



I've built an Android KitKat image as per the instructions on 
http://gem5.org/Android_KitKat and compiled the kernel as well. The command 
line that I run is:

build/ARM/gem5.opt configs/example/fs.py 
--kernel=/home/scai/full_sy

Re: [gem5-users] Android KitKat stuck and not booting

2016-07-14 Thread Paul Rosenfeld (prosenfeld)
I took a look at the flags I used when running KitKat. It looks like I omitted 
the --machine-type flag, had --os-type=android-kitkat and used the 
vexpress.aarch32 dtb.

Are you seeing the various "warn: unimplemented instructions" scrolling by in 
your gem5 output during boot?

From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Sebastian Cai
Sent: Wednesday, July 13, 2016 9:12 PM
To: m5-us...@m5sim.org
Subject: [gem5-users] Android KitKat stuck and not booting


Hello All,



I've built an Android KitKat image as per the instructions on 
http://gem5.org/Android_KitKat and compiled the kernel as well. The command 
line that I run is:

build/ARM/gem5.opt configs/example/fs.py 
--kernel=/home/scai/full_system_images/binaries/vmlinux-android --frame-capture 
--machine-type=RealView_PBX 
--disk-image=/home/scai/full_system_images/disks/android-kitkat.img 
--os-type=android-kitkat --mem-size=200MB


However, when I connect via telnet or m5term, I just get:
 m5 slave terminal: Terminal 0 
with nothing running or booting, and I can't input anything.

Does anyone know what could be the issue? Perhaps I didn't use the correct 
kernel or the image file wasnt created properly?
Also there is a "warn: Kernel supports device tree, but no DTB file specified". 
I tried using all the different dtb files provided such as 
armv7_gem5_v1_1cpu.dtb and the vexpress ones. Which dtb file does android 
kitkat use?

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

Re: [gem5-users] Using NoMali on Full System Emulation for Linux on ARM

2016-06-24 Thread Paul Rosenfeld (prosenfeld)
While I haven't done this myself, I believe the process should be largely 
analogous to how it works with Android. I think the hardest part is going to be 
finding a Mali Linux userspace distribution that is compiled for a platform 
similar enough to what gem5 simulates (see here: 
http://malideveloper.arm.com/resources/drivers/arm-mali-midgard-gpu-user-space-drivers/
 ).

After that it's really a matter of compiling a kernel that has the mali kernel 
patches, installing the Mali userspace into your disk image, and making the 
necessary changes to the gem5 configs and kernel options (same as what you 
would do with Android).


From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Sebastian Cai
Sent: Friday, June 17, 2016 5:46 PM
To: m5-us...@m5sim.org
Subject: [gem5-users] Using NoMali on Full System Emulation for Linux on ARM


Hello All,



Just started looking at gem5 and using it, so bear with me.

I am currently trying to run some basic OpenGL programs through the full system 
emulation on Linux with ARM. There are lots of instructions and texts about 
running graphics programs on Android KitKat using the NoMali model, but I 
cannot seem to find anything at all on Linux.

So, how can I add the NoMali model to my Linux simulation and then proceed to 
run simple OpenGL programs on it.



Thanks

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

Re: [gem5-users] need help in finding papers

2016-01-23 Thread Paul Rosenfeld (prosenfeld)
http://gem5.org/Publications  is probably a good place to start.

-Paul

From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Preethi 
Neelakantan
Sent: Saturday, January 23, 2016 7:31 PM
To: gem5-users@gem5.org
Subject: [gem5-users] need help in finding papers

Hello

I am going to be using GEM5 for my course level project at Texas A & M. I am 
looking for papers that have used gem5 for simulating it and printed the 
results.

Can you please tell me where I can find such papers?

Do u know of any such papers?

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

[gem5-users] Truncation warning in ARM util/m5

2015-12-30 Thread Paul Rosenfeld (prosenfeld)
Hello all,

I'm building the ARM m5 binary in the latest gem5 with arm-linux-gnueabihf-gcc 
(Ubuntu 14.04 x86_64) and I'm getting a truncation warning from the assembler:

$ make -f Makefile.arm
arm-linux-gnueabihf-gcc -O2 -I /include/ -I /include/linux -march=armv7-a -o 
m5op_arm.o -c m5op_arm.S
m5op_arm.S: Assembler messages:
m5op_arm.S:107: Warning: value 0x10110 truncated to 0x110
m5op_arm.S:108: Warning: value 0x0 truncated to 0x1110
arm-linux-gnueabihf-ar rcs libm5.a m5op_arm.o
arm-linux-gnueabihf-gcc  -O2 -I /include/ -I /include/linux -march=armv7-a -o 
m5.o -c m5.c
m5.c: In function 'read_file':
m5.c:99:14: warning: ignoring return value of ?write?, declared with attribute 
warn_unused_result [-Wunused-result]
 write(dest_fid, buf, len);
  ^
arm-linux-gnueabihf-gcc -o m5 m5.o -L. -lm5 -static

Is this something to be concerned about?

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

Re: [gem5-users] where to obtain 'vmlinux.aarch32.ll_20131205.0-gem5'?

2015-12-24 Thread Paul Rosenfeld (prosenfeld)
It should be in the ARM full system files: 
http://www.gem5.org/dist/current/arm/aarch-system-2014-10.tar.xz

tar --list -f aarch-system-2014-10.tar | grep aarch32
binaries/vexpress.aarch32.ll_20131205.0-gem5.1cpu.dtb
binaries/vmlinux.aarch32.ll_20131205.0-gem5
binaries/vexpress.aarch32.ll_20131205.0-gem5.4cpu.dtb
binaries/vexpress.aarch32.ll_20131205.0-gem5.2cpu.dtb

From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Mahmood 
Naderan
Sent: Thursday, December 24, 2015 10:17 AM
To: gem5 users mailing list
Subject: [gem5-users] where to obtain 'vmlinux.aarch32.ll_20131205.0-gem5'?

Hi,
After some years, now getting back to gem5 for a test!
I followed the instructions on how to run bbench, however got an error that 
relates to a missing file

What is 'vmlinux.aarch32.ll_20131205.0-gem5'  and where can I obtain that? 
seems that a step is missing in the manual.




mahmood@orca:gem5$ echo $M5_PATH
/home/mahmood/gem5/system/

mahmood@orca:gem5$ ls system/disks/
ARMv7a-ICS-Android.SMP.nolock.img

mahmood@orca:gem5$ ls system/binaries/
android.m5.pbx.smp.mouse.config  vmlinux.smp.mouse.arm

mahmood@orca:gem5$ build/ARM/gem5.fast configs/example/fs.py -b bbench-ics 
--kernel=vmlinux.smp.mouse.arm --frame-capture
Couldn't import dot_parser, loading of dot files will not be possible.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Dec 24 2015 17:10:34
gem5 started Dec 24 2015 18:39:19
gem5 executing on orca, pid 5626
command line: build/ARM/gem5.fast configs/example/fs.py -b bbench-ics 
--kernel=vmlinux.smp.mouse.arm --frame-capture

Traceback (most recent call last):
  File "", line 1, in 
  File "/home/mahmood/gem5/src/python/m5/main.py", line 389, in main
exec filecode in scope
  File "configs/example/fs.py", line 339, in 
test_sys = build_test_system(np)
  File "configs/example/fs.py", line 102, in build_test_system
external_memory=options.external_memory_system)
  File "/home/mahmood/gem5/configs/common/FSConfig.py", line 294, in 
makeArmSystem
self.kernel = binary(default_kernels[machine_type])
  File "/home/mahmood/gem5/configs/common/SysPaths.py", line 49, in binary
return searchpath(binary.path, filename)
  File "/home/mahmood/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.



Regards,
Mahmood

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

Re: [gem5-users] DrainManager/Checkpoint changes broke SystemC support

2015-09-09 Thread Paul Rosenfeld (prosenfeld)
Thanks for pointing out those patches, Andreas. I missed those -- I'll try to 
apply those. 

Doing a clean build of yesterday's master I get this: 

g++ -I../../build/ARM -L../../build/ARM -I./systemc/include 
-L./systemc/lib-linux64 -std=c++0x -g -c -o main.o main.cc
main.cc: In member function 'void SimControl::run()':
main.cc:270:55: error: invalid use of incomplete type 'class Checkpoint'
 config_manager->getSimObjectResolver());
   ^
In file included from ../../build/ARM/cpu/static_inst.hh:46:0,
 from ../../build/ARM/arch/arm/utility.hh:54,
 from ../../build/ARM/arch/arm/pagetable.hh:49,
 from ../../build/ARM/arch/arm/faults.hh:51,
 from ../../build/ARM/arch/arm/interrupts.hh:46,
 from ../../build/ARM/arch/interrupts.hh:1,
 from ../../build/ARM/cpu/base.hh:57,
 from main.cc:64:
../../build/ARM/cpu/thread_context.hh:64:7: error: forward declaration of 
'class Checkpoint'
 class Checkpoint;
   ^
main.cc:285:49: error: no matching function for call to 
'CxxConfigManager::loadState(Checkpoint*&)'
 config_manager->loadState(checkpoint);
 ^
main.cc:285:49: note: candidate is: 
In file included from main.cc:66:0:
../../build/ARM/sim/cxx_manager.hh:295:10: note: void 
CxxConfigManager::loadState(CheckpointIn&)
 void loadState(CheckpointIn );
  ^
../../build/ARM/sim/cxx_manager.hh:295:10: note:   no known conversion for 
argument 1 from 'Checkpoint*' to 'CheckpointIn&'
In file included from ../../build/ARM/sim/sim_object.hh:60:0,
 from ../../build/ARM/arch/arm/interrupts.hh:54,
 from ../../build/ARM/arch/interrupts.hh:1,
 from ../../build/ARM/cpu/base.hh:57,
 from main.cc:64:
../../build/ARM/sim/drain.hh:96:5: error: 'DrainManager::DrainManager()' is 
private
 DrainManager();

[SNIP -- other DrainManager/Checkpoint errors follow]

As far as I can tell if I delete the DrainManager instance (now it is global) 
and adjust the prototypes of the DrainManager-related function calls I can get 
those errors to go away. I'll have to figure out where the Checkpoint API got 
changed. 

Abdul, would you be willing to share your patch?

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

[gem5-users] DrainManager/Checkpoint changes broke SystemC support

2015-09-08 Thread Paul Rosenfeld (prosenfeld)
Hello all,

I was trying to update to a recent version of gem5 master but it appears that 
the SystemC frontend no longer builds due to some changes in the DrainManager 
and Checkpoint APIs. I'm not familiar with the API changes so it may take me 
some time to figure out what is going on. Any chance someone familiar with 
these changes could volunteer to fix this? If not, I can try to see if I can 
give it a go.

Thanks,
Paul


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