]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
MIPS: Take in account load hazards for HI/LO restoring
authorSiarhei Volkau <lis8215@gmail.com>
Tue, 30 Apr 2024 15:45:58 +0000 (18:45 +0300)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Fri, 3 May 2024 12:22:38 +0000 (14:22 +0200)
commit07e6a6d7f1d9fa4685003a195032698ba99577bb
treeb165364619eff3753f7f3a7c11b681a9fae67176
parentbfe4ab93c80cc5689ab5a891e61013dfec48f56e
MIPS: Take in account load hazards for HI/LO restoring

MIPS CPUs usually have 1 to 4 cycles load hazards, thus doing load
and right after move to HI/LO will usually stall the pipeline for
significant amount of time. Let's take it into account and separate
loads and mthi/lo in instruction sequence.

The patch uses t6 and t7 registers as temporaries in addition to t8.

The patch tries to deal with SmartMIPS, but I know little about and
haven't tested it.

Changes in v2:
- clear separation of actions for SmartMIPS and pre-MIPSR6.

Signed-off-by: Siarhei Volkau <lis8215@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/include/asm/stackframe.h