I think the purpose of libruby was that back in the day GEMS/Ruby was able to be hooked up to several other drivers like Bochs, and libruby encapsulated the APIs to be able to talk to these other guys.
Caveat - this is what I recall hearing Brad say, I can't say for sure. But since I'm going through my mail and saw this hadn't been answered, I decided to throw a bone. Lisa On Tue, Jan 18, 2011 at 8:17 PM, Nilay <ni...@cs.wisc.edu> wrote: > Brad, > > What was the purpose of libruby? > Don't want to sound critical, but when I went through that code, I had the > feeling it could have been done in a better fashion. I had similar > thoughts about ruby/common/Address.hh, in particular about the fact that > it makes calls to RubySystem. Those functions that make calls to > RubySystem should, in my opinion, go in to Address.cc. Keeping them in > Address.hh creates unnecessary cyclical dependencies. > > I am thinking of introducing a new header file RubyRequest.hh (which will > contain the request class currently in libruby) in slicc_interface > directory and doing away with CacheMsg class in RubySlicc_Exports. But > currently I am inclined towards keeping the RequestTypes and AccessModes > in RubySlicc_Exports (don't want to change protocol files). > > The patch is almost ready, except that it is not working correctly right > now :) > > Nilay > > > On Tue, January 18, 2011 1:33 pm, Beckmann, Brad wrote: > > Nilay, > > > > Are you trying to replace CacheMsg with RubyRequest? I agree that we can > > probably get rid of one of them. If I recall, right now RubyRequest is > > defined in libruby.hh. Is the Ruby library interface still important to > > you all at Wisconsin? If not, I would like to get rid of the libruby > > files. > > > > Brad > > > > > >> -----Original Message----- > >> From: m5-dev-boun...@m5sim.org [mailto:m5-dev-boun...@m5sim.org] > >> On Behalf Of Nilay Vaish > >> Sent: Tuesday, January 18, 2011 10:45 AM > >> To: M5 Developer List > >> Subject: Re: [m5-dev] Question on SLICC > >> > >> Figured that out last night. I also noticed that there is comment about > >> it in > >> RubySlicc_Types.sm (should read files more carefully). Actually, I am > >> trying to > >> get rid of CacheMsg class. Currently, RubyRequest is created from packet > >> (which I believe is an m5 primitive) and then a CacheMsg is created from > >> RubyRequest. > >> > >> Thanks > >> Nilay > >> > >> > >> On Tue, 18 Jan 2011, nathan binkert wrote: > >> > >> >> There are certain types defined in the file > >> >> src/mem/protocol/RubySlicc_Types.sm. For each of the type is .hh is > >> >> gets written which contains the path of the actual header file to be > >> >> used. For example, the file RubySlicc_Types.sm defines CacheMemory > >> >> type. This type is actually defined in the file > >> >> src/mem/ruby/system/CacheMemory.hh. When a protocol is compiled, > >> the > >> >> file build/<protocol_name>/mem/protocol/CacheMemory.hh gets > >> written. > >> >> This file contains just one line - #include "<path to > >> >> CacheMemory.hh>" > >> >> > >> >> My question is which script writes this file. I have looked around > >> >> but have not been able to figure it out yet. > >> > > >> > That gets done in src/mem/ruby/SConscript. The reason it gets done > >> > there is because the .hh file is actually in the system directory, but > >> > the way the slicc code is generated, it tries to include it from the > >> > protocol directory. In the original slicc/ruby, this didn't matter > >> > because all directories were in the include search path, but in M5 we > >> > need to know the path. There was no easy way to fix this, so this > >> > ugly band aid exists. Be awesome to get rid of it. > >> > > >> > Nate > >> > _______________________________________________ > >> > m5-dev mailing list > >> > m5-dev@m5sim.org > >> > http://m5sim.org/mailman/listinfo/m5-dev > >> > > > > > _______________________________________________ > > m5-dev mailing list > > m5-dev@m5sim.org > > http://m5sim.org/mailman/listinfo/m5-dev > > > > _______________________________________________ > m5-dev mailing list > m5-dev@m5sim.org > http://m5sim.org/mailman/listinfo/m5-dev > >
_______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev