| .. | .. |
|---|
| 15 | 15 | /* Kernel variants */ |
|---|
| 16 | 16 | |
|---|
| 17 | 17 | #define kernel_cache(op, base) "cache " op ", " base "\n" |
|---|
| 18 | +#define kernel_pref(hint, base) "pref " hint ", " base "\n" |
|---|
| 18 | 19 | #define kernel_ll(reg, addr) "ll " reg ", " addr "\n" |
|---|
| 19 | 20 | #define kernel_sc(reg, addr) "sc " reg ", " addr "\n" |
|---|
| 20 | 21 | #define kernel_lw(reg, addr) "lw " reg ", " addr "\n" |
|---|
| .. | .. |
|---|
| 51 | 52 | " .set pop\n" |
|---|
| 52 | 53 | |
|---|
| 53 | 54 | #define user_cache(op, base) __BUILD_EVA_INSN("cachee", op, base) |
|---|
| 55 | +#define user_pref(hint, base) __BUILD_EVA_INSN("prefe", hint, base) |
|---|
| 54 | 56 | #define user_ll(reg, addr) __BUILD_EVA_INSN("lle", reg, addr) |
|---|
| 55 | 57 | #define user_sc(reg, addr) __BUILD_EVA_INSN("sce", reg, addr) |
|---|
| 56 | 58 | #define user_lw(reg, addr) __BUILD_EVA_INSN("lwe", reg, addr) |
|---|
| .. | .. |
|---|
| 72 | 74 | #else |
|---|
| 73 | 75 | |
|---|
| 74 | 76 | #define user_cache(op, base) kernel_cache(op, base) |
|---|
| 77 | +#define user_pref(hint, base) kernel_pref(hint, base) |
|---|
| 75 | 78 | #define user_ll(reg, addr) kernel_ll(reg, addr) |
|---|
| 76 | 79 | #define user_sc(reg, addr) kernel_sc(reg, addr) |
|---|
| 77 | 80 | #define user_lw(reg, addr) kernel_lw(reg, addr) |
|---|
| .. | .. |
|---|
| 99 | 102 | #else /* __ASSEMBLY__ */ |
|---|
| 100 | 103 | |
|---|
| 101 | 104 | #define kernel_cache(op, base) cache op, base |
|---|
| 105 | +#define kernel_pref(hint, base) pref hint, base |
|---|
| 102 | 106 | #define kernel_ll(reg, addr) ll reg, addr |
|---|
| 103 | 107 | #define kernel_sc(reg, addr) sc reg, addr |
|---|
| 104 | 108 | #define kernel_lw(reg, addr) lw reg, addr |
|---|
| .. | .. |
|---|
| 135 | 139 | .set pop; |
|---|
| 136 | 140 | |
|---|
| 137 | 141 | #define user_cache(op, base) __BUILD_EVA_INSN(cachee, op, base) |
|---|
| 142 | +#define user_pref(hint, base) __BUILD_EVA_INSN(prefe, hint, base) |
|---|
| 138 | 143 | #define user_ll(reg, addr) __BUILD_EVA_INSN(lle, reg, addr) |
|---|
| 139 | 144 | #define user_sc(reg, addr) __BUILD_EVA_INSN(sce, reg, addr) |
|---|
| 140 | 145 | #define user_lw(reg, addr) __BUILD_EVA_INSN(lwe, reg, addr) |
|---|
| .. | .. |
|---|
| 155 | 160 | #else |
|---|
| 156 | 161 | |
|---|
| 157 | 162 | #define user_cache(op, base) kernel_cache(op, base) |
|---|
| 163 | +#define user_pref(hint, base) kernel_pref(hint, base) |
|---|
| 158 | 164 | #define user_ll(reg, addr) kernel_ll(reg, addr) |
|---|
| 159 | 165 | #define user_sc(reg, addr) kernel_sc(reg, addr) |
|---|
| 160 | 166 | #define user_lw(reg, addr) kernel_lw(reg, addr) |
|---|
| .. | .. |
|---|
| 174 | 180 | #define user_ld(reg, addr) kernel_lw(reg, addr) |
|---|
| 175 | 181 | #else |
|---|
| 176 | 182 | #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) |
|---|
| 178 | 184 | #endif /* CONFIG_32BIT */ |
|---|
| 179 | 185 | |
|---|
| 180 | 186 | #endif /* CONFIG_EVA */ |
|---|