I figured out what's going on and there is no bug. It was only because of some changes in the new version of the M5 which were not consistent with the previous version my code was written for.
Navid. On Sat, May 21, 2011 at 10:27 AM, Navid Farazmand <[email protected]>wrote: > I have a problem with register renaming stage. > At some point in function "DefaultRename<Impl>::renameDestRegs(DynInstPtr > &inst, ThreadID tid)" a physical register is chosen to be assigned to an > architectural register which is out of range. More specifically, number of > Physical Integer registers is 256 while at some point register # 288 is > chosen to be assigned to Arch Int Reg. > As far as I realized, there is a free list class which is a container for > the free registers. I made sure that at the beginning only registers 40-255 > are put in the free list. I am not sure how and where in the code possibly > register 288 is added to the the free list. But, I am still suspicious this > happens because I have not found any range checking in the code yet that can > detect such case. So, even if the problem exists it might have not been > detected. > I am modifying the code and I need to use the assigned Phys Register > number. Apparently my code initializes data structures according to "Number > of Physical Registers" and does not accept register 288 as argument. > > Any idea about if this is possible and where I should investigate the > source of the fault. > > Thanks, > Navid. >
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
