Hi Nilay, Yes, the request pointer being NULL was creating the issue. I also checked that the problem is arising when dataMemReq is not NULL. So, cache_req->memReq is not being allocated at all(as you suggested). In the current issue, I am hitting the first case of setupMemRequest in [ if (!cache_req->is2ndSplit()) ]. The second case of the setupMemRequest function is proper, as it updates the cache_req outside the NULL check clause. I also moved the cache_req->memReq updation to outside the NULL clause in the first case. The segfault seems to be resolved at that cycle. I will keep posted, if I run into some other issues as the run progresses. Any reason for it being inside the clause and not outside?
Thanks, Reena On Mon, May 16, 2011 at 11:43 AM, Nilay Vaish <[email protected]> wrote: > Reena, > > Can you move the assert to doTLBAccess() function and check if > cache_req->memReq is NULL before translateAtomic is called? > > If it is NULL, then check which of the two cases in setupMemRequest was > hit? > > Korey, > > It seems to me that line 399 > > > cache_req->memReq = inst->dataMemReq; > > should be out side the if condition on (inst->dataMemReq == NULL) > > -- > Nilay > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
