[gem5-users] gem5 fs mode error

2021-04-01 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hello Everyone,

I got the following error when i run spec2006 benchmark on gem5 fs mode.
Any help would be appreciated.

Error

Aborting: command not found
abdkhail@proton:~/fs_gem5/gem5$ EXT4-fs (hda1): Remounting filesystem read-only
-bash: syntax error near unexpected token `hda1'

___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] run a binary file for 3 times on gem5

2021-01-31 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

How to run a binary file three times on gem5? I want to find the execution time 
for a binary file for 1M instructions. However, the gem5 is completed on 400K 
instructions because the binary file is completed. So how I can run it three 
times in order to reach 1M instructions?

For example, If I want to run the hello world on gem5 using the following 
command, the gem5 will end before reach 10k insts since hello needs only 5k 
insts to finish. So ho i can run it for 3 times?

build/X86/gem5.opt configs/example/se.py -I 1 -c 
tests/test-progs/hello/bin/x86/linux/hello --cpu-type=DerivO3CPU --caches

Any help would be appreciated.

Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] run binary file 3 times on gem5

2021-01-31 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

How to run a binary file three times on gem5? I want to find the execution time 
for a binary file for 1M instructions. However, the gem5 is completed on 400K 
instructions because the binary file is completed. So how I can run it three 
times in order to reach 1M instructions?

Any help would be appreciated.

Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: PTE Flags

2020-12-21 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi Ayaz,

Thanks for your help.

Can I do it through the page cache by getting the page (page descriptor 
structure) corresponding to the file in vfs_write call? If so do you know where 
should I make the changes?

Thanks


From: Ayaz Akram 
Sent: Sunday, December 20, 2020 8:28 AM
To: gem5 users mailing list 
Cc: gem5-users ; ABD ALRHMAN ABO ALKHEEL 

Subject: Re: [gem5-users] PTE Flags

Hi,

Based on my understanding of what you are trying to do, I would suggest looking 
into src/arch/x86/tlb.cc (assuming you want to use x86) around line 400, to see 
how to access page table entries from a process pointer. syscall_emul.hh 
already includes sim/process.hh, so you can follow what is done in tlb.cc and 
play with the flags that you want to change.

-Ayaz

On Fri, Dec 11, 2020 at 5:08 PM ABD ALRHMAN ABO ALKHEEL via gem5-users 
mailto:gem5-users@gem5.org>> wrote:
Hello Everyone,

I am currently working on write_func system call in syscall_hh and i want to 
prevent writing to the file by changing the page table entry (PTE) flag. Where 
should i change?

Any help would be appreciated.

Thanks
___
gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org>
To unsubscribe send an email to 
gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org>
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Changing PTE flags from write_func

2020-12-19 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All, is there anyway to modify the page table entry PTE flags from the 
write_func function or is there anyway to prevent writing to a file from the 
from the write_func? Any help would be appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] PTE Flags

2020-12-11 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hello Everyone,

I am currently working on write_func system call in syscall_hh and i want to 
prevent writing to the file by changing the page table entry (PTE) flag. Where 
should i change?

Any help would be appreciated.

Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] fatal: syscall creat (#85) unimplemented. Memory Usage: 733824 KBytes

2020-12-03 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi ALL,

I am trying to run the binary tar on gem5 in se mode and i got the following 
error.

fatal: syscall creat (#85) unimplemented.Memory Usage: 733824 KBytes

I used this command:
build/X86/gem5.opt configs/example/se.py -c /bin/tar -o "-cvfz arc.tar.gz o1" 
--cpu-type=DerivO3CPU --caches

Any help would be appreciated.

Thanks

___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] track the write syscall in the kernel

2020-10-24 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All;

I want to track the write syscall in order to do some calculations on the 
written bytes. I just want to know what is the function that does write syscall 
function and how I can the written bytes from it.

Any help would be appreciated.

Thanks

https://github.com/torvalds/linux/blob/master/fs/read_write.c
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Tracking read()/write() system calls in gem5

2020-10-02 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Thanks for your email. If I want to print the data of read system call and 
write system call. Can I get those data from readfunc and writefunc here
In sycall_emul.hh: 
https://gem5.googlesource.com/public/gem5/+/refs/heads/stable/src/sim/syscall_emul.hh#2454

From: Ciro Santilli via gem5-users 
Sent: Wednesday, September 23, 2020 10:38 AM
To: gem5 users mailing list 
Cc: Ciro Santilli 
Subject: [gem5-users] Re: Tracking read()/write() system calls in gem5

Also have a look at --debug-flags SyscallBase,SyscallVerbose


On Tue, Sep 22, 2020 at 8:26 PM ABD ALRHMAN ABO ALKHEEL via gem5-users
 wrote:
>
> Hi All, can I track the read()/write() system calls in GEM5 in SE mode? If 
> so, how I can do that? Any help would be appreciated. Thanks
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Tracking read()/write() system calls in gem5

2020-09-22 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All, can I track the read()/write() system calls in GEM5 in SE mode? If so, 
how I can do that? Any help would be appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Cannot read from main memory with a new cpu port similar to dcacheport

2020-09-02 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi Muhammad,
I would like to access memory to read data from it for debugging purpose? 
Kindly can you tell how did you create a cpu port to access memory and read the 
256 bytes from a specific address? Thanks

From: Muhammad Aamir via gem5-users 
Sent: Wednesday, September 2, 2020 7:29 PM
To: gem5 users mailing list 
Cc: Muhammad Aamir 
Subject: [gem5-users] Cannot read from main memory with a new cpu port similar 
to dcacheport

Hi everyone,

I have created a new cpu port which accesses the main memory and bypassing the 
caches when reading from memory. When I try to read from the main memory via 
this port, I sometimes fail to read it and it is read as a 0. This only happens 
when I try to read a value almost after updating it. i.e. it does not update 
that value in the main memory.

What I think is that the value is still stored in the cache, and the cache has 
not yet updated that value in the memory.
How can I make sure that the cache has also written it to the main memory? i.e. 
enforce writethrough.

If my observation is wrong, would someone correct me as to why this is 
happening and what I might be doing wrong?


Thanks,
Aamir
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Sending more than one memory request to the memory through sendTimingReq

2020-08-18 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi Muhammad,
I want to read the data (256) from an memory address in Gem5. I did the 
following but I have two issues which are how to specify the data size (256 
bytes) and get the memory port. Any help would be appreciated.

RequestPtr req1;
PacketPtr newPkt = new Packet(req1, MemCmd::ReadReq);
newPkt->setAddr(pkt->getAddr());
cpu->getPort().sendFunctional(newPkt)

From: Muhammad Aamir via gem5-users 
Sent: Tuesday, August 18, 2020 1:04 PM
To: Jason Lowe-Power ; gem5 users mailing list 

Cc: Muhammad Aamir 
Subject: [gem5-users] Re: Sending more than one memory request to the memory 
through sendTimingReq

Hi Jason,
I was able to solve the problem, i had set my MSHR's to 1 thus making it a 
blocking cache. Needed to change this parameter. Thank you for pointing out to 
look at my memory system.

Thanks,
Aamir

On Tue, 18 Aug 2020 at 12:43, Muhammad Aamir 
mailto:aamir.sa...@bilkent.edu.tr>> wrote:
Hi Jason,

Is there a parameter that I can see where my caches are accepting more than one 
request per cycle or not. Also assuming that I am not sending requests in the 
same cycle but in different cycles, they still wait for one response to come 
back before another one is issued. Also after changing my bars and not using 
the non-coherent ones, i get the same results.

My system is configured as follows: 
https://drive.google.com/drive/folders/18OtZhS8nEAtlg-BJ7GtoDe_kR_DtxLdd?usp=sharing.
  Would you be kind enough to check what I am doing wrong?.

Your help is much appreciated

Thanks,
Aamir

On Mon, 17 Aug 2020 at 18:38, Jason Lowe-Power 
mailto:ja...@lowepower.com>> wrote:
Hello,

This depends on your memory system. If your cache can accept more than one 
request per cycle, then the CPU can send more than one request. The 
`sendTimingReq` returns false when the receiver cannot receive another request.

It's hard to know exactly what your memory system looks like, but if you're 
using non-coherent crossbars between different levels of caches, you're 
probably going to be seeing some errors in your memory. The non-coherent 
crossbar was designed to be put below (closer to memory) a "point-of-coherence" 
crossbar. Also, I believe that by default that crossbar is on 16 bytes wide, so 
a single cache line request could take 4 cycles, which might be why the CPU is 
blocking?

Cheers,
Jason

On Sun, Aug 16, 2020 at 12:01 PM Muhammad Aamir via gem5-users 
mailto:gem5-users@gem5.org>> wrote:
Hi everyone,

Is it possible to send more than one memory request from the dcacheport to the 
memory system without stalling the pipeline. What i have seen so far is that 
when one memory instruction is send to the memory, then another memory request 
cannot be send to the memory as sendTimingReq  returns boolean type false. And 
it has to wait until the previous memory response is back then  issue the next 
one .

My goal is to allow the MinorCPU to have overlapping memory requests to the 
memory, therefore is it possible to achieve this by sending more than one 
memory request to the memory? as I cannot figure this out.
I am currently using noncoherent Xbars to connect my caches and the memory 
system, would I need to change it or is there something else that i have to do?

Any help would be appreciated.

Thanks.
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to 
gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Memory Addresses in Gem5

2020-08-16 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
I forgot to mention that I want to do that on O3CPU.
Thanks


From: ABD ALRHMAN ABO ALKHEEL via gem5-users 
Sent: Sunday, August 16, 2020 7:02 PM
To: Ciro Santilli 
Cc: gem5 users mailing list ; Ahmed, Md Rubel 
; ABD ALRHMAN ABO ALKHEEL 
Subject: [gem5-users] Re: Memory Addresses in Gem5

Hi Ciro,

Thanks for your email.

I added the following after CompleteDataAccess in LSQ_unit_impl to access the 
memory and read data from an address.
I have two issues which are how to specify the data size (256 bytes) and get 
the memory port. Any help would be appreciated.

RequestPtr req1;
PacketPtr newPkt = new Packet(req1, MemCmd::ReadReq);
newPkt->setAddr(pkt->getAddr());
cpu->getPort().sendFunctional(newPkt)


From: Ciro Santilli 
Sent: Sunday, August 16, 2020 5:46 AM
To: ABD ALRHMAN ABO ALKHEEL 
Cc: gem5 users mailing list ; Ahmed, Md Rubel 

Subject: Re: [gem5-users] Re: Memory Addresses in Gem5

On Sat, Aug 15, 2020 at 9:54 PM ABD ALRHMAN ABO ALKHEEL
 wrote:
>
> Hi Ciro,
>
> Could you tell me where can i find the file that does an ifetch for 
> AtomicsimpleCPU in gem5?
>

https://github.com/gem5/gem5/blob/fa70478413e4650d0058cbfe81fd5ce362101994/src/cpu/simple/atomic.cc#L673
up to sendFetch below (find Atomic file source and grep :-) ) Some
notes also under:
https://cirosantilli.com/linux-kernel-module-cheat/#gem5-packet-vs-request


> Also, How to print the data from the packet (I assumed the loaded data is 
> stored in the pkt).
> should I use
> pkt->getRaw()
> or
> pkt->getLE()
> or
> pkt->getBE()
> or
> pkt->setData()
> or
> pkt->writeData()
>

Have a look at the source under Eclipse :-) all of those get the
packet data with small variations, but it is raw binary.

To see it as hex you need to convert binary to ASCII hex first. I want
to push a simple patch for this in the near future, but you can do it
manually easily too for now:
https://stackoverflow.com/a/27173017/895245

> Thanks
>



> 
> From: Ciro Santilli 
> Sent: Wednesday, August 12, 2020 7:18 AM
> To: gem5 users mailing list 
> Cc: Ahmed, Md Rubel ; ABD ALRHMAN ABO ALKHEEL 
> 
> Subject: Re: [gem5-users] Re: Memory Addresses in Gem5
>
> I recommend that you have a look at the source of how AtomicSimpleCPU
> does an ifetch under Eclipse. It should be easy to understand
> everything quickly from there.
>
> The Packet address is physical (which notably what caches and DRAM
> work on), just have a look at the constructor of packet:
>
> Packet(const RequestPtr &_req, MemCmd _cmd)
> :  cmd(_cmd), id((PacketId)_req.get()), req(_req),
>data(nullptr), addr(0), _isSecure(false), size(0),
>_qosValue(0), headerDelay(0), snoopDelay(0),
>payloadDelay(0), senderState(NULL)
> {
> if (req->hasPaddr()) {
> addr = req->getPaddr();
>
> So you have to do translation before. Translation sets the physical
> address on the Request, which contains both _paddr and _vaddr fields.
>
> Another option is to have a look at how some of the memory tests are doing it.
>
> On Wed, Aug 12, 2020 at 1:55 AM ABD ALRHMAN ABO ALKHEEL via gem5-users
>  wrote:
> >
> > Hi,
> >
> > Thank you for your email.
> >
> > Do you have any idea how to construct a packet with a request to read from 
> > the memory address? For instance, let us assume that the address that I 
> > want to read the data from it is (0x2345),  I want to read the 256 bytes of 
> > this address (0x2300-0x23ff)? I want to do that for debugging like this 
> > https://www.gem5.org/_pages/static/scripts/part2/memoryobject/simple_memobj.cc.
> >
> > Any help would be appreciated.
> >
> > Thanks
> >
> > 
> > From: Ahmed, Md Rubel via gem5-users 
> > Sent: Wednesday, August 12, 2020 12:44 AM
> > To: gem5 users mailing list 
> > Cc: Ahmed, Md Rubel 
> > Subject: [gem5-users] Re: Memory Addresses in Gem5
> >
> > Hi,
> >
> > pkt->getAddr()  returns memory address. pkt->print() also returns block 
> > address and offset.
> >
> > Thanks
> > 
> > From: ABD ALRHMAN ABO ALKHEEL via gem5-users 
> > Sent: Tuesday, August 11, 2020 6:32 PM
> > To: gem5 users mailing list ; gem5-users 
> > 
> > Cc: ABD ALRHMAN ABO ALKHEEL 
> > Subject: [gem5-users] Memory Addresses in Gem5
> >
> > Hi All,
> >
> > Does the packet in gem5 have the memory address? for example, does this 
> > pkt->getAddr() return the 

[gem5-users] Re: Memory Addresses in Gem5

2020-08-16 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi Ciro,

Thanks for your email.

I added the following after CompleteDataAccess in LSQ_unit_impl to access the 
memory and read data from an address.
I have two issues which are how to specify the data size (256 bytes) and get 
the memory port. Any help would be appreciated.

RequestPtr req1;
PacketPtr newPkt = new Packet(req1, MemCmd::ReadReq);
newPkt->setAddr(pkt->getAddr());
cpu->getPort().sendFunctional(newPkt)


From: Ciro Santilli 
Sent: Sunday, August 16, 2020 5:46 AM
To: ABD ALRHMAN ABO ALKHEEL 
Cc: gem5 users mailing list ; Ahmed, Md Rubel 

Subject: Re: [gem5-users] Re: Memory Addresses in Gem5

On Sat, Aug 15, 2020 at 9:54 PM ABD ALRHMAN ABO ALKHEEL
 wrote:
>
> Hi Ciro,
>
> Could you tell me where can i find the file that does an ifetch for 
> AtomicsimpleCPU in gem5?
>

https://github.com/gem5/gem5/blob/fa70478413e4650d0058cbfe81fd5ce362101994/src/cpu/simple/atomic.cc#L673
up to sendFetch below (find Atomic file source and grep :-) ) Some
notes also under:
https://cirosantilli.com/linux-kernel-module-cheat/#gem5-packet-vs-request


> Also, How to print the data from the packet (I assumed the loaded data is 
> stored in the pkt).
> should I use
> pkt->getRaw()
> or
> pkt->getLE()
> or
> pkt->getBE()
> or
> pkt->setData()
> or
> pkt->writeData()
>

Have a look at the source under Eclipse :-) all of those get the
packet data with small variations, but it is raw binary.

To see it as hex you need to convert binary to ASCII hex first. I want
to push a simple patch for this in the near future, but you can do it
manually easily too for now:
https://stackoverflow.com/a/27173017/895245

> Thanks
>



> 
> From: Ciro Santilli 
> Sent: Wednesday, August 12, 2020 7:18 AM
> To: gem5 users mailing list 
> Cc: Ahmed, Md Rubel ; ABD ALRHMAN ABO ALKHEEL 
> 
> Subject: Re: [gem5-users] Re: Memory Addresses in Gem5
>
> I recommend that you have a look at the source of how AtomicSimpleCPU
> does an ifetch under Eclipse. It should be easy to understand
> everything quickly from there.
>
> The Packet address is physical (which notably what caches and DRAM
> work on), just have a look at the constructor of packet:
>
> Packet(const RequestPtr &_req, MemCmd _cmd)
> :  cmd(_cmd), id((PacketId)_req.get()), req(_req),
>data(nullptr), addr(0), _isSecure(false), size(0),
>_qosValue(0), headerDelay(0), snoopDelay(0),
>payloadDelay(0), senderState(NULL)
> {
> if (req->hasPaddr()) {
> addr = req->getPaddr();
>
> So you have to do translation before. Translation sets the physical
> address on the Request, which contains both _paddr and _vaddr fields.
>
> Another option is to have a look at how some of the memory tests are doing it.
>
> On Wed, Aug 12, 2020 at 1:55 AM ABD ALRHMAN ABO ALKHEEL via gem5-users
>  wrote:
> >
> > Hi,
> >
> > Thank you for your email.
> >
> > Do you have any idea how to construct a packet with a request to read from 
> > the memory address? For instance, let us assume that the address that I 
> > want to read the data from it is (0x2345),  I want to read the 256 bytes of 
> > this address (0x2300-0x23ff)? I want to do that for debugging like this 
> > https://www.gem5.org/_pages/static/scripts/part2/memoryobject/simple_memobj.cc.
> >
> > Any help would be appreciated.
> >
> > Thanks
> >
> > 
> > From: Ahmed, Md Rubel via gem5-users 
> > Sent: Wednesday, August 12, 2020 12:44 AM
> > To: gem5 users mailing list 
> > Cc: Ahmed, Md Rubel 
> > Subject: [gem5-users] Re: Memory Addresses in Gem5
> >
> > Hi,
> >
> > pkt->getAddr()  returns memory address. pkt->print() also returns block 
> > address and offset.
> >
> > Thanks
> > 
> > From: ABD ALRHMAN ABO ALKHEEL via gem5-users 
> > Sent: Tuesday, August 11, 2020 6:32 PM
> > To: gem5 users mailing list ; gem5-users 
> > 
> > Cc: ABD ALRHMAN ABO ALKHEEL 
> > Subject: [gem5-users] Memory Addresses in Gem5
> >
> > Hi All,
> >
> > Does the packet in gem5 have the memory address? for example, does this 
> > pkt->getAddr() return the memory address or not? If so, is that address 
> > physical or virtual?
> >
> > Thanks
> >
> > [EXTERNAL EMAIL] DO NOT CLICK links or attachments unless you recognize the 
> > sender and know the content is safe.
> >
> > ___
> > gem5-users mailing list -- gem5-users@gem5.org
> > To unsubscribe send an email to gem5-users-le...@gem5.org
> > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Memory Addresses in Gem5

2020-08-15 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi Ciro,

Could you tell me where can i find the file that does an ifetch for 
AtomicsimpleCPU in gem5?

Also, How to print the data from the packet (I assumed the loaded data is 
stored in the pkt).
should I use
pkt->getRaw()
or
pkt->getLE()
or
pkt->getBE()
or
pkt->setData()
or
pkt->writeData()

Thanks


From: Ciro Santilli 
Sent: Wednesday, August 12, 2020 7:18 AM
To: gem5 users mailing list 
Cc: Ahmed, Md Rubel ; ABD ALRHMAN ABO ALKHEEL 

Subject: Re: [gem5-users] Re: Memory Addresses in Gem5

I recommend that you have a look at the source of how AtomicSimpleCPU
does an ifetch under Eclipse. It should be easy to understand
everything quickly from there.

The Packet address is physical (which notably what caches and DRAM
work on), just have a look at the constructor of packet:

Packet(const RequestPtr &_req, MemCmd _cmd)
:  cmd(_cmd), id((PacketId)_req.get()), req(_req),
   data(nullptr), addr(0), _isSecure(false), size(0),
   _qosValue(0), headerDelay(0), snoopDelay(0),
   payloadDelay(0), senderState(NULL)
{
if (req->hasPaddr()) {
addr = req->getPaddr();

So you have to do translation before. Translation sets the physical
address on the Request, which contains both _paddr and _vaddr fields.

Another option is to have a look at how some of the memory tests are doing it.

On Wed, Aug 12, 2020 at 1:55 AM ABD ALRHMAN ABO ALKHEEL via gem5-users
 wrote:
>
> Hi,
>
> Thank you for your email.
>
> Do you have any idea how to construct a packet with a request to read from 
> the memory address? For instance, let us assume that the address that I want 
> to read the data from it is (0x2345),  I want to read the 256 bytes of this 
> address (0x2300-0x23ff)? I want to do that for debugging like this 
> https://www.gem5.org/_pages/static/scripts/part2/memoryobject/simple_memobj.cc.
>
> Any help would be appreciated.
>
> Thanks
>
> 
> From: Ahmed, Md Rubel via gem5-users 
> Sent: Wednesday, August 12, 2020 12:44 AM
> To: gem5 users mailing list 
> Cc: Ahmed, Md Rubel 
> Subject: [gem5-users] Re: Memory Addresses in Gem5
>
> Hi,
>
> pkt->getAddr()  returns memory address. pkt->print() also returns block 
> address and offset.
>
> Thanks
> 
> From: ABD ALRHMAN ABO ALKHEEL via gem5-users 
> Sent: Tuesday, August 11, 2020 6:32 PM
> To: gem5 users mailing list ; gem5-users 
> 
> Cc: ABD ALRHMAN ABO ALKHEEL 
> Subject: [gem5-users] Memory Addresses in Gem5
>
> Hi All,
>
> Does the packet in gem5 have the memory address? for example, does this 
> pkt->getAddr() return the memory address or not? If so, is that address 
> physical or virtual?
>
> Thanks
>
> [EXTERNAL EMAIL] DO NOT CLICK links or attachments unless you recognize the 
> sender and know the content is safe.
>
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Memory Addresses in Gem5

2020-08-12 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Thank you very much for your email. Thanks


From: Ciro Santilli 
Sent: Wednesday, August 12, 2020 7:18 AM
To: gem5 users mailing list 
Cc: Ahmed, Md Rubel ; ABD ALRHMAN ABO ALKHEEL 

Subject: Re: [gem5-users] Re: Memory Addresses in Gem5

I recommend that you have a look at the source of how AtomicSimpleCPU
does an ifetch under Eclipse. It should be easy to understand
everything quickly from there.

The Packet address is physical (which notably what caches and DRAM
work on), just have a look at the constructor of packet:

Packet(const RequestPtr &_req, MemCmd _cmd)
:  cmd(_cmd), id((PacketId)_req.get()), req(_req),
   data(nullptr), addr(0), _isSecure(false), size(0),
   _qosValue(0), headerDelay(0), snoopDelay(0),
   payloadDelay(0), senderState(NULL)
{
if (req->hasPaddr()) {
addr = req->getPaddr();

So you have to do translation before. Translation sets the physical
address on the Request, which contains both _paddr and _vaddr fields.

Another option is to have a look at how some of the memory tests are doing it.

On Wed, Aug 12, 2020 at 1:55 AM ABD ALRHMAN ABO ALKHEEL via gem5-users
 wrote:
>
> Hi,
>
> Thank you for your email.
>
> Do you have any idea how to construct a packet with a request to read from 
> the memory address? For instance, let us assume that the address that I want 
> to read the data from it is (0x2345),  I want to read the 256 bytes of this 
> address (0x2300-0x23ff)? I want to do that for debugging like this 
> https://www.gem5.org/_pages/static/scripts/part2/memoryobject/simple_memobj.cc.
>
> Any help would be appreciated.
>
> Thanks
>
> 
> From: Ahmed, Md Rubel via gem5-users 
> Sent: Wednesday, August 12, 2020 12:44 AM
> To: gem5 users mailing list 
> Cc: Ahmed, Md Rubel 
> Subject: [gem5-users] Re: Memory Addresses in Gem5
>
> Hi,
>
> pkt->getAddr()  returns memory address. pkt->print() also returns block 
> address and offset.
>
> Thanks
> 
> From: ABD ALRHMAN ABO ALKHEEL via gem5-users 
> Sent: Tuesday, August 11, 2020 6:32 PM
> To: gem5 users mailing list ; gem5-users 
> 
> Cc: ABD ALRHMAN ABO ALKHEEL 
> Subject: [gem5-users] Memory Addresses in Gem5
>
> Hi All,
>
> Does the packet in gem5 have the memory address? for example, does this 
> pkt->getAddr() return the memory address or not? If so, is that address 
> physical or virtual?
>
> Thanks
>
> [EXTERNAL EMAIL] DO NOT CLICK links or attachments unless you recognize the 
> sender and know the content is safe.
>
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Memory Addresses in Gem5

2020-08-11 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi,

Thank you for your email.

Do you have any idea how to construct a packet with a request to read from the 
memory address? For instance, let us assume that the address that I want to 
read the data from it is (0x2345),  I want to read the 256 bytes of this 
address (0x2300-0x23ff)? I want to do that for debugging like this 
https://www.gem5.org/_pages/static/scripts/part2/memoryobject/simple_memobj.cc.

Any help would be appreciated.

Thanks


From: Ahmed, Md Rubel via gem5-users 
Sent: Wednesday, August 12, 2020 12:44 AM
To: gem5 users mailing list 
Cc: Ahmed, Md Rubel 
Subject: [gem5-users] Re: Memory Addresses in Gem5

Hi,

pkt->getAddr()  returns memory address. pkt->print() also returns block address 
and offset.

Thanks

From: ABD ALRHMAN ABO ALKHEEL via gem5-users 
Sent: Tuesday, August 11, 2020 6:32 PM
To: gem5 users mailing list ; gem5-users 

Cc: ABD ALRHMAN ABO ALKHEEL 
Subject: [gem5-users] Memory Addresses in Gem5

Hi All,

Does the packet in gem5 have the memory address? for example, does this 
pkt->getAddr() return the memory address or not? If so, is that address 
physical or virtual?

Thanks

[EXTERNAL EMAIL] DO NOT CLICK links or attachments unless you recognize the 
sender and know the content is safe.
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Memory Addresses in Gem5

2020-08-11 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

Does the packet in gem5 have the memory address? for example, does this 
pkt->getAddr() return the memory address or not? If so, is that address 
physical or virtual?

Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Reading from memory in Gem5

2020-08-07 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
ject, there is a `getSystemPort` function that will 
return a gem5 port that you can use with functional accesses to "backdoor" into 
the memory. See 
http://doxygen.gem5.org/release/current/classSystem.html#a5ecbd1eaa3e0d19f4640bb71a0b59d64.

Cheers,
Jason

On Sun, Aug 2, 2020 at 7:01 AM ABD ALRHMAN ABO ALKHEEL via gem5-users 
mailto:gem5-users@gem5.org>> wrote:
Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks


From: ABD ALRHMAN ABO ALKHEEL
Sent: Saturday, August 1, 2020 3:19 PM
To: gem5 users mailing list mailto:gem5-users@gem5.org>>; 
gem5-users mailto:gem5-users-boun...@gem5.org>>
Subject: Reading from memory in Gem5

Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org>
To unsubscribe send an email to 
gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org>
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Reading from memory in Gem5

2020-08-07 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
nds like you want to 
do. Using the System object, there is a `getSystemPort` function that will 
return a gem5 port that you can use with functional accesses to "backdoor" into 
the memory. See 
http://doxygen.gem5.org/release/current/classSystem.html#a5ecbd1eaa3e0d19f4640bb71a0b59d64.

Cheers,
Jason

On Sun, Aug 2, 2020 at 7:01 AM ABD ALRHMAN ABO ALKHEEL via gem5-users 
mailto:gem5-users@gem5.org>> wrote:
Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks


From: ABD ALRHMAN ABO ALKHEEL
Sent: Saturday, August 1, 2020 3:19 PM
To: gem5 users mailing list mailto:gem5-users@gem5.org>>; 
gem5-users mailto:gem5-users-boun...@gem5.org>>
Subject: Reading from memory in Gem5

Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org>
To unsubscribe send an email to 
gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org>
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Reading from memory in Gem5

2020-08-06 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi Jason,

I want to clarify what I want to do; I want to run a program on gem5 (in SE 
mode) for 1M instructions and I want to save the memory addresses that every LD 
instruction loads data from ( I can get those addresses from the pushRequest 
method in the lsq) http://doxygen.gem5.org/release/current/classLSQ.html and 
saving those addresses in a table (map). After a specific time for example 
(every100k instructions), I want to access the memory to read the data from 
those addresses. For instance, let us assume that the address that load 
instruction loads data from it is (0x78226e68), can I read the content of 
this memory address? Also can I read the 256 bytes of this address 
(0x78226e00-0x78226eff)? If so, how?

Thanks



From: Jason Lowe-Power 
Sent: Tuesday, August 4, 2020 4:41 PM
To: ABD ALRHMAN ABO ALKHEEL ; gem5 users mailing list 

Subject: Re: [gem5-users] Re: Reading from memory in Gem5

Hello,

First of all, please reply to the users list, not directly to the person who 
responded. This allows everyone to see answers and/or chime in and help.

Second, the page you linked is out of date. Please use the main gem5 website 
for all of the up to date documentation (e.g., 
http://doxygen.gem5.org/release/current/classLSQUnit.html)

Third, I still don't fully understand what your goals are. However, you can use 
the system port (actually, I think I was wrong before, you should use the 
"getPort" function, not "getSystemPort") to make functional (or debug) accesses 
to the memory. You can create a `Packet` with a `Request` and send a functional 
request across the port (i.e., call sendFunctional(pkt)). You can use either 
virtual (in SE mode) or physical address (in both modes). I am sure there are 
some caveats to using virtual addresses, but I don't know exactly what they are.

If you're trying to make new timing accesses, then you should use the main 
"dcache_port" and "icache_port" that are connected to the CPU. Again, you can 
construct a Packet object with a Request and send it across the port (e.g., 
sendTimingReq(pkt)).

You may want to read up on the details of how gem5's memory objects work: 
http://www.gem5.org/documentation/learning_gem5/part2/memoryobject/

Cheers,
Jason



On Mon, Aug 3, 2020 at 1:15 PM ABD ALRHMAN ABO ALKHEEL 
mailto:abdkeel...@hotmail.com>> wrote:
Hi Jason,

Thanks for your email.

What I want to do is finding the memory address that the LD instruction loads 
data from ( I can get the physical and virtual address from the Read method in 
the lsqunit)http://pages.cs.wisc.edu/~swilson/gem5-docs/classLSQUnit.html and 
saving those addresses. After a specific time, I want to access the memory to 
read the data from those addresses. Can I use getSystemPort function to access 
the memory and read the data from those addresses? If so, should I use the 
virtual address or the physical address?

Thanks



From: Jason Lowe-Power mailto:ja...@lowepower.com>>
Sent: Monday, August 3, 2020 3:26 PM
To: gem5 users mailing list mailto:gem5-users@gem5.org>>
Cc: gem5-users 
mailto:gem5-users-boun...@gem5.org>>; ABD ALRHMAN 
ABO ALKHEEL mailto:abdkeel...@hotmail.com>>
Subject: Re: [gem5-users] Re: Reading from memory in Gem5

Hello,

This sounds like you probably want to use "functional" accesses. These are 
built for introspection and debugging, which is what it sounds like you want to 
do. Using the System object, there is a `getSystemPort` function that will 
return a gem5 port that you can use with functional accesses to "backdoor" into 
the memory. See 
http://doxygen.gem5.org/release/current/classSystem.html#a5ecbd1eaa3e0d19f4640bb71a0b59d64.

Cheers,
Jason

On Sun, Aug 2, 2020 at 7:01 AM ABD ALRHMAN ABO ALKHEEL via gem5-users 
mailto:gem5-users@gem5.org>> wrote:
Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks


From: ABD ALRHMAN ABO ALKHEEL
Sent: Saturday, August 1, 2020 3:19 PM
To: gem5 users mailing list mailto:gem5-users@gem5.org>>; 
gem5-users mailto:gem5-users-boun...@gem5.org>>
Subject: Reading from memory in Gem5

Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org>
To unsubscribe send an email to 
gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org>
%(web_page_url)slistinfo%(cg

[gem5-users] Re: Reading from memory in Gem5

2020-08-05 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi Jason,

I want to clarify what I want to do; I want to run a program on gem5 (in SE 
mode) for 1M instructions and I want to save the memory addresses that every LD 
instruction loads data from ( I can get those addresses from the pushRequest 
method in the lsq) http://doxygen.gem5.org/release/current/classLSQ.html and 
saving those addresses in table (map). After a specific time for example 
(every100k instructions), I want to access the memory to read the data from 
those addresses. For instance, let us assume that the address that load 
instruction loads data from it is (0x78226e68), can I read the content of 
this memory address? If so, how?

Thanks
gem5: Out of order CPU 
model<https://www.gem5.org/documentation/general_docs/cpu_models/O3CPU>
Memory Order Misspeculation. The InstructionQueue has a MemDepUnit to track 
memory order dependence. The IQ will not schedule an instruction if MemDepUnit 
states there is dependency. In LSQUnit::read(), the LSQ will search for 
possible aliasing store and forward if possible.Otherwise, the load is blocked 
and rescheduled for when the blocking store completes by notifying the 
MemDepUnit.
www.gem5.org


Thanks



From: Jason Lowe-Power 
Sent: Tuesday, August 4, 2020 4:41 PM
To: ABD ALRHMAN ABO ALKHEEL ; gem5 users mailing list 

Subject: Re: [gem5-users] Re: Reading from memory in Gem5

Hello,

First of all, please reply to the users list, not directly to the person who 
responded. This allows everyone to see answers and/or chime in and help.

Second, the page you linked is out of date. Please use the main gem5 website 
for all of the up to date documentation (e.g., 
http://doxygen.gem5.org/release/current/classLSQUnit.html)

Third, I still don't fully understand what your goals are. However, you can use 
the system port (actually, I think I was wrong before, you should use the 
"getPort" function, not "getSystemPort") to make functional (or debug) accesses 
to the memory. You can create a `Packet` with a `Request` and send a functional 
request across the port (i.e., call sendFunctional(pkt)). You can use either 
virtual (in SE mode) or physical address (in both modes). I am sure there are 
some caveats to using virtual addresses, but I don't know exactly what they are.

If you're trying to make new timing accesses, then you should use the main 
"dcache_port" and "icache_port" that are connected to the CPU. Again, you can 
construct a Packet object with a Request and send it across the port (e.g., 
sendTimingReq(pkt)).

You may want to read up on the details of how gem5's memory objects work: 
http://www.gem5.org/documentation/learning_gem5/part2/memoryobject/

Cheers,
Jason



On Mon, Aug 3, 2020 at 1:15 PM ABD ALRHMAN ABO ALKHEEL 
mailto:abdkeel...@hotmail.com>> wrote:
Hi Jason,

Thanks for your email.

What I want to do is finding the memory address that the LD instruction loads 
data from ( I can get the physical and virtual address from the Read method in 
the lsqunit)http://pages.cs.wisc.edu/~swilson/gem5-docs/classLSQUnit.html and 
saving those addresses. After a specific time, I want to access the memory to 
read the data from those addresses. Can I use getSystemPort function to access 
the memory and read the data from those addresses? If so, should I use the 
virtual address or the physical address?

Thanks



From: Jason Lowe-Power mailto:ja...@lowepower.com>>
Sent: Monday, August 3, 2020 3:26 PM
To: gem5 users mailing list mailto:gem5-users@gem5.org>>
Cc: gem5-users 
mailto:gem5-users-boun...@gem5.org>>; ABD ALRHMAN 
ABO ALKHEEL mailto:abdkeel...@hotmail.com>>
Subject: Re: [gem5-users] Re: Reading from memory in Gem5

Hello,

This sounds like you probably want to use "functional" accesses. These are 
built for introspection and debugging, which is what it sounds like you want to 
do. Using the System object, there is a `getSystemPort` function that will 
return a gem5 port that you can use with functional accesses to "backdoor" into 
the memory. See 
http://doxygen.gem5.org/release/current/classSystem.html#a5ecbd1eaa3e0d19f4640bb71a0b59d64.

Cheers,
Jason

On Sun, Aug 2, 2020 at 7:01 AM ABD ALRHMAN ABO ALKHEEL via gem5-users 
mailto:gem5-users@gem5.org>> wrote:
Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks


From: ABD ALRHMAN ABO ALKHEEL
Sent: Saturday, August 1, 2020 3:19 PM
To: gem5 users mailing list mailto:gem5-users@gem5.org>>; 
gem5-users mailto:gem5-users-boun...@gem5.org>>
Subject: Reading from memory in Gem5

Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a sp

[gem5-users] Re: Reading from memory in Gem5

2020-08-04 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Ok. Thank you very much for your email.


From: Jason Lowe-Power 
Sent: Tuesday, August 4, 2020 4:41 PM
To: ABD ALRHMAN ABO ALKHEEL ; gem5 users mailing list 

Subject: Re: [gem5-users] Re: Reading from memory in Gem5

Hello,

First of all, please reply to the users list, not directly to the person who 
responded. This allows everyone to see answers and/or chime in and help.

Second, the page you linked is out of date. Please use the main gem5 website 
for all of the up to date documentation (e.g., 
http://doxygen.gem5.org/release/current/classLSQUnit.html)

Third, I still don't fully understand what your goals are. However, you can use 
the system port (actually, I think I was wrong before, you should use the 
"getPort" function, not "getSystemPort") to make functional (or debug) accesses 
to the memory. You can create a `Packet` with a `Request` and send a functional 
request across the port (i.e., call sendFunctional(pkt)). You can use either 
virtual (in SE mode) or physical address (in both modes). I am sure there are 
some caveats to using virtual addresses, but I don't know exactly what they are.

If you're trying to make new timing accesses, then you should use the main 
"dcache_port" and "icache_port" that are connected to the CPU. Again, you can 
construct a Packet object with a Request and send it across the port (e.g., 
sendTimingReq(pkt)).

You may want to read up on the details of how gem5's memory objects work: 
http://www.gem5.org/documentation/learning_gem5/part2/memoryobject/

Cheers,
Jason



On Mon, Aug 3, 2020 at 1:15 PM ABD ALRHMAN ABO ALKHEEL 
mailto:abdkeel...@hotmail.com>> wrote:
Hi Jason,

Thanks for your email.

What I want to do is finding the memory address that the LD instruction loads 
data from ( I can get the physical and virtual address from the Read method in 
the lsqunit)http://pages.cs.wisc.edu/~swilson/gem5-docs/classLSQUnit.html and 
saving those addresses. After a specific time, I want to access the memory to 
read the data from those addresses. Can I use getSystemPort function to access 
the memory and read the data from those addresses? If so, should I use the 
virtual address or the physical address?

Thanks



From: Jason Lowe-Power mailto:ja...@lowepower.com>>
Sent: Monday, August 3, 2020 3:26 PM
To: gem5 users mailing list mailto:gem5-users@gem5.org>>
Cc: gem5-users 
mailto:gem5-users-boun...@gem5.org>>; ABD ALRHMAN 
ABO ALKHEEL mailto:abdkeel...@hotmail.com>>
Subject: Re: [gem5-users] Re: Reading from memory in Gem5

Hello,

This sounds like you probably want to use "functional" accesses. These are 
built for introspection and debugging, which is what it sounds like you want to 
do. Using the System object, there is a `getSystemPort` function that will 
return a gem5 port that you can use with functional accesses to "backdoor" into 
the memory. See 
http://doxygen.gem5.org/release/current/classSystem.html#a5ecbd1eaa3e0d19f4640bb71a0b59d64.

Cheers,
Jason

On Sun, Aug 2, 2020 at 7:01 AM ABD ALRHMAN ABO ALKHEEL via gem5-users 
mailto:gem5-users@gem5.org>> wrote:
Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks


From: ABD ALRHMAN ABO ALKHEEL
Sent: Saturday, August 1, 2020 3:19 PM
To: gem5 users mailing list mailto:gem5-users@gem5.org>>; 
gem5-users mailto:gem5-users-boun...@gem5.org>>
Subject: Reading from memory in Gem5

Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org>
To unsubscribe send an email to 
gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org>
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Reading from memory in Gem5

2020-08-02 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks


From: ABD ALRHMAN ABO ALKHEEL
Sent: Saturday, August 1, 2020 3:19 PM
To: gem5 users mailing list ; gem5-users 

Subject: Reading from memory in Gem5

Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Reading from memory in Gem5

2020-08-01 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All, how to read data from memory in Gem5 ? Can I read data from memory in 
Gem5  for a specific addresses? If so, should I use the virtual address or 
physical address? For example, how load instructions read the data from memory? 
Any help would be appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Reading data from memory in Gem5

2020-07-27 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Any suggestions would be appreciated. Thanks


From: ABD ALRHMAN ABO ALKHEEL via gem5-users 
Sent: Monday, July 27, 2020 12:43 AM
To: gem5 users mailing list ; gem5-users 

Cc: ABD ALRHMAN ABO ALKHEEL 
Subject: [gem5-users] Reading data from memory in Gem5

Hi All, how to read data from memory in Gem5 using virtual address? Can I read 
data from memory in Gem5  for a specific addresses? If so, should I use the 
virtual address or physical address? Any help would be appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Reading data from memory in Gem5

2020-07-26 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All, how to read data from memory in Gem5 using virtual address? Can I read 
data from memory in Gem5  for a specific addresses? If so, should I use the 
virtual address or physical address? Any help would be appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] CDB in GEM5

2020-07-23 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

Where can I find the instructions that are waiting on the CDB (common data bus) 
in gem5??

Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Instructions on memory bus-O3CPU

2020-07-22 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

I want to find the memory address that the LD instruction loads data from and 
track the instruction that consumes the data obtained by the load.(i.e. the 
load loads data from a given address into a register X, then the AND 
instruction consumes the data from the memory bus before that data is committed 
to the X register ).  Where can I find the place that the instructions are 
waiting on the memory bus? is it in IEW_impl.hh?

Any help would be appreciated.

Thanks



___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Load and store instructions in gem5

2020-07-18 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All, I want to ask about the memory instructions (LD & ST), do these 
instructions execute in LSQ or in the instruction queue IQ? Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Load forwarding to other instructions-O3CPU

2020-07-16 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Any help would be appreciated.


From: ABD ALRHMAN ABO ALKHEEL via gem5-users 
Sent: Wednesday, July 15, 2020 10:15 PM
To: gem5 users mailing list ; gem5-users 

Cc: ABD ALRHMAN ABO ALKHEEL 
Subject: [gem5-users] Load forwarding to other instructions-O3CPU

Hi All,

I want to find the memory address that the LD instruction loads data from and 
track the instruction that consumes the data obtained by the load.(i.e. the 
load loads data from a given address into a register X, then the AND 
instruction consumes that X register).  The load forwarding may be in the LSQ 
but I am not sure. Any help or suggestion on where can I find the load 
forwarding to other instructions would be appreciated.

Thanks



___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Load forwarding to other instructions-O3CPU

2020-07-15 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

I want to find the memory address that the LD instruction loads data from and 
track the instruction that consumes the data obtained by the load.(i.e. the 
load loads data from a given address into a register X, then the AND 
instruction consumes that X register).  The load forwarding may be in the LSQ 
but I am not sure. Any help or suggestion on where can I find the load 
forwarding to other instructions would be appreciated.

Thanks



___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Load forwarding to other instructions-O3CPU

2020-07-15 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

I want to find the memory address that the LD instruction loads data from and 
track the instruction that consumes the data obtained by the load.(i.e. the 
load loads data from a given address into a register X, then the AND 
instruction consumes that X register).  The load forwarding may be in the LSQ 
but I am not sure. Any help or suggestion on where can I find the load 
forwarding to other instructions would be appreciated.

Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Memory -Address -Gem5-O3

2020-07-13 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Thanks Patel for your email.

But I want to change in the source code because I want to find the address for 
the load instruction followed by specific instruction. Do you know where in 
gem5 should I make the changes? For instance, I want to know the memory 
addresses of every LD instruction followed by MOV and save those addresses in 
text file.

Thanks



From: VIPIN PATEL via gem5-users 
Sent: Monday, July 13, 2020 5:56 PM
To: gem5 users mailing list 
Cc: VIPIN PATEL 
Subject: [gem5-users] Re: Memory -Address -Gem5-O3

Hi Alrhman,

Look into the protocol state machine, say L1cache state machine. More 
specifically you can modify the mandatory_queue_in code for your requirement. 
The sequencer puts the CPU request into mandatory queue.

Revert incase of any query.

Regards,
Vipin

On Mon, 13 Jul, 2020, 01:18 ABD ALRHMAN ABO ALKHEEL via gem5-users, 
mailto:gem5-users@gem5.org>> wrote:
Hi All, I am currently working on Gem5 with CPU O3 and I want to collect each 
instruction and it’s memory address , I can do that by using - 
-debug-file=Exec. But I want to know where can I find those address and print 
them on txt file. Which file does do that in Gem5? Any help would be 
appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org>
To unsubscribe send an email to 
gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org>
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Memory -Address -Gem5-O3

2020-07-13 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Thanks Carlos for your help.

But I want to change in the source code because I want to find the address for 
the load instruction followed by specific instruction. Do you know where in 
gem5 should i make the changes ?

Thanks


From: Francisco Carlos via gem5-users 
Sent: Monday, July 13, 2020 4:59 PM
To: gem5 users mailing list 
Cc: Francisco Carlos 
Subject: [gem5-users] Re: Memory -Address -Gem5-O3

hello Abd,

You can see a similar output by enabling the Exec debug-flag. I would suggest 
you look at the gem5 documentation to further details in the debug-flags 
available and how to use them. 
(http://learning.gem5.org/book/part2/debugging.html#:~:text=gem5%20provides%20support%20for%20printf,enable%20from%20the%20command%20line.)

A quick answer for you question is the following command :

./build/x86/gem.opt  --debug-flag=Exec configs/se.py -c 

With this command, the output will be printed in the console. You can also 
redirect the output to a file by adding --debug-file=file.txt.

Tip: You can use grep to filter only memory access.

Best regards.

--
Francisco Carlos Silva Junior
Phd Student at University of Brasilia


De: ABD ALRHMAN ABO ALKHEEL via gem5-users 
Enviado: segunda-feira, 13 de julho de 2020 13:02
Para: gem5-users ; gem5 users mailing list 

Cc: ABD ALRHMAN ABO ALKHEEL 
Assunto: [gem5-users] Re: Memory -Address -Gem5-O3

Hi All,

Which file in gem5 prints the following output? I want to find the memory 
address for each instruction. Any help would be appreciated.

[cid:98ceb09f-11ce-44d2-9afd-a7a6af430c10]


From: ABD ALRHMAN ABO ALKHEEL
Sent: Sunday, July 12, 2020 7:46 PM
To: gem5-users ; gem5 users mailing list 

Subject: Memory -Address -Gem5-O3

Hi All, I am currently working on Gem5 with CPU O3 and I want to collect each 
instruction and it’s memory address , I can do that by using - 
-debug-file=Exec. But I want to know where can I find those address and print 
them on txt file. Which file does do that in Gem5? Any help would be 
appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Memory -Address -Gem5-O3

2020-07-13 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

Which file in gem5 prints the following output? I want to find the memory 
address for each instruction. Any help would be appreciated.

[cid:eb12e102-62a0-40c1-90a3-38629a58b9fc]


From: ABD ALRHMAN ABO ALKHEEL
Sent: Sunday, July 12, 2020 7:46 PM
To: gem5-users ; gem5 users mailing list 

Subject: Memory -Address -Gem5-O3

Hi All, I am currently working on Gem5 with CPU O3 and I want to collect each 
instruction and it’s memory address , I can do that by using - 
-debug-file=Exec. But I want to know where can I find those address and print 
them on txt file. Which file does do that in Gem5? Any help would be 
appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Memory -Address -Gem5-O3

2020-07-12 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All, I am currently working on Gem5 with CPU O3 and I want to collect each 
instruction and it’s memory address , I can do that by using - 
-debug-file=Exec. But I want to know where can I find those address and print 
them on txt file. Which file does do that in Gem5? Any help would be 
appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Running a program on GEM5 for specific number of instructions

2020-07-08 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

I want to run a program for 100k instructions but I want to skip the first 50k 
instructions? How can i do this? Any help would be appreciated.

Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] dump the data in text file in gem5

2020-06-26 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

I made some changes on gem5 source code to collect the performance counters on 
a text file and I built the gem5 without any error. but I am not able to see 
the text file in the gem5 directory?

Does anyone know how to dump the text file in gem5? any help would be 
appreciated.

Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] how to run program on gem5 across different number of cycles

2020-06-22 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

I want to run a program on GEM5 se mode across a different number of cycles, 
for example, 1K cycles, 10K, 100K...etc.

How I can do that?

Thanks


___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s