linux-stable/arch
Jiaxun Yang 7364d60c26 bpf, mips: Implement R4000 workarounds for JIT
For R4000 erratas around multiplication and division instructions,
as our use of those instructions are always followed by mflo/mfhi
instructions, the only issue we need care is

"MIPS R4000PC/SC Errata, Processor Revision 2.2 and 3.0" Errata 28:
"A double-word or a variable shift may give an incorrect result if
executed while an integer multiplication is in progress."

We just emit a mfhi $0 to ensure the operation is completed after
every multiplication instruction according to workaround suggestion
in the document.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Johan Almbladh <johan.almbladh@anyfinetworks.com>
Link: https://lore.kernel.org/bpf/20230228113305.83751-3-jiaxun.yang@flygoat.com
2023-02-28 14:52:55 +01:00
..
alpha Scheduler updates in this cycle are: 2023-02-20 17:41:08 -08:00
arc
arm Networking changes for 6.3. 2023-02-21 18:24:12 -08:00
arm64 Networking changes for 6.3. 2023-02-21 18:24:12 -08:00
csky
hexagon
ia64 Scheduler updates in this cycle are: 2023-02-20 17:41:08 -08:00
loongarch LoongArch: BPF: Support mixing bpf2bpf and tailcalls 2023-02-22 13:07:28 -08:00
m68k m68k updates for v6.3 2023-02-21 15:17:34 -08:00
microblaze
mips bpf, mips: Implement R4000 workarounds for JIT 2023-02-28 14:52:55 +01:00
nios2
openrisc
parisc Scheduler updates in this cycle are: 2023-02-20 17:41:08 -08:00
powerpc Scheduler updates in this cycle are: 2023-02-20 17:41:08 -08:00
riscv riscv, bpf: Add kfunc support for RV64 2023-02-22 13:11:31 -08:00
s390 Networking changes for 6.3. 2023-02-21 18:24:12 -08:00
sh Networking changes for 6.3. 2023-02-21 18:24:12 -08:00
sparc Scheduler updates in this cycle are: 2023-02-20 17:41:08 -08:00
um
x86 Networking changes for 6.3. 2023-02-21 18:24:12 -08:00
xtensa Linux 6.2-rc6 2023-01-31 15:01:20 +01:00
.gitignore
Kconfig