Re: [Gems-users] Ruby for x86 machine


Date: Tue, 29 Dec 2009 01:09:03 -0800 (PST)
From: Muhammad abid Mughal <mabidm_pieas@xxxxxxxxx>
Subject: Re: [Gems-users] Ruby for x86 machine
Hi,
There are three cases
 1. Opal + Ruby
 2. Simics(Sparc)+ Ruby and 
 3. Simics (x86) + Ruby.

You have performed the first one but to perform 2nd or 3rd you have to  follow:
   If you are using Simics and Ruby then for every memory operation(ie  ld/st/atomic/ifetch/prefetch/dma/io, etc)  simics calls this function
     SimicsDriver::makeRequest() and this function filters out all  unsupported operations(ie i/o , DMA,cache flush, prefetch)
 via  SimicsDriver::isUnhandledTransaction(). so this way DMA/ io operations  are not passed to Ruby and not cached in any caches.

 you need to make some changes to this function  SimicsDriver::isUnhandledTransaction(). whenever memory is accessed by DMA
 or I/O device this  IS_DEV_MEM_OP(mem_trans->s.ini_type) returns true and you can use  'mem_trans' arg to do some profiling
 Hope it helps
 Regards,
 Muhammad abid
 


From: Sitos Lin <sitos.lin@xxxxxxxxx>
To: Gems Users <gems-users@xxxxxxxxxxx>
Sent: Tuesday, December 29, 2009 16:02:38
Subject: Re: [Gems-users] Ruby for x86 machine

Hi:
  I found that for both sparc and x86 machine, ruby is attached to
phys_mem0 (x86) or phys_mem (sparc). If the phys_mem0 (or phys_mem)
represnets the physical memory. Why I can get the memory requests from
device in Sparc/Ruby, but only get the memory requests from processor
in x86/Ruby? Does some objects filter the requests from device in x86
machine, so that them can not reach phys_mem0? Thank you.
Best regards,
  Sitos

2009/12/29 Muhammad abid Mughal <mabidm_pieas@xxxxxxxxx>:
> Hi,
>     You dont need to attach Ruby to physical memory, its already attached.In
> Simics , Every physical memory object (of class ram) has associated
> memory-space(class of simics) object.. To see if ruby attached ,Type
> following commands on simics CLI
> Ultrsparc processor specific, Give them a try
>  list-objects    display all objects in the system . try to find obj like
> "phys_mem0" then type
> phys_memo.map   Display which ram object(s) this memory space is attached
> @conf.phys_mem0.timing_model  If ruby attached then display ruby
> @conf.cpu0.physical_memory  Display name of memory-space to which this
> processor attached
>
> To see how Ruby attached to timing_model of memory-space
> see init_local in ruby.c file
>
> Regards,
> Muhammad abid
> ________________________________
> From: Sitos Lin <sitos.lin@xxxxxxxxx>
> To: Gems Users <gems-users@xxxxxxxxxxx>
> Sent: Tuesday, December 29, 2009 12:37:08
> Subject: Re: [Gems-users] Ruby for x86 machine
>
> Hello:
>   I attach Ruby to the x86 machine by following the same instructions
> from the quick start:
>
> instruction-fetch-mode instruction-fetch-trace
> istc-disable
> dstc-disable
> cpu-switch-time 1
> load-module ruby
> ruby0.setparam g_NUM_PROCESSORS 1
> ruby0.setparam g_MEMORY_SIZE_BYTES 4294967296
> ruby0.init
>
>   There is no instruction indicating which physical memory objects
> ruby attach to. How can I attach ruby to a specific memory object?
> Thank you.
>
> Best regards,
>   Sitos
>
> 2009/12/28 Dan Gibson <degibson@xxxxxxxx>:
>> Sitos,
>> Make sure you have attached Ruby to all physical memory objects. The
>> serengeti target in Simics has only one, but as I recall, the x86 target
>> has
>> many physical memory spaces.
>>
>> Regards,
>> Dan
>>
>> On Mon, Dec 28, 2009 at 4:03 AM, Sitos Lin <sitos.lin@xxxxxxxxx> wrote:
>>>
>>> Hello:
>>>  I have modified several files in Ruby to capture the memory access
>>> from device (DMA operations). It works well with Sparc machine. I can
>>> see the memory requests both from processor and device. However, when
>>> I load Ruby module to a x86 machine, there are only requests from
>>> processor without the requests from device. Do x86 machine need
>>> additional modifications? Thanks.
>>> Best regards,
>>>  Sitos
>>> _______________________________________________
>>> Gems-users mailing list
>>> Gems-users@xxxxxxxxxxx
>>> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
>>> Use Google to search the GEMS Users mailing list by adding
>>> "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
>>>
>>
>>
>>
>> --
>> http://www.cs.wisc.edu/~gibson [esc]:wq!
>>
>> _______________________________________________
>> Gems-users mailing list
>> Gems-users@xxxxxxxxxxx
>> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
>> Use Google to search the GEMS Users mailing list by adding
>> "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
>>
>>
>>
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
>
>
> ________________________________
> Get your preferred Email name!
> Now you can @ymail.com and @rocketmail.com.
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
>
>
>
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.



Get your new Email address!
Grab the Email name you've always wanted before someone else does!
[← Prev in Thread] Current Thread [Next in Thread→]