svn commit: r225892 - head/sys/mips/mips
Warner Losh
imp at bsdimp.com
Tue Oct 4 02:42:20 UTC 2011
On Oct 3, 2011, at 7:38 PM, Adrian Chadd wrote:
> On 4 October 2011 07:09, Andrew Duane <aduane at juniper.net> wrote:
>> The COP0_SYNC's should be there (should there also be one after the MTC0 in MipsKernIntr?). The ISA says a hazard is needed, so that should be reflected. I assume different platforms define COP0_SYNC for themselves as needed?
>
> Is one needed after the mtc0 after StartWaitSkip?
I don't think it matters. The COP0_SYNC is needed when you want to flush the instruction pipeline so that changes to COP0 don't affect them 'randomly'. However, in this case. Either we're setting a bit that's already set, which won't change anything, or we're setting a bit that's clear, which will just delay the delivery of the interrupt a few cycles. The race where it happens before the wait instruction is handled by the rest of the patch.
Warner
More information about the freebsd-mips
mailing list