OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-mips64/] [hazards.h] - Blame information for rev 1275

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
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_HAZARDS_H
9
#define _ASM_HAZARDS_H
10
 
11
#include <linux/config.h>
12
 
13
#ifdef __ASSEMBLY__
14
 
15
/*
16
 * RM9000 hazards.  When the JTLB is updated by tlbwi or tlbwr, a subsequent
17
 * use of the JTLB for instructions should not occur for 4 cpu cycles and use
18
 * for data translations should not occur for 3 cpu cycles.
19
 */
20
#ifdef CONFIG_CPU_RM9000
21
#define rm9000_tlb_hazard                                               \
22
        .set    mips32;                                                 \
23
        ssnop; ssnop; ssnop; ssnop;                                     \
24
        .set    mips0
25
#else
26
#define rm9000_tlb_hazard
27
#endif
28
 
29
#else
30
 
31
/*
32
 * RM9000 hazards.  When the JTLB is updated by tlbwi or tlbwr, a subsequent
33
 * use of the JTLB for instructions should not occur for 4 cpu cycles and use
34
 * for data translations should not occur for 3 cpu cycles.
35
 */
36
#ifdef CONFIG_CPU_RM9000
37
#define rm9000_tlb_hazard()                                             \
38
        __asm__ __volatile__(                                           \
39
                ".set\tmips32\n\t"                                      \
40
                "ssnop; ssnop; ssnop; ssnop\n\t"                        \
41
                ".set\tmips0")
42
#else
43
#define rm9000_tlb_hazard() do { } while (0)
44
#endif
45
 
46
#endif
47
 
48
#endif /* _ASM_HAZARDS_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.