Well it's hard to suggest a solution given that we dont know what changed
w/the inorder code for this assert to get triggered.

The basics is just that you need to understand what that "blocksInUse"
variable is for. I think that it the number of blocks pending in the fetch
unit, but to double check, just open up that .cc file and see where that
variable is being updated.

I'm not sure what the surrounding code is around that assert, but check
that as well for context. Seems like the CPU won't trap until it's drained
and it's not counting it as drained until the blocksInUse variable is
cleared. That may be a conservative check though so you'll have to dig in
and figure out if that's removable or not.

On Wed, May 23, 2012 at 10:58 AM, Yuval H. Nacson <
[email protected]> wrote:

> Hello,****
>
> ** **
>
> I'm toying around with the inorder CPU code and I'm trying to run two
> threads.****
>
> I get the following message:****
>
> ** **
>
> gem5.debug: build/ALPHA_SE/cpu/inorder/resources/fetch_unit.cc:590:
> virtual void FetchUnit::trap(Fault, ThreadID, ThePipeline::DynInstPtr):
> Assertion `blocksInUse() == 0' failed.****
>
> ** **
>
> ** **
>
> Any idea where to look for solution?****
>
> ** **
>
> Thanks,****
>
> Yuval.****
>
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>



-- 
- Korey
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to