I'm pretty sure that was in the code a while back, but I can not locate this
currently in O3. Has this been removed?

In SE mode, I would think squashing after a system call is necessary because
real system calls would need to save/restore context to Memory before
returning to user-mode execution since the OS would naturally use the
context on the CPU to service the syscall. M5 in SE mode just models that
the register return values get set correctly.

However, in O3 speculative execution, there is no dependency kept between
what registers a system call might update and the next PC counters of the
system call.

It would probably be unrealistic to keep that type of dependency in the 1st
place, so I'm wondering how does SE mode work for other ISAs if we aren't
squashing after system calls? Or are we just lucky there?

And lastly, since we are incorporating timing for events like TLB
translation in SE mode wouldnt it also make sense to have some default
latency for system calls as well?

-- 
----------
Korey L Sewell
Graduate Student - PhD Candidate
Computer Science & Engineering
University of Michigan
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to