diff options
author | Chris Dearman <chris@mips.com> | 2007-05-08 16:09:13 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-05-11 14:28:31 +0100 |
commit | 0b6249567b4ecf6e9d5a8efcf149f3e7cf788cc0 (patch) | |
tree | dfb8d45357a9e8e3ad134f7eec87e7918132410e /include/asm-mips/hazards.h | |
parent | d725cf3818b12a17d78b87a2de19e8eec17126ae (diff) | |
download | op-kernel-dev-0b6249567b4ecf6e9d5a8efcf149f3e7cf788cc0.zip op-kernel-dev-0b6249567b4ecf6e9d5a8efcf149f3e7cf788cc0.tar.gz |
[MIPS] FPU hazard handling
Move FPU hazard handling to hazards.h and provide proper support for
MIPSR2 processors
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-mips/hazards.h')
-rw-r--r-- | include/asm-mips/hazards.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/asm-mips/hazards.h b/include/asm-mips/hazards.h index e50c77e..1542f23 100644 --- a/include/asm-mips/hazards.h +++ b/include/asm-mips/hazards.h @@ -178,4 +178,36 @@ ASMMACRO(back_to_back_c0_hazard, #endif + +/* FPU hazards */ + +#if defined(CONFIG_CPU_SB1) +ASMMACRO(enable_fpu_hazard, + .set push; + .set mips64; + .set noreorder; + _ssnop; + bnezl $0,.+4; + _ssnop + .set pop +) +ASMMACRO(disable_fpu_hazard, +) + +#elif defined(CONFIG_CPU_MIPSR2) +ASMMACRO(enable_fpu_hazard, + _ehb +) +ASMMACRO(disable_fpu_hazard, + _ehb +) +#else +ASMMACRO(enable_fpu_hazard, + nop; nop; nop; nop +) +ASMMACRO(disable_fpu_hazard, + _ehb +) +#endif + #endif /* _ASM_HAZARDS_H */ |