MFC: r245850
Revert the part of r239864 (MFC'ed to stable/9 in r241681) which removed
obtaining the SMP mutex around reading registers from other CPUs. As it
turns out, the hardware doesn't really like concurrent IPI'ing causing
adverse effects. Also the thought deadlock when using this spin lock here
and the targeted CPU(s) are also holding or in case of nested locks can't
actually happen. This is due to the fact that on sparc64, spinlock_enter()
only raises the PIL but doesn't disable interrupts completely. Thus direct
cross calls as used for the register reading (and all other MD IPI needs)
still will be executed by the targeted CPU(s) in that case.
git-svn-id: svn://svn.freebsd.org/base/stable/9@246014
ccf9f872-aa2e-dd11-9fc8-
001c23d0bc1f