freebsd-skq/sys/mips
Warner Losh 8d77cd5069 Remove all the NOPs after SYNC. They aren't needed.
They originated in the original Octeon port. They weren't present, as
far as I can tell, on the projects/mips branch until after this
point. They were in the original Octeon port in code picked up from
the vendor, who I've been able to find out trolling old email put them
there to get around an SMP problem that most likely was fixed in other
ways.

NetBSD and Linux don't have these, except for some specific uses of
SYNC on the alchemy parts (which we don't support, but even if we did
it is only a specific case and would be specifically coded
anyway). This is true of the current Linux code, as well as one old
version I polled.

I looked back at the old R12000, R8000, R6000, R4000, R4400 errata
that I have, and could find no mention of SYNC needing NOPs for
silicon bugs (although plenty of other cases where NOPs and other
contortions were needed).

An Google search turned up no old mailing list discussions on this on
Linux, NetBSD or FreeBSD (except the disussion that kicked off these
studies).

I've test booted this on my Octeon Plus eval board and survived a
buildworld. Adrian Chadd reports that this patch has no ill effects on
the Ahteros platforms he tested it on.

I conclude it is safe to just remove the NOPs. But added
__MIPS_PLATFORM_SYNC_NOPS as a failsafe in case we find some platform
where these are, in fact, required.

Reviewed by:	adrian@
2013-07-07 16:12:22 +00:00
..
adm5120 Fix low-level uart drivers that set their fifo sizes in the softc too late. 2013-04-01 00:44:20 +00:00
alchemy Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
atheros Add the AR933x SoC GPIO pin count limitation. 2013-05-02 00:40:45 +00:00
beri Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
cavium Use cvmx_mgmt_port_num_ports() instead of the inlined copy of a 2013-05-02 19:47:36 +00:00
conf Oops - fix bad hint numbering for the ART section. 2013-07-04 08:42:20 +00:00
gxemul Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
idt Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
include Remove all the NOPs after SYNC. They aren't needed. 2013-07-07 16:12:22 +00:00
malta Add the static kernel boot environment, needed to actually boot this thing. 2013-04-17 18:26:01 +00:00
mips Make support for atomics on ARM complete. 2013-06-15 08:15:22 +00:00
nlm Fix incorrect KASSERTs in xlpge 2013-04-12 16:03:22 +00:00
rmi MFcalloutng: 2013-02-28 13:46:03 +00:00
rt305x Fix undefined behaviour in several gpio_pin_setflags() routines (under 2013-04-13 21:21:13 +00:00
sentry5 Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
sibyte Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00