source: svn/trunk/newcon3bcm2_21bu/toolchain/mips-linux-uclibc/include/asm/asmmacro.h @ 2

Last change on this file since 2 was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 856 bytes
Line 
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License.  See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2003 Ralf Baechle
7 */
8#ifndef _ASM_ASMMACRO_H
9#define _ASM_ASMMACRO_H
10 
11 
12#ifndef __mips64
13#include <asm/asmmacro-32.h>
14#endif
15#ifdef __mips64
16#include <asm/asmmacro-64.h>
17#endif
18
19        .macro  local_irq_enable reg=t0
20        mfc0    \reg, CP0_STATUS
21        ori     \reg, \reg, 1
22        mtc0    \reg, CP0_STATUS
23        irq_enable_hazard
24        .endm
25
26        .macro  local_irq_disable reg=t0
27        mfc0    \reg, CP0_STATUS
28        ori     \reg, \reg, 1
29        xori    \reg, \reg, 1
30        mtc0    \reg, CP0_STATUS
31        irq_disable_hazard
32        .endm
33
34#ifdef CONFIG_CPU_SB1
35        .macro  fpu_enable_hazard
36        .set    push
37        .set    noreorder
38        .set    mips2
39        SSNOP
40        bnezl   $0, .+4
41         SSNOP
42        .set    pop
43        .endm
44#else
45        .macro  fpu_enable_hazard
46        .endm
47#endif
48
49#endif /* _ASM_ASMMACRO_H */
Note: See TracBrowser for help on using the repository browser.