summaryrefslogtreecommitdiffstats
path: root/arch/mips/include
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2015-10-02 09:48:57 +0200
committerRalf Baechle <ralf@linux-mips.org>2015-10-02 09:48:57 +0200
commit0c5d187828588dd1b36cb93b4481a8db467ef3e8 (patch)
tree899cdb3b4b6e2b99718d7916296bcfbffc853846 /arch/mips/include
parentMIPS: BPF: Do all exports of symbols with FEXPORT(). (diff)
downloadlinux-0c5d187828588dd1b36cb93b4481a8db467ef3e8.tar.xz
linux-0c5d187828588dd1b36cb93b4481a8db467ef3e8.zip
MIPS: BPF: Fix load delay slots.
The entire bpf_jit_asm.S is written in noreorder mode because "we know better" according to a comment. This also prevented the assembler from throwing in the required NOPs for MIPS I processors which have no load-use interlock, thus the load's consumer might end up using the old value of the register from prior to the load. Fixed by putting the assembler in reorder mode for just the affected load instructions. This is not enough for gas to actually try to be clever by looking at the next instruction and inserting a nop only when needed but as the comment said "we know better", so getting gas to unconditionally emit a NOP is just right in this case and prevents adding further ifdefery. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/include')
0 files changed, 0 insertions, 0 deletions