aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/include/asm/mipsregs.h376
1 files changed, 188 insertions, 188 deletions
diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h
index 23d96f814814..509879f6a1e3 100644
--- a/arch/mips/include/asm/mipsregs.h
+++ b/arch/mips/include/asm/mipsregs.h
@@ -1964,10 +1964,10 @@ _ASM_MACRO_0(tlbginvf, _ASM_INSN_IF_MIPS(0x4200000c)
1964 ".set\tpush\n\t" \ 1964 ".set\tpush\n\t" \
1965 ".set\tmips32r2\n\t" \ 1965 ".set\tmips32r2\n\t" \
1966 _ASM_SET_VIRT \ 1966 _ASM_SET_VIRT \
1967 "mfgc0\t%0, $%1, %2\n\t" \ 1967 "mfgc0\t%0, " #source ", %1\n\t" \
1968 ".set\tpop" \ 1968 ".set\tpop" \
1969 : "=r" (__res) \ 1969 : "=r" (__res) \
1970 : "i" (source), "i" (sel)); \ 1970 : "i" (sel)); \
1971 __res; \ 1971 __res; \
1972}) 1972})
1973 1973
@@ -1977,10 +1977,10 @@ _ASM_MACRO_0(tlbginvf, _ASM_INSN_IF_MIPS(0x4200000c)
1977 ".set\tpush\n\t" \ 1977 ".set\tpush\n\t" \
1978 ".set\tmips64r2\n\t" \ 1978 ".set\tmips64r2\n\t" \
1979 _ASM_SET_VIRT \ 1979 _ASM_SET_VIRT \
1980 "dmfgc0\t%0, $%1, %2\n\t" \ 1980 "dmfgc0\t%0, " #source ", %1\n\t" \
1981 ".set\tpop" \ 1981 ".set\tpop" \
1982 : "=r" (__res) \ 1982 : "=r" (__res) \
1983 : "i" (source), "i" (sel)); \ 1983 : "i" (sel)); \
1984 __res; \ 1984 __res; \
1985}) 1985})
1986 1986
@@ -1990,10 +1990,10 @@ do { \
1990 ".set\tpush\n\t" \ 1990 ".set\tpush\n\t" \
1991 ".set\tmips32r2\n\t" \ 1991 ".set\tmips32r2\n\t" \
1992 _ASM_SET_VIRT \ 1992 _ASM_SET_VIRT \
1993 "mtgc0\t%z0, $%1, %2\n\t" \ 1993 "mtgc0\t%z0, " #register ", %1\n\t" \
1994 ".set\tpop" \ 1994 ".set\tpop" \
1995 : : "Jr" ((unsigned int)(value)), \ 1995 : : "Jr" ((unsigned int)(value)), \
1996 "i" (register), "i" (sel)); \ 1996 "i" (sel)); \
1997} while (0) 1997} while (0)
1998 1998
1999#define __write_64bit_gc0_register(register, sel, value) \ 1999#define __write_64bit_gc0_register(register, sel, value) \
@@ -2002,10 +2002,10 @@ do { \
2002 ".set\tpush\n\t" \ 2002 ".set\tpush\n\t" \
2003 ".set\tmips64r2\n\t" \ 2003 ".set\tmips64r2\n\t" \
2004 _ASM_SET_VIRT \ 2004 _ASM_SET_VIRT \
2005 "dmtgc0\t%z0, $%1, %2\n\t" \ 2005 "dmtgc0\t%z0, " #register ", %1\n\t" \
2006 ".set\tpop" \ 2006 ".set\tpop" \
2007 : : "Jr" (value), \ 2007 : : "Jr" (value), \
2008 "i" (register), "i" (sel)); \ 2008 "i" (sel)); \
2009} while (0) 2009} while (0)
2010 2010
2011#define __read_ulong_gc0_register(reg, sel) \ 2011#define __read_ulong_gc0_register(reg, sel) \
@@ -2021,207 +2021,207 @@ do { \
2021 __write_64bit_gc0_register(reg, sel, val); \ 2021 __write_64bit_gc0_register(reg, sel, val); \
2022} while (0) 2022} while (0)
2023 2023
2024#define read_gc0_index() __read_32bit_gc0_register(0, 0) 2024#define read_gc0_index() __read_32bit_gc0_register($0, 0)
2025#define write_gc0_index(val) __write_32bit_gc0_register(0, 0, val) 2025#define write_gc0_index(val) __write_32bit_gc0_register($0, 0, val)
2026 2026
2027#define read_gc0_entrylo0() __read_ulong_gc0_register(2, 0) 2027#define read_gc0_entrylo0() __read_ulong_gc0_register($2, 0)
2028#define write_gc0_entrylo0(val) __write_ulong_gc0_register(2, 0, val) 2028#define write_gc0_entrylo0(val) __write_ulong_gc0_register($2, 0, val)
2029 2029
2030#define read_gc0_entrylo1() __read_ulong_gc0_register(3, 0) 2030#define read_gc0_entrylo1() __read_ulong_gc0_register($3, 0)
2031#define write_gc0_entrylo1(val) __write_ulong_gc0_register(3, 0, val) 2031#define write_gc0_entrylo1(val) __write_ulong_gc0_register($3, 0, val)
2032 2032
2033#define read_gc0_context() __read_ulong_gc0_register(4, 0) 2033#define read_gc0_context() __read_ulong_gc0_register($4, 0)
2034#define write_gc0_context(val) __write_ulong_gc0_register(4, 0, val) 2034#define write_gc0_context(val) __write_ulong_gc0_register($4, 0, val)
2035 2035
2036#define read_gc0_contextconfig() __read_32bit_gc0_register(4, 1) 2036#define read_gc0_contextconfig() __read_32bit_gc0_register($4, 1)
2037#define write_gc0_contextconfig(val) __write_32bit_gc0_register(4, 1, val) 2037#define write_gc0_contextconfig(val) __write_32bit_gc0_register($4, 1, val)
2038 2038
2039#define read_gc0_userlocal() __read_ulong_gc0_register(4, 2) 2039#define read_gc0_userlocal() __read_ulong_gc0_register($4, 2)
2040#define write_gc0_userlocal(val) __write_ulong_gc0_register(4, 2, val) 2040#define write_gc0_userlocal(val) __write_ulong_gc0_register($4, 2, val)
2041 2041
2042#define read_gc0_xcontextconfig() __read_ulong_gc0_register(4, 3) 2042#define read_gc0_xcontextconfig() __read_ulong_gc0_register($4, 3)
2043#define write_gc0_xcontextconfig(val) __write_ulong_gc0_register(4, 3, val) 2043#define write_gc0_xcontextconfig(val) __write_ulong_gc0_register($4, 3, val)
2044 2044
2045#define read_gc0_pagemask() __read_32bit_gc0_register(5, 0) 2045#define read_gc0_pagemask() __read_32bit_gc0_register($5, 0)
2046#define write_gc0_pagemask(val) __write_32bit_gc0_register(5, 0, val) 2046#define write_gc0_pagemask(val) __write_32bit_gc0_register($5, 0, val)
2047 2047
2048#define read_gc0_pagegrain() __read_32bit_gc0_register(5, 1) 2048#define read_gc0_pagegrain() __read_32bit_gc0_register($5, 1)
2049#define write_gc0_pagegrain(val) __write_32bit_gc0_register(5, 1, val) 2049#define write_gc0_pagegrain(val) __write_32bit_gc0_register($5, 1, val)
2050 2050
2051#define read_gc0_segctl0() __read_ulong_gc0_register(5, 2) 2051#define read_gc0_segctl0() __read_ulong_gc0_register($5, 2)
2052#define write_gc0_segctl0(val) __write_ulong_gc0_register(5, 2, val) 2052#define write_gc0_segctl0(val) __write_ulong_gc0_register($5, 2, val)
2053 2053
2054#define read_gc0_segctl1() __read_ulong_gc0_register(5, 3) 2054#define read_gc0_segctl1() __read_ulong_gc0_register($5, 3)
2055#define write_gc0_segctl1(val) __write_ulong_gc0_register(5, 3, val) 2055#define write_gc0_segctl1(val) __write_ulong_gc0_register($5, 3, val)
2056 2056
2057#define read_gc0_segctl2() __read_ulong_gc0_register(5, 4) 2057#define read_gc0_segctl2() __read_ulong_gc0_register($5, 4)
2058#define write_gc0_segctl2(val) __write_ulong_gc0_register(5, 4, val) 2058#define write_gc0_segctl2(val) __write_ulong_gc0_register($5, 4, val)
2059 2059
2060#define read_gc0_pwbase() __read_ulong_gc0_register(5, 5) 2060#define read_gc0_pwbase() __read_ulong_gc0_register($5, 5)
2061#define write_gc0_pwbase(val) __write_ulong_gc0_register(5, 5, val) 2061#define write_gc0_pwbase(val) __write_ulong_gc0_register($5, 5, val)
2062 2062
2063#define read_gc0_pwfield() __read_ulong_gc0_register(5, 6) 2063#define read_gc0_pwfield() __read_ulong_gc0_register($5, 6)
2064#define write_gc0_pwfield(val) __write_ulong_gc0_register(5, 6, val) 2064#define write_gc0_pwfield(val) __write_ulong_gc0_register($5, 6, val)
2065 2065
2066#define read_gc0_pwsize() __read_ulong_gc0_register(5, 7) 2066#define read_gc0_pwsize() __read_ulong_gc0_register($5, 7)
2067#define write_gc0_pwsize(val) __write_ulong_gc0_register(5, 7, val) 2067#define write_gc0_pwsize(val) __write_ulong_gc0_register($5, 7, val)
2068 2068
2069#define read_gc0_wired() __read_32bit_gc0_register(6, 0) 2069#define read_gc0_wired() __read_32bit_gc0_register($6, 0)
2070#define write_gc0_wired(val) __write_32bit_gc0_register(6, 0, val) 2070#define write_gc0_wired(val) __write_32bit_gc0_register($6, 0, val)
2071 2071
2072#define read_gc0_pwctl() __read_32bit_gc0_register(6, 6) 2072#define read_gc0_pwctl() __read_32bit_gc0_register($6, 6)
2073#define write_gc0_pwctl(val) __write_32bit_gc0_register(6, 6, val) 2073#define write_gc0_pwctl(val) __write_32bit_gc0_register($6, 6, val)
2074 2074
2075#define read_gc0_hwrena() __read_32bit_gc0_register(7, 0) 2075#define read_gc0_hwrena() __read_32bit_gc0_register($7, 0)
2076#define write_gc0_hwrena(val) __write_32bit_gc0_register(7, 0, val) 2076#define write_gc0_hwrena(val) __write_32bit_gc0_register($7, 0, val)
2077 2077
2078#define read_gc0_badvaddr() __read_ulong_gc0_register(8, 0) 2078#define read_gc0_badvaddr() __read_ulong_gc0_register($8, 0)
2079#define write_gc0_badvaddr(val) __write_ulong_gc0_register(8, 0, val) 2079#define write_gc0_badvaddr(val) __write_ulong_gc0_register($8, 0, val)
2080 2080
2081#define read_gc0_badinstr() __read_32bit_gc0_register(8, 1) 2081#define read_gc0_badinstr() __read_32bit_gc0_register($8, 1)
2082#define write_gc0_badinstr(val) __write_32bit_gc0_register(8, 1, val) 2082#define write_gc0_badinstr(val) __write_32bit_gc0_register($8, 1, val)
2083 2083
2084#define read_gc0_badinstrp() __read_32bit_gc0_register(8, 2) 2084#define read_gc0_badinstrp() __read_32bit_gc0_register($8, 2)
2085#define write_gc0_badinstrp(val) __write_32bit_gc0_register(8, 2, val) 2085#define write_gc0_badinstrp(val) __write_32bit_gc0_register($8, 2, val)
2086 2086
2087#define read_gc0_count() __read_32bit_gc0_register(9, 0) 2087#define read_gc0_count() __read_32bit_gc0_register($9, 0)
2088 2088
2089#define read_gc0_entryhi() __read_ulong_gc0_register(10, 0) 2089#define read_gc0_entryhi() __read_ulong_gc0_register($10, 0)
2090#define write_gc0_entryhi(val) __write_ulong_gc0_register(10, 0, val) 2090#define write_gc0_entryhi(val) __write_ulong_gc0_register($10, 0, val)
2091 2091
2092#define read_gc0_compare() __read_32bit_gc0_register(11, 0) 2092#define read_gc0_compare() __read_32bit_gc0_register($11, 0)
2093#define write_gc0_compare(val) __write_32bit_gc0_register(11, 0, val) 2093#define write_gc0_compare(val) __write_32bit_gc0_register($11, 0, val)
2094 2094
2095#define read_gc0_status() __read_32bit_gc0_register(12, 0) 2095#define read_gc0_status() __read_32bit_gc0_register($12, 0)
2096#define write_gc0_status(val) __write_32bit_gc0_register(12, 0, val) 2096#define write_gc0_status(val) __write_32bit_gc0_register($12, 0, val)
2097 2097
2098#define read_gc0_intctl() __read_32bit_gc0_register(12, 1) 2098#define read_gc0_intctl() __read_32bit_gc0_register($12, 1)
2099#define write_gc0_intctl(val) __write_32bit_gc0_register(12, 1, val) 2099#define write_gc0_intctl(val) __write_32bit_gc0_register($12, 1, val)
2100 2100
2101#define read_gc0_cause() __read_32bit_gc0_register(13, 0) 2101#define read_gc0_cause() __read_32bit_gc0_register($13, 0)
2102#define write_gc0_cause(val) __write_32bit_gc0_register(13, 0, val) 2102#define write_gc0_cause(val) __write_32bit_gc0_register($13, 0, val)
2103 2103
2104#define read_gc0_epc() __read_ulong_gc0_register(14, 0) 2104#define read_gc0_epc() __read_ulong_gc0_register($14, 0)
2105#define write_gc0_epc(val) __write_ulong_gc0_register(14, 0, val) 2105#define write_gc0_epc(val) __write_ulong_gc0_register($14, 0, val)
2106 2106
2107#define read_gc0_prid() __read_32bit_gc0_register(15, 0) 2107#define read_gc0_prid() __read_32bit_gc0_register($15, 0)
2108 2108
2109#define read_gc0_ebase() __read_32bit_gc0_register(15, 1) 2109#define read_gc0_ebase() __read_32bit_gc0_register($15, 1)
2110#define write_gc0_ebase(val) __write_32bit_gc0_register(15, 1, val) 2110#define write_gc0_ebase(val) __write_32bit_gc0_register($15, 1, val)
2111 2111
2112#define read_gc0_ebase_64() __read_64bit_gc0_register(15, 1) 2112#define read_gc0_ebase_64() __read_64bit_gc0_register($15, 1)
2113#define write_gc0_ebase_64(val) __write_64bit_gc0_register(15, 1, val) 2113#define write_gc0_ebase_64(val) __write_64bit_gc0_register($15, 1, val)
2114 2114
2115#define read_gc0_config() __read_32bit_gc0_register(16, 0) 2115#define read_gc0_config() __read_32bit_gc0_register($16, 0)
2116#define read_gc0_config1() __read_32bit_gc0_register(16, 1) 2116#define read_gc0_config1() __read_32bit_gc0_register($16, 1)
2117#define read_gc0_config2() __read_32bit_gc0_register(16, 2) 2117#define read_gc0_config2() __read_32bit_gc0_register($16, 2)
2118#define read_gc0_config3() __read_32bit_gc0_register(16, 3) 2118#define read_gc0_config3() __read_32bit_gc0_register($16, 3)
2119#define read_gc0_config4() __read_32bit_gc0_register(16, 4) 2119#define read_gc0_config4() __read_32bit_gc0_register($16, 4)
2120#define read_gc0_config5() __read_32bit_gc0_register(16, 5) 2120#define read_gc0_config5() __read_32bit_gc0_register($16, 5)
2121#define read_gc0_config6() __read_32bit_gc0_register(16, 6) 2121#define read_gc0_config6() __read_32bit_gc0_register($16, 6)
2122#define read_gc0_config7() __read_32bit_gc0_register(16, 7) 2122#define read_gc0_config7() __read_32bit_gc0_register($16, 7)
2123#define write_gc0_config(val) __write_32bit_gc0_register(16, 0, val) 2123#define write_gc0_config(val) __write_32bit_gc0_register($16, 0, val)
2124#define write_gc0_config1(val) __write_32bit_gc0_register(16, 1, val) 2124#define write_gc0_config1(val) __write_32bit_gc0_register($16, 1, val)
2125#define write_gc0_config2(val) __write_32bit_gc0_register(16, 2, val) 2125#define write_gc0_config2(val) __write_32bit_gc0_register($16, 2, val)
2126#define write_gc0_config3(val) __write_32bit_gc0_register(16, 3, val) 2126#define write_gc0_config3(val) __write_32bit_gc0_register($16, 3, val)
2127#define write_gc0_config4(val) __write_32bit_gc0_register(16, 4, val) 2127#define write_gc0_config4(val) __write_32bit_gc0_register($16, 4, val)
2128#define write_gc0_config5(val) __write_32bit_gc0_register(16, 5, val) 2128#define write_gc0_config5(val) __write_32bit_gc0_register($16, 5, val)
2129#define write_gc0_config6(val) __write_32bit_gc0_register(16, 6, val) 2129#define write_gc0_config6(val) __write_32bit_gc0_register($16, 6, val)
2130#define write_gc0_config7(val) __write_32bit_gc0_register(16, 7, val) 2130#define write_gc0_config7(val) __write_32bit_gc0_register($16, 7, val)
2131 2131
2132#define read_gc0_lladdr() __read_ulong_gc0_register(17, 0) 2132#define read_gc0_lladdr() __read_ulong_gc0_register($17, 0)
2133#define write_gc0_lladdr(val) __write_ulong_gc0_register(17, 0, val) 2133#define write_gc0_lladdr(val) __write_ulong_gc0_register($17, 0, val)
2134 2134
2135#define read_gc0_watchlo0() __read_ulong_gc0_register(18, 0) 2135#define read_gc0_watchlo0() __read_ulong_gc0_register($18, 0)
2136#define read_gc0_watchlo1() __read_ulong_gc0_register(18, 1) 2136#define read_gc0_watchlo1() __read_ulong_gc0_register($18, 1)
2137#define read_gc0_watchlo2() __read_ulong_gc0_register(18, 2) 2137#define read_gc0_watchlo2() __read_ulong_gc0_register($18, 2)
2138#define read_gc0_watchlo3() __read_ulong_gc0_register(18, 3) 2138#define read_gc0_watchlo3() __read_ulong_gc0_register($18, 3)
2139#define read_gc0_watchlo4() __read_ulong_gc0_register(18, 4) 2139#define read_gc0_watchlo4() __read_ulong_gc0_register($18, 4)
2140#define read_gc0_watchlo5() __read_ulong_gc0_register(18, 5) 2140#define read_gc0_watchlo5() __read_ulong_gc0_register($18, 5)
2141#define read_gc0_watchlo6() __read_ulong_gc0_register(18, 6) 2141#define read_gc0_watchlo6() __read_ulong_gc0_register($18, 6)
2142#define read_gc0_watchlo7() __read_ulong_gc0_register(18, 7) 2142#define read_gc0_watchlo7() __read_ulong_gc0_register($18, 7)
2143#define write_gc0_watchlo0(val) __write_ulong_gc0_register(18, 0, val) 2143#define write_gc0_watchlo0(val) __write_ulong_gc0_register($18, 0, val)
2144#define write_gc0_watchlo1(val) __write_ulong_gc0_register(18, 1, val) 2144#define write_gc0_watchlo1(val) __write_ulong_gc0_register($18, 1, val)
2145#define write_gc0_watchlo2(val) __write_ulong_gc0_register(18, 2, val) 2145#define write_gc0_watchlo2(val) __write_ulong_gc0_register($18, 2, val)
2146#define write_gc0_watchlo3(val) __write_ulong_gc0_register(18, 3, val) 2146#define write_gc0_watchlo3(val) __write_ulong_gc0_register($18, 3, val)
2147#define write_gc0_watchlo4(val) __write_ulong_gc0_register(18, 4, val) 2147#define write_gc0_watchlo4(val) __write_ulong_gc0_register($18, 4, val)
2148#define write_gc0_watchlo5(val) __write_ulong_gc0_register(18, 5, val) 2148#define write_gc0_watchlo5(val) __write_ulong_gc0_register($18, 5, val)
2149#define write_gc0_watchlo6(val) __write_ulong_gc0_register(18, 6, val) 2149#define write_gc0_watchlo6(val) __write_ulong_gc0_register($18, 6, val)
2150#define write_gc0_watchlo7(val) __write_ulong_gc0_register(18, 7, val) 2150#define write_gc0_watchlo7(val) __write_ulong_gc0_register($18, 7, val)
2151 2151
2152#define read_gc0_watchhi0() __read_32bit_gc0_register(19, 0) 2152#define read_gc0_watchhi0() __read_32bit_gc0_register($19, 0)
2153#define read_gc0_watchhi1() __read_32bit_gc0_register(19, 1) 2153#define read_gc0_watchhi1() __read_32bit_gc0_register($19, 1)
2154#define read_gc0_watchhi2() __read_32bit_gc0_register(19, 2) 2154#define read_gc0_watchhi2() __read_32bit_gc0_register($19, 2)
2155#define read_gc0_watchhi3() __read_32bit_gc0_register(19, 3) 2155#define read_gc0_watchhi3() __read_32bit_gc0_register($19, 3)
2156#define read_gc0_watchhi4() __read_32bit_gc0_register(19, 4) 2156#define read_gc0_watchhi4() __read_32bit_gc0_register($19, 4)
2157#define read_gc0_watchhi5() __read_32bit_gc0_register(19, 5) 2157#define read_gc0_watchhi5() __read_32bit_gc0_register($19, 5)
2158#define read_gc0_watchhi6() __read_32bit_gc0_register(19, 6) 2158#define read_gc0_watchhi6() __read_32bit_gc0_register($19, 6)
2159#define read_gc0_watchhi7() __read_32bit_gc0_register(19, 7) 2159#define read_gc0_watchhi7() __read_32bit_gc0_register($19, 7)
2160#define write_gc0_watchhi0(val) __write_32bit_gc0_register(19, 0, val) 2160#define write_gc0_watchhi0(val) __write_32bit_gc0_register($19, 0, val)
2161#define write_gc0_watchhi1(val) __write_32bit_gc0_register(19, 1, val) 2161#define write_gc0_watchhi1(val) __write_32bit_gc0_register($19, 1, val)
2162#define write_gc0_watchhi2(val) __write_32bit_gc0_register(19, 2, val) 2162#define write_gc0_watchhi2(val) __write_32bit_gc0_register($19, 2, val)
2163#define write_gc0_watchhi3(val) __write_32bit_gc0_register(19, 3, val) 2163#define write_gc0_watchhi3(val) __write_32bit_gc0_register($19, 3, val)
2164#define write_gc0_watchhi4(val) __write_32bit_gc0_register(19, 4, val) 2164#define write_gc0_watchhi4(val) __write_32bit_gc0_register($19, 4, val)
2165#define write_gc0_watchhi5(val) __write_32bit_gc0_register(19, 5, val) 2165#define write_gc0_watchhi5(val) __write_32bit_gc0_register($19, 5, val)
2166#define write_gc0_watchhi6(val) __write_32bit_gc0_register(19, 6, val) 2166#define write_gc0_watchhi6(val) __write_32bit_gc0_register($19, 6, val)
2167#define write_gc0_watchhi7(val) __write_32bit_gc0_register(19, 7, val) 2167#define write_gc0_watchhi7(val) __write_32bit_gc0_register($19, 7, val)
2168 2168
2169#define read_gc0_xcontext() __read_ulong_gc0_register(20, 0) 2169#define read_gc0_xcontext() __read_ulong_gc0_register($20, 0)
2170#define write_gc0_xcontext(val) __write_ulong_gc0_register(20, 0, val) 2170#define write_gc0_xcontext(val) __write_ulong_gc0_register($20, 0, val)
2171 2171
2172#define read_gc0_perfctrl0() __read_32bit_gc0_register(25, 0) 2172#define read_gc0_perfctrl0() __read_32bit_gc0_register($25, 0)
2173#define write_gc0_perfctrl0(val) __write_32bit_gc0_register(25, 0, val) 2173#define write_gc0_perfctrl0(val) __write_32bit_gc0_register($25, 0, val)
2174#define read_gc0_perfcntr0() __read_32bit_gc0_register(25, 1) 2174#define read_gc0_perfcntr0() __read_32bit_gc0_register($25, 1)
2175#define write_gc0_perfcntr0(val) __write_32bit_gc0_register(25, 1, val) 2175#define write_gc0_perfcntr0(val) __write_32bit_gc0_register($25, 1, val)
2176#define read_gc0_perfcntr0_64() __read_64bit_gc0_register(25, 1) 2176#define read_gc0_perfcntr0_64() __read_64bit_gc0_register($25, 1)
2177#define write_gc0_perfcntr0_64(val) __write_64bit_gc0_register(25, 1, val) 2177#define write_gc0_perfcntr0_64(val) __write_64bit_gc0_register($25, 1, val)
2178#define read_gc0_perfctrl1() __read_32bit_gc0_register(25, 2) 2178#define read_gc0_perfctrl1() __read_32bit_gc0_register($25, 2)
2179#define write_gc0_perfctrl1(val) __write_32bit_gc0_register(25, 2, val) 2179#define write_gc0_perfctrl1(val) __write_32bit_gc0_register($25, 2, val)
2180#define read_gc0_perfcntr1() __read_32bit_gc0_register(25, 3) 2180#define read_gc0_perfcntr1() __read_32bit_gc0_register($25, 3)
2181#define write_gc0_perfcntr1(val) __write_32bit_gc0_register(25, 3, val) 2181#define write_gc0_perfcntr1(val) __write_32bit_gc0_register($25, 3, val)
2182#define read_gc0_perfcntr1_64() __read_64bit_gc0_register(25, 3) 2182#define read_gc0_perfcntr1_64() __read_64bit_gc0_register($25, 3)
2183#define write_gc0_perfcntr1_64(val) __write_64bit_gc0_register(25, 3, val) 2183#define write_gc0_perfcntr1_64(val) __write_64bit_gc0_register($25, 3, val)
2184#define read_gc0_perfctrl2() __read_32bit_gc0_register(25, 4) 2184#define read_gc0_perfctrl2() __read_32bit_gc0_register($25, 4)
2185#define write_gc0_perfctrl2(val) __write_32bit_gc0_register(25, 4, val) 2185#define write_gc0_perfctrl2(val) __write_32bit_gc0_register($25, 4, val)
2186#define read_gc0_perfcntr2() __read_32bit_gc0_register(25, 5) 2186#define read_gc0_perfcntr2() __read_32bit_gc0_register($25, 5)
2187#define write_gc0_perfcntr2(val) __write_32bit_gc0_register(25, 5, val) 2187#define write_gc0_perfcntr2(val) __write_32bit_gc0_register($25, 5, val)
2188#define read_gc0_perfcntr2_64() __read_64bit_gc0_register(25, 5) 2188#define read_gc0_perfcntr2_64() __read_64bit_gc0_register($25, 5)
2189#define write_gc0_perfcntr2_64(val) __write_64bit_gc0_register(25, 5, val) 2189#define write_gc0_perfcntr2_64(val) __write_64bit_gc0_register($25, 5, val)
2190#define read_gc0_perfctrl3() __read_32bit_gc0_register(25, 6) 2190#define read_gc0_perfctrl3() __read_32bit_gc0_register($25, 6)
2191#define write_gc0_perfctrl3(val) __write_32bit_gc0_register(25, 6, val) 2191#define write_gc0_perfctrl3(val) __write_32bit_gc0_register($25, 6, val)
2192#define read_gc0_perfcntr3() __read_32bit_gc0_register(25, 7) 2192#define read_gc0_perfcntr3() __read_32bit_gc0_register($25, 7)
2193#define write_gc0_perfcntr3(val) __write_32bit_gc0_register(25, 7, val) 2193#define write_gc0_perfcntr3(val) __write_32bit_gc0_register($25, 7, val)
2194#define read_gc0_perfcntr3_64() __read_64bit_gc0_register(25, 7) 2194#define read_gc0_perfcntr3_64() __read_64bit_gc0_register($25, 7)
2195#define write_gc0_perfcntr3_64(val) __write_64bit_gc0_register(25, 7, val) 2195#define write_gc0_perfcntr3_64(val) __write_64bit_gc0_register($25, 7, val)
2196 2196
2197#define read_gc0_errorepc() __read_ulong_gc0_register(30, 0) 2197#define read_gc0_errorepc() __read_ulong_gc0_register($30, 0)
2198#define write_gc0_errorepc(val) __write_ulong_gc0_register(30, 0, val) 2198#define write_gc0_errorepc(val) __write_ulong_gc0_register($30, 0, val)
2199 2199
2200#define read_gc0_kscratch1() __read_ulong_gc0_register(31, 2) 2200#define read_gc0_kscratch1() __read_ulong_gc0_register($31, 2)
2201#define read_gc0_kscratch2() __read_ulong_gc0_register(31, 3) 2201#define read_gc0_kscratch2() __read_ulong_gc0_register($31, 3)
2202#define read_gc0_kscratch3() __read_ulong_gc0_register(31, 4) 2202#define read_gc0_kscratch3() __read_ulong_gc0_register($31, 4)
2203#define read_gc0_kscratch4() __read_ulong_gc0_register(31, 5) 2203#define read_gc0_kscratch4() __read_ulong_gc0_register($31, 5)
2204#define read_gc0_kscratch5() __read_ulong_gc0_register(31, 6) 2204#define read_gc0_kscratch5() __read_ulong_gc0_register($31, 6)
2205#define read_gc0_kscratch6() __read_ulong_gc0_register(31, 7) 2205#define read_gc0_kscratch6() __read_ulong_gc0_register($31, 7)
2206#define write_gc0_kscratch1(val) __write_ulong_gc0_register(31, 2, val) 2206#define write_gc0_kscratch1(val) __write_ulong_gc0_register($31, 2, val)
2207#define write_gc0_kscratch2(val) __write_ulong_gc0_register(31, 3, val) 2207#define write_gc0_kscratch2(val) __write_ulong_gc0_register($31, 3, val)
2208#define write_gc0_kscratch3(val) __write_ulong_gc0_register(31, 4, val) 2208#define write_gc0_kscratch3(val) __write_ulong_gc0_register($31, 4, val)
2209#define write_gc0_kscratch4(val) __write_ulong_gc0_register(31, 5, val) 2209#define write_gc0_kscratch4(val) __write_ulong_gc0_register($31, 5, val)
2210#define write_gc0_kscratch5(val) __write_ulong_gc0_register(31, 6, val) 2210#define write_gc0_kscratch5(val) __write_ulong_gc0_register($31, 6, val)
2211#define write_gc0_kscratch6(val) __write_ulong_gc0_register(31, 7, val) 2211#define write_gc0_kscratch6(val) __write_ulong_gc0_register($31, 7, val)
2212 2212
2213/* Cavium OCTEON (cnMIPS) */ 2213/* Cavium OCTEON (cnMIPS) */
2214#define read_gc0_cvmcount() __read_ulong_gc0_register(9, 6) 2214#define read_gc0_cvmcount() __read_ulong_gc0_register($9, 6)
2215#define write_gc0_cvmcount(val) __write_ulong_gc0_register(9, 6, val) 2215#define write_gc0_cvmcount(val) __write_ulong_gc0_register($9, 6, val)
2216 2216
2217#define read_gc0_cvmctl() __read_64bit_gc0_register(9, 7) 2217#define read_gc0_cvmctl() __read_64bit_gc0_register($9, 7)
2218#define write_gc0_cvmctl(val) __write_64bit_gc0_register(9, 7, val) 2218#define write_gc0_cvmctl(val) __write_64bit_gc0_register($9, 7, val)
2219 2219
2220#define read_gc0_cvmmemctl() __read_64bit_gc0_register(11, 7) 2220#define read_gc0_cvmmemctl() __read_64bit_gc0_register($11, 7)
2221#define write_gc0_cvmmemctl(val) __write_64bit_gc0_register(11, 7, val) 2221#define write_gc0_cvmmemctl(val) __write_64bit_gc0_register($11, 7, val)
2222 2222
2223#define read_gc0_cvmmemctl2() __read_64bit_gc0_register(16, 6) 2223#define read_gc0_cvmmemctl2() __read_64bit_gc0_register($16, 6)
2224#define write_gc0_cvmmemctl2(val) __write_64bit_gc0_register(16, 6, val) 2224#define write_gc0_cvmmemctl2(val) __write_64bit_gc0_register($16, 6, val)
2225 2225
2226/* 2226/*
2227 * Macros to access the floating point coprocessor control registers 2227 * Macros to access the floating point coprocessor control registers