Date: | Tue, 29 Dec 2009 01:42:55 -0800 (PST) |
---|---|
From: | Muhammad abid Mughal <mabidm_pieas@xxxxxxxxx> |
Subject: | Re: [Gems-users] Ruby for x86 machine |
actually sparc uses memory-mapped i/o so you can i/o req whereas x86 does not it uses special i/o inst (IN and OUT) and separate address space you have to find i/o address-space obj then attach Ruby as i told u already I have not done it before From: Sitos Lin <sitos.lin@xxxxxxxxx> To: Gems Users <gems-users@xxxxxxxxxxx> Sent: Tuesday, December 29, 2009 17:14:05 Subject: Re: [Gems-users] Ruby for x86 machine Hello: I am trying case 2 and 3, and I have modified the files simics/SimicsDriver and simics/SimicsProcessor to capture the requests filtered in function isUnhandledTransaction(). Here, my question is this modification can capture all requests (including the ones filtered out in isUnhandledTransactions: ifetch/prefetch/dma/io ...) for case 2, but not works for case 3. That means, isUnhandledTransaction does not receive the requests such as DMA/IO. So, I can not capture the requests from device in x86 machine. So, I have no idea what's wrong. :) Best regards, Sitos 2009/12/29 Muhammad abid Mughal <mabidm_pieas@xxxxxxxxx>: > 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! > _______________________________________________ > 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. |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | Re: [Gems-users] Ruby for x86 machine, Sitos Lin |
---|---|
Next by Date: | Re: [Gems-users] Ruby for x86 machine, Dan Gibson |
Previous by Thread: | Re: [Gems-users] Ruby for x86 machine, Sitos Lin |
Next by Thread: | Re: [Gems-users] Ruby for x86 machine, Dan Gibson |
Indexes: | [Date] [Thread] |