mohamed | 28 Jun 14:31 2016

GEM5 debugging

Hi all ;

I loaded Gem5 on Netbeans (woks fine), I've builded the the debug version 
using "scons build/ARM/gem5.debug", built well but Netbeans doesn't stop on 
breakpoints, so I added by myself the debug flag in Sconstruct : 
"main.Append(CXXFLAGS = ['/DEBUG'])" and here I have this error : "Can't find 
library with socket calls (e.g. accept())"

What I'm I missng ? why breakpoints doesn't work ?
Any answser il highly apreciated, thanks :)

gem5-users mailing list
gem5-users <at>
Sebastian Cai | 28 Jun 01:43 2016

Connecting a VNC to Full System Linux Simulation

Hello All,

I am currently attempting to connect a VNC viewer to the full system simulation of Linux on ARM. I have tried using RealVNC Viewer and TIghtVNC Viewer, but both do not work, with similar errors.

I run the full system simulation with like so:

command line: build/ARM/gem5.opt configs/example/ --disk-image=/home/scai/full_system_images/disks/aarch32-ubuntu-natty-headless.img

Global frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
info: kernel located at: /home/scai/full_system_images/binaries/vmlinux.aarch32.ll_20131205.0-gem5
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
warn: ClockedObject: More than one power state change request encountered within the same simulation tick
info: Using bootloader at address 0x10
info: Using kernel entry physical address at 0x80008000
info: Loading DTB file: /home/scai/full_system_images/binaries/vexpress.aarch32.ll_20131205.0-gem5.1cpu.dtb at address 0x88000000
~a bunch of warns~

When I try to connect with RealVnc Viewer using, I get a RFB protocol error: bad desktop size 0x0.

When I connect through TightVnc Viewer through xtightvncviewer on terminal, I get the error:

Connected to RFB server, using protocol version 3.8
No authentication needed
Authentication successful
Desktop name "M5"
VNC server default format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using default colormap which is TrueColor.  Pixel format:
  16 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 31 green 63 blue 31, shift red 11 green 5 blue 0
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
CleanupXtErrorHandler called
Error: Shell widget %s has zero width and/or height

Seems as if there is a problem with the shell's width and height being 0, so how may I fix this issue so I may connect a VNC.


gem5-users mailing list
gem5-users <at>
Wei Shu | 27 Jun 21:46 2016

How does dump data

Hi all,

I am using gem5-dev with Ruby fs. Here's a question: How get called by CacheMemory class.

In src/mem/ruby/structures/ that we can print the info of cache block by using "out <<
*m_cache[set][way];", and the printed result is like this:

entry: [L2Cache_Entry: CacheState = SS Sharers = [NetDest (16) 1 0 0 0  - 0 0 0 0  -  - 0 0 0 0  - 0 0  -  -  -  -  -  -  -  -  -  -  -  - ]
Exclusive = L1Cache-0 DataBlk = [ 0x0 0x0 0x48 0x89 0xd 0x57 0xea 0x74 0x0 0x48 0x89 0x15 0x58 0xea 0x74 0x0
0x48 0x89 0x5 0x59 0xea 0x74 0x0 0x48 0xc7 0xc7 0x42 0xa7 0x98 0x80 0x4c 0x89 0x3d 0x53 0xea 0x74 0x0 0x66 0xc7
0x5 0x52 0xea 0x74 0x0 0xa 0x0 0x66 0xbe 0xde 0x3 0xb3 0x22 0xe9 0x71 0xfd 0xff 0xff 0x48 0xc7 0xc7 0x30 0x3c
0x7c 0x80 ] Dirty = 0 ]

I am confused how the content after "entry:" get printed out. For example, to print NetDest, the definition
of print operation is src/mem/ruby/common/ But I could not find any relationship
between class CacheMemory and NetDest. 

The m_cache is implemented by an 2D array of AbstractCacheEntry declared in CacheMemory.hh:
std::vector<std::vector<AbstractCacheEntry*> > m_cache;
and I checked AbstractCacheEntry but could not find where it calles the;
I also tried using gdb by setting a break point after print *m_cache[i][j], but bracktrace does not show any
clue of how get called.


gem5-users mailing list
gem5-users <at>
206115008 | 27 Jun 11:32 2016

cache coherence protocol using ruby memory model

Hi everyone,

I want to simulate MESI cache coherence protocol. But im unable to  
model the multicore system using GEM5 as im not understanding what  
changes should be made in configuration file. Can anyone help me with  
that?. Without modifying anything i tried to simulate the existing  
cache coherence protocol using RUBY.
using command:

build/X86/gem5.opt –debug-flag=ProtocolTrace  

but the following situation occured.

Traceback (most recent call last):
   File "<string>", line 1, in <module>
   File "/home/nrs/Desktop/gem5-try/src/python/", line 73,  
in load_module
     exec code in mod.__dict__
   File "/home/nrs/Desktop/gem5-try/src/python/m5/", line  
35, in <module>
     import internal
   File "/home/nrs/Desktop/gem5-try/src/python/", line 73,  
in load_module
     exec code in mod.__dict__
"/home/nrs/Desktop/gem5-try/src/python/m5/internal/", line  
31, in <module>
     import event
   File "/home/nrs/Desktop/gem5-try/src/python/", line 73,  
in load_module
     exec code in mod.__dict__
   File "/home/nrs/Desktop/gem5-try/build/X86/python/swig/",  
line 109, in <module>
     class Event(m5.internal.serialize.Serializable):
AttributeError: 'module' object has no attribute 'internal'

Is it needed to modify the existing files in the GEM5 simulator in  
order to run the command. if Yes can you help where should the changes  
be made?

Thank you !

Pranita solanke
Department of computer science and engineering
NIT Tiruchirappallli

gem5-users mailing list
gem5-users <at>
nidhi1503 | 25 Jun 10:11 2016

Fw: you've got to see that

Hi, You're not gonna believe what I've read yesterday, you've got to read it yourself at


Rushing, nidhi1503 <at>

gem5-users mailing list
gem5-users <at>
Faeze Banitaba | 25 Jun 10:53 2016

Syscall setitimer (#104) unimplemented

Hi all,

While running my benchmark on gem5 SE mode, i got this error, which there's not enough documents about it over the site and i have no familiarity with setitimer/getitimer as well.

fatal: syscall setitimer (#104) unimplemented.
  <at> tick 17578000
[unimplementedFunc:build/ARM/sim/, line 95]

Could anyone help me with this, please?

Best Regards

gem5-users mailing list
gem5-users <at>
Ali Saidi | 25 Jun 02:09 2016

Wiki Upgrade

Hi Everyone,

The wiki has just been upgraded. Please let us know if there are any problems.

gem5-users mailing list
gem5-users <at>
李阳 | 24 Jun 10:26 2016

scp between gem5 simulated linux system and real linux system

Dear everyone,

My status: I have launched the aarch64-ubuntu system successfully based on gem5 and logined into the system. And then I need to copy the armv8 binary on the linux host (debian) to gem5 simulated aarch64 system. However, the scp command didn't work and I found that the gem5 simulated system lack of local ethernet and only has local loopback.

So my problem is that how do I transfer the files on the host to gem5 simulated system? Does anyone come across this problem and could you share me some hints? Thanks in advance!

gem5-users mailing list
gem5-users <at>
George Mappouras | 24 Jun 03:41 2016

What is the endpoint_bandwidth? What is a realistic value for it?

Hi all,

I am working with gem5 and ruby in order to measure the link utilization of the interconection network that connects my cores and caches. I have some trouble understanding the parameters that define the bandwidth of each link.

I am using simple links (NOT garnet) and from the wiki page I gathered that the bandwidth of the link is defined as endpoint_bandwidth*bandwidth_factor. That is done in the Throttle.hh file. The bandwidth_factor is defined at and the endpoint_bandwidth at

Now my question is about those 2 parameters and what they represent. In my understanding bandwidth_factor defines the width of my link (how many bytes can fit) and it has a default value of 16bytes. However I have no idea of what the purpose of endpoint_bandwidth is or what it actually represents. The only thing I could find is that is an "adjustment factor" and its default value is 1000. Does it have to do with frequency? Does Throttle wakes up every 1000 cycles?

I did some experiments and noticed that my links utilization is analogues to the bandwidth_factor, meaning that if i cut bandwidth factor in half my utilization roughly doubles. Although endpoint_bandwidth also changes my utilization I could not see a specific pattern.

For my work is important to provide realistic link bandwidth and so my questions is what endpoint_bandwidth represents and what is a realistic value for it?

gem5-users mailing list
gem5-users <at>
206115008 | 23 Jun 12:55 2016

Gem5-Ruby component


./build/X86/gem5.opt configs/example/ --ruby --cpu-type=timing -c  

command gives

warn: DRAM device capacity (8192 Mbytes) does not match the address  
range assigned (512 Mbytes)
fatal: Can't load object file tests/test-progs/hello/bin/X86/linux/hello

and then core dumped.

I'm learning GEM5 so i have not made any changes in any of the files.  
Please help me with this.

Thank you !

Pranita Solanke

Master of Technology
Computer Science
NIT Tiruchirappalli
gem5-users mailing list
gem5-users <at>
Xin He | 22 Jun 16:56 2016

error running 403.gcc from spec2006

Hi, all,

I successfully build all benchmarks from spec2006 with x86 linux gcc.
And most benchmarks can run properly on my server.
However, for 403.gcc (an important benchmark for research), it may encounter segmentation faults and crash.

I run 403.gcc with ref inputs.
the reported output is shown as below:
166.i:14003: internal error: 11
scilab.i:4236: internal error: 11

I searched through the internet and got no answers.

Could you please lend me some help? 

gem5-users mailing list
gem5-users <at>