Re: [Gems-users] Migrate Ruby to other platform!


Date: Wed, 6 Dec 2006 13:30:44 +0800
From: "hongxia sun" <sunhx.seraph@xxxxxxxxx>
Subject: Re: [Gems-users] Migrate Ruby to other platform!
Hi, Dan,
 
Thank you for your prompt reply!
I will try it. And if our porting succeeds,  we will post news and sharing our port.
 
Best Regards,
Hongxia SUN

 
2006/12/6, Dan Gibson <degibson@xxxxxxxx>:
The role of ruby.c is to "hook up" Ruby to Simics. You can probably omit ruby.c and call the functions in your Driver and Processor objects directly.

As far as init.C , you may want to keep that code, or copy it elsewhere, as it performs the instantiation of Ruby proper.

I suppose it would be possible to omit compiling initvar.C and friends if all configurations were done at compile-tiem, but I wouldn't recommend it--that would be a major step backwards, and all the work to configure ruby dynamically has been done already. Have a look at how Ruby's random tester is built -- it, too is a standalone binary and it also uses initvar.C, confio.C, etc.

Good luck with your port! Please post news of your success (post-publication is fine!) to this list, and please consider sharing your port!

Regards,
Dan Gibson

hongxia sun wrote:
Dear all,
 
We are trying to migrate Ruby to another functional instruction simulator.
I built a new Driver and a new Processor to replace GEMS/ruby/simics/SimicsDriver and SimicsProcessor. And I used our API substituting Simics API.
All these had been compiled successfully. And now, I'm trying to modify GEMS/ruby/module/ruby.c and GEMS/ruby/init.h and init.C.
 
On my understanding, ruby.c is an interface between Simics and Ruby, which hooks the "external" c files that called by Simics to the C++ implementation of Ruby commands.
Because Ruby is a timing model for Simics, in it's init_local(), Ruby is registered to Simics as a timing model.
My question is: If we do not use Ruby as an independent model, could we omit this part?
 
I also noticed that ruby.c called some functions defined in GEMS/common/ioutil/initvar.h to register Ruby parameters to Simics.
My question is: If we do not need to configurate Ruby dynamically, could we omit this part and do not compile initvar.C at all?
 
If so, we do not have to implement those special Simics API for these usages.
 
Any reply will be very appreciative!
Thank you!
 
Best Regards,
Hongxia SUN

_______________________________________________ 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.




[← Prev in Thread] Current Thread [Next in Thread→]