forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 9999e48639b3cecb08ffb37358bcba3b48161b29
kernel/arch/mips/include/asm/asm-eva.h
....@@ -15,6 +15,7 @@
1515 /* Kernel variants */
1616
1717 #define kernel_cache(op, base) "cache " op ", " base "\n"
18
+#define kernel_pref(hint, base) "pref " hint ", " base "\n"
1819 #define kernel_ll(reg, addr) "ll " reg ", " addr "\n"
1920 #define kernel_sc(reg, addr) "sc " reg ", " addr "\n"
2021 #define kernel_lw(reg, addr) "lw " reg ", " addr "\n"
....@@ -51,6 +52,7 @@
5152 " .set pop\n"
5253
5354 #define user_cache(op, base) __BUILD_EVA_INSN("cachee", op, base)
55
+#define user_pref(hint, base) __BUILD_EVA_INSN("prefe", hint, base)
5456 #define user_ll(reg, addr) __BUILD_EVA_INSN("lle", reg, addr)
5557 #define user_sc(reg, addr) __BUILD_EVA_INSN("sce", reg, addr)
5658 #define user_lw(reg, addr) __BUILD_EVA_INSN("lwe", reg, addr)
....@@ -72,6 +74,7 @@
7274 #else
7375
7476 #define user_cache(op, base) kernel_cache(op, base)
77
+#define user_pref(hint, base) kernel_pref(hint, base)
7578 #define user_ll(reg, addr) kernel_ll(reg, addr)
7679 #define user_sc(reg, addr) kernel_sc(reg, addr)
7780 #define user_lw(reg, addr) kernel_lw(reg, addr)
....@@ -99,6 +102,7 @@
99102 #else /* __ASSEMBLY__ */
100103
101104 #define kernel_cache(op, base) cache op, base
105
+#define kernel_pref(hint, base) pref hint, base
102106 #define kernel_ll(reg, addr) ll reg, addr
103107 #define kernel_sc(reg, addr) sc reg, addr
104108 #define kernel_lw(reg, addr) lw reg, addr
....@@ -135,6 +139,7 @@
135139 .set pop;
136140
137141 #define user_cache(op, base) __BUILD_EVA_INSN(cachee, op, base)
142
+#define user_pref(hint, base) __BUILD_EVA_INSN(prefe, hint, base)
138143 #define user_ll(reg, addr) __BUILD_EVA_INSN(lle, reg, addr)
139144 #define user_sc(reg, addr) __BUILD_EVA_INSN(sce, reg, addr)
140145 #define user_lw(reg, addr) __BUILD_EVA_INSN(lwe, reg, addr)
....@@ -155,6 +160,7 @@
155160 #else
156161
157162 #define user_cache(op, base) kernel_cache(op, base)
163
+#define user_pref(hint, base) kernel_pref(hint, base)
158164 #define user_ll(reg, addr) kernel_ll(reg, addr)
159165 #define user_sc(reg, addr) kernel_sc(reg, addr)
160166 #define user_lw(reg, addr) kernel_lw(reg, addr)
....@@ -174,7 +180,7 @@
174180 #define user_ld(reg, addr) kernel_lw(reg, addr)
175181 #else
176182 #define user_sd(reg, addr) kernel_sd(reg, addr)
177
-#define user_ld(reg, addr) kernel_sd(reg, addr)
183
+#define user_ld(reg, addr) kernel_ld(reg, addr)
178184 #endif /* CONFIG_32BIT */
179185
180186 #endif /* CONFIG_EVA */