Skip to content

Commit 4630d6d

Browse files
Merge patch "riscv: errata: improve T-Head CMO"
This fixes an encoding issue with T-Head's dcache.cva and fixes the comment about the T-Head encodings. The first of these was a fix and got picked up earlier, I'm merging the second on top of it as they touch the same comment. * b4-shazam-merge: riscv: errata: prefix T-Head mnemonics with th. riscv: errata: fix T-Head dcache.cva encoding Link: https://lore.kernel.org/r/20230827090813.1353-1-jszhang@kernel.org Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2 parents b8c2f66 + 27fb271 commit 4630d6d

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

arch/riscv/include/asm/errata_list.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -95,30 +95,30 @@ asm volatile(ALTERNATIVE( \
9595
#endif
9696

9797
/*
98-
* dcache.ipa rs1 (invalidate, physical address)
98+
* th.dcache.ipa rs1 (invalidate, physical address)
9999
* | 31 - 25 | 24 - 20 | 19 - 15 | 14 - 12 | 11 - 7 | 6 - 0 |
100100
* 0000001 01010 rs1 000 00000 0001011
101-
* dache.iva rs1 (invalida, virtual address)
101+
* th.dache.iva rs1 (invalida, virtual address)
102102
* 0000001 00110 rs1 000 00000 0001011
103103
*
104-
* dcache.cpa rs1 (clean, physical address)
104+
* th.dcache.cpa rs1 (clean, physical address)
105105
* | 31 - 25 | 24 - 20 | 19 - 15 | 14 - 12 | 11 - 7 | 6 - 0 |
106106
* 0000001 01001 rs1 000 00000 0001011
107-
* dcache.cva rs1 (clean, virtual address)
108-
* 0000001 00100 rs1 000 00000 0001011
107+
* th.dcache.cva rs1 (clean, virtual address)
108+
* 0000001 00101 rs1 000 00000 0001011
109109
*
110-
* dcache.cipa rs1 (clean then invalidate, physical address)
110+
* th.dcache.cipa rs1 (clean then invalidate, physical address)
111111
* | 31 - 25 | 24 - 20 | 19 - 15 | 14 - 12 | 11 - 7 | 6 - 0 |
112112
* 0000001 01011 rs1 000 00000 0001011
113-
* dcache.civa rs1 (... virtual address)
113+
* th.dcache.civa rs1 (... virtual address)
114114
* 0000001 00111 rs1 000 00000 0001011
115115
*
116-
* sync.s (make sure all cache operations finished)
116+
* th.sync.s (make sure all cache operations finished)
117117
* | 31 - 25 | 24 - 20 | 19 - 15 | 14 - 12 | 11 - 7 | 6 - 0 |
118118
* 0000000 11001 00000 000 00000 0001011
119119
*/
120120
#define THEAD_inval_A0 ".long 0x0265000b"
121-
#define THEAD_clean_A0 ".long 0x0245000b"
121+
#define THEAD_clean_A0 ".long 0x0255000b"
122122
#define THEAD_flush_A0 ".long 0x0275000b"
123123
#define THEAD_SYNC_S ".long 0x0190000b"
124124

0 commit comments

Comments
 (0)