Review Board 2.0.15


ARM: Add IsSerializeAfter and IsNonSpeculative flag to the syscall instruction .

Review Request #901 - Created Nov. 3, 2011 and submitted

Information
Ali Saidi
gem5
Reviewers
Default
ali, gblack, nate, stever
ARM: Add IsSerializeAfter and IsNonSpeculative flag to the syscall instruction .

Squashes the subsequent instructions in O3 pipe after the service call, so that
they see the effect of the system call when re-executed. This isn't really an issue
with FS mode, but can show up in SE mode.

   
Ship it!
Posted (Nov. 5, 2011, 6 p.m.)
It would be nice if we could specialize the flags for SE and FS modes since the behavior and requirements are different, but that probably wouldn't be worth the effort right now. Looks good to me.
  1. In theory it should be the same for both, with fs we were just getting lucky that the fault to handle the syscall is serializing the execution. 
    
    
  2. I wouldn't call it lucky, I'd say the reason it's implemented (in real life) as a fault is partly to provide the serialization, and arguably the reason it doesn't work in se is because we don't treat it like a fault as we should.  But this works too...