Skip to content

Commit 6c7497f

Browse files
CHERI encodings and CSRs to match 0.9.7
1 parent c56d638 commit 6c7497f

12 files changed

Lines changed: 70 additions & 1 deletion

File tree

arg_lut.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@
9292
"rd_n2", 11, 7
9393
"rd_n0", 11, 7
9494
"rs1_n0", 11, 7
95+
"rs2_n0", 24, 20
9596
"c_rs2_n0", 6, 2
9697
"c_rs1_n0", 11, 7
9798
"c_rs2", 6, 2

csrs.csv

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@
9292
0x257, "vsireg6"
9393
0x25C, "vstopei"
9494
0x280, "vsatp"
95+
0x480, "utidc"
96+
0x580, "stidc"
97+
0x780, "mtidc"
98+
0xA80, "vstidc"
9599
0x600, "hstatus"
96100
0x602, "hedeleg"
97101
0x603, "hideleg"
@@ -244,6 +248,7 @@
244248
0x3ed, "pmpaddr61"
245249
0x3ee, "pmpaddr62"
246250
0x3ef, "pmpaddr63"
251+
0x416, "ddc"
247252
0x747, "mseccfg"
248253
0x7a0, "tselect"
249254
0x7a1, "tdata1"
@@ -257,6 +262,9 @@
257262
0x7b1, "dpc"
258263
0x7b2, "dscratch0"
259264
0x7b3, "dscratch1"
265+
0x7ba, "drootcsel"
266+
0x7bc, "dddc"
267+
0x7bd, "drootc"
260268
0xB00, "mcycle"
261269
0xB02, "minstret"
262270
0xB03, "mhpmcounter3"

extensions/unratified/rv64_y_zba

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
sh1addy.uw rd rs1 rs2 31..25=16 14..12=3 6..2=0x0E 1..0=3
2+
sh2addy.uw rd rs1 rs2 31..25=16 14..12=5 6..2=0x0E 1..0=3
3+
sh3addy.uw rd rs1 rs2 31..25=16 14..12=0 6..2=0x0E 1..0=3
4+
sh4addy.uw rd rs1 rs2 31..25=16 14..12=7 6..2=0x0E 1..0=3
5+
6+
sh4addy rd rs1 rs2 31..25=16 14..12=7 6..2=0x0C 1..0=3

extensions/unratified/rv_y

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
ly rd rs1 imm12 14..12=4 6..2=0x03 1..0=3
2+
sy imm12hi rs1 rs2 imm12lo 14..12=4 6..2=0x08 1..0=3
3+
4+
#next to ADDIW
5+
addiy rd rs1 imm12 14..12=2 6..2=0x06 1..0=3
6+
7+
#not sure how to code it but we can restrict rd==rs1 and make the other code-points illegal
8+
ybndswi rd rs1 31..30=0x0 zimm10 14..12=3 6..2=0x06 1..0=3
9+
10+
#if rs2=x0 decode as ymv
11+
addy rd rs1 rs2_n0 31..25=6 14..12=0 6..2=0x0C 1..0=3
12+
ymv rd rs1 24..20=0x0 31..25=6 14..12=0 6..2=0x0C 1..0=3
13+
yaddrw rd rs1 rs2 31..25=6 14..12=1 6..2=0x0C 1..0=3
14+
ypermc rd rs1 rs2 31..25=6 14..12=2 6..2=0x0C 1..0=3
15+
syeq rd rs1 rs2 31..25=6 14..12=4 6..2=0x0C 1..0=3
16+
ylt rd rs1 rs2 31..25=6 14..12=6 6..2=0x0C 1..0=3
17+
18+
ybndsw rd rs1 rs2 31..25=7 14..12=0 6..2=0x0C 1..0=3
19+
ybndsrw rd rs1 rs2 31..25=7 14..12=1 6..2=0x0C 1..0=3
20+
ysunseal rd rs1 rs2 31..25=7 14..12=2 6..2=0x0C 1..0=3
21+
22+
ytagr rd rs1 31..25=8 24..20=0 14..12=0 6..2=0x0C 1..0=3
23+
ypermr rd rs1 31..25=8 24..20=1 14..12=0 6..2=0x0C 1..0=3
24+
ytyper rd rs1 31..25=8 24..20=2 14..12=0 6..2=0x0C 1..0=3
25+
ybaser rd rs1 31..25=8 24..20=5 14..12=0 6..2=0x0C 1..0=3
26+
ylenr rd rs1 31..25=8 24..20=6 14..12=0 6..2=0x0C 1..0=3
27+
yamask rd rs1 31..25=8 24..20=7 14..12=0 6..2=0x0C 1..0=3
28+
29+
#regular encodings for double width datatype
30+
amoswap.y rd rs1 rs2 aq rl 31..29=0 28..27=1 14..12=4 6..2=0x0B 1..0=3
31+
lr.y rd rs1 24..20=0 aq rl 31..29=0 28..27=2 14..12=4 6..2=0x0B 1..0=3
32+
sc.y rd rs1 rs2 aq rl 31..29=0 28..27=3 14..12=4 6..2=0x0B 1..0=3
33+
34+
packy rd rs1 31..27=0 26..20=0x40 14..12=0x5 6..2=0x0C 1..0=3
35+
$pseudo_op rv_y::packy yhir rd rs1 31..27=0 26..20=0x40 14..12=0x5 6..2=0x0C 1..0=3

extensions/unratified/rv_y_c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
c.ymv rd_n0 c_rs2_n0 1..0=2 15..13=4 12=0
2+

extensions/unratified/rv_y_h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
hlv.y rd rs1 24..20=0x0 31..25=0x38 14..12=4 6..2=0x1C 1..0=3
2+
hsv.y 11..7=0 rs1 rs2 31..25=0x39 14..12=4 6..2=0x1C 1..0=3

extensions/unratified/rv_zybld

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ybld rd rs1 rs2 31..25=6 14..12=5 6..2=0x0C 1..0=3

extensions/unratified/rv_zybndsrdw

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ybndsrdw rd rs1 rs2 31..25=7 14..12=3 6..2=0x0C 1..0=3

extensions/unratified/rv_zyhybrid

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
#read/write mode bit
3+
ymoder rd rs1 31..25=8 24..20=3 14..12=0 6..2=0x0C 1..0=3
4+
ymodew rd rs1 rs2 31..25=6 14..12=7 6..2=0x0C 1..0=3
5+
6+
#mode switch
7+
ymodeswy 31..25=9 24..15=0 14..12=1 11..7=0 6..2=0x0C 1..0=3
8+
ymodeswi 31..25=10 24..15=0 14..12=1 11..7=0 6..2=0x0C 1..0=3

extensions/unratified/rv_zysentry

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ysentry rd rs1 31..25=8 24..20=8 14..12=0 6..2=0x0C 1..0=3

0 commit comments

Comments
 (0)