RubySystem::getMemoryVector()->read(Address(paddr), data, len);
}
-bool libruby_isReady(RubyPortHandle p, struct RubyRequest request) {
- return static_cast<RubyPort*>(p)->isReady(request, true);
-}
-
int64_t libruby_issue_request(RubyPortHandle p, struct RubyRequest request)
{
return static_cast<RubyPort*>(p)->makeRequest(request);
*/
int64_t libruby_issue_request(RubyPortHandle p, struct RubyRequest request);
-
-/**
- *
- */
-bool libruby_isReady(RubyPortHandle p, struct RubyRequest request);
-
/**
* writes data directly into Ruby's data array. Note that this
* ignores caches, and should be considered incoherent after
virtual int64_t makeRequest(const RubyRequest & request) = 0;
- virtual bool isReady(const RubyRequest & request, bool dont_set = false) = 0;
-
void registerHitCallback(void (*hit_callback)(int64_t request_id)) {
assert(m_hit_callback == NULL); // can't assign hit_callback twice
m_hit_callback = hit_callback;