Quoting Ali Saidi <sa...@umich.edu>:



On 2011-02-24 14:56:09, Gabe Black wrote:
> This is actually better than my initial impression suggested. I think I saw all the lines from the Ra->URa change and got confused since those didn't have anything to do with RFE. I jumped to the conclusion that you guys had some big, elaborate, round about implementation for this when really you have two changes stuck together.
>
> I'm not 100% sure you're safe with out the PC change even if you rearrange things this way. What's going to happen is the NPC is going to be forced to PC + size of the instruction after every instruction is generated, even if that's wrong and is corrected by a branch mispredict. The problem manifests itself functionally when you have a mispredict and don't immediately move the NPC into the PC, preserving the correct control flow. That happened here because you were staying on the same inst to do more microops. I think most of the time if you put the branching microop last you'll get away with it, but I have a creeping doubt that there's some other corner case where it'll get you in trouble. I do agree that the ARM PC state is pretty complicated and it would be nice to slim it down somehow, or at least not make it worse.

There is always that case, but there is also the possibility that we'll accidentally introduce other weird bugs in the process. Right now we know this devil and there aren't many left. This is one of the last changes until the O3 cpu boots Linux/ARM.


Good to hear. If you guys are comfortable with it and you know the risks, then it's ok with me. We should put a big fat comment someplace so nobody unwittingly reintroduces the problem. I'm not sure where to put it where it's guaranteed to be seen, though.

On 2011-02-24 14:56:09, Gabe Black wrote:
> src/arch/arm/isa/operands.isa, line 231
> <http://reviews.m5sim.org/r/474/diff/1/?file=10293#file10293line231>
>
> There isn't anything inherently wrong with changing these names, but it doesn't belong in this patch. It causes a lot of code to change that doesn't have anything to do with RFE.

This patch made it clear that the names had to be changed, although it can be done in a separate patch. There was some conflict with one of the names that led to an invalid substitution.



Yeah, it makes sense to put that in a patch preceding this one then. Those sound like two distinct fixes.

Gabe
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to