Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MIPS: Add missing EHB in mtc0 -> mfc0 sequence.
commit 0b24cae upstream. Add a missing EHB (Execution Hazard Barrier) in mtc0 -> mfc0 sequence. Without this execution hazard barrier it's possible for the value read back from the KScratch register to be the value from before the mtc0. Reproducible on P5600 & P6600. The hazard is documented in the MIPS Architecture Reference Manual Vol. III: MIPS32/microMIPS32 Privileged Resource Architecture (MD00088), rev 6.03 table 8.1 which includes: Producer | Consumer | Hazard ----------|----------|---------------------------- mtc0 | mfc0 | any coprocessor 0 register Signed-off-by: Dmitry Korotin <[email protected]> [[email protected]: - Commit message tweaks. - Add Fixes tags. - Mark for stable back to v3.15 where P5600 support was introduced.] Signed-off-by: Paul Burton <[email protected]> Fixes: 3d8bfdd ("MIPS: Use C0_KScratch (if present) to hold PGD pointer.") Fixes: 829dcc0 ("MIPS: Add MIPS P5600 probe support") Cc: [email protected] Cc: [email protected] # v3.15+ Signed-off-by: Greg Kroah-Hartman <[email protected]>
- Loading branch information