From 35bc44564c6f59bf7879c257f6ea1fa73c12f444 Mon Sep 17 00:00:00 2001 From: Mingkai Li Date: Mon, 25 Sep 2023 06:21:16 +0000 Subject: [PATCH 1/3] #39 SPLIT for uninit cap --- parts/cap-man-insn.adoc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/parts/cap-man-insn.adoc b/parts/cap-man-insn.adoc index bfd5799..7d226e9 100644 --- a/parts/cap-man-insn.adoc +++ b/parts/cap-man-insn.adoc @@ -287,7 +287,7 @@ github_ref:SPLIT[Sail definition] * `Invalid capability (25)` - `x[rs1].valid` is `0` (invalid). * `Unexpected capability type (26)` -- `x[rs1].type` is neither `0` (linear) nor `1` (non-linear). +- `x[rs1].type` is not `0` (linear), `1` (non-linear) or `3` (uninitialised). * `Illegal operand value (29)` - `x[rs2] \<= x[rs1].base` or `x[rs2] >= x[rs1].end`. **** @@ -299,8 +299,9 @@ github_ref:SPLIT[Sail definition] // in case rs2 = rd . Set `val` to `x[rs2]`. . Write `x[rs1]` to `x[rd]`. -. Set `x[rs1].end` to `val`, `x[rs1].cursor` to `x[rs1].base`. -. Set `x[rd].base` to `val`, `x[rd].cursor` to `val`. +. Set `x[rs1].end` to `val`, and `x[rd].base` to `val`. +. If `x[rs1].cursor < val`, set `x[rd].cursor` to `val`. +. If `x[rs1].cursor >= val`, set `x[rs1].cursor` to `val`. ==== [#tighten] From f8d3519c65e6f0627209f2ccc03a156713868adb Mon Sep 17 00:00:00 2001 From: Mingkai Li Date: Mon, 25 Sep 2023 06:29:47 +0000 Subject: [PATCH 2/3] typofix: cmp to cheri insn table --- parts/cmp.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/parts/cmp.adoc b/parts/cmp.adoc index 9af4076..29d52e0 100644 --- a/parts/cmp.adoc +++ b/parts/cmp.adoc @@ -37,15 +37,15 @@ in the following table. |SEAL | CSealEntry | - |CIncOffset | CIncOffset | CIncAddr |CIncOffsetImm | CIncOffsetImm | CIncAddrImm -|LCC | CGetAddr, CGetBase, CGetType, CGetPerm | CGetAddr, CGetBase, CGetTop, CGetType, CGetPerm +|LCC | CGetAddr, CGetBase, CGetOffset, CGetType, CGetPerm | CGetAddr, CGetBase, CGetTop, CGetType, CGetPerm |SCC | CSetAddr | CSetAddr |TIGHTEN | CAndPerm | CAndPerm |SHRINK | CSetBounds, CSetBoundsExact | CSetBounds, CSetBoundsExact |MOVC | CMove | CMove |LDC | LC.CAP, LC.DDC, CLC | CLC -|STC | SC.CAP, LC.DDC, CSC | CSC -|L[BHWD] | L[BHWD][U].CAP | L[BHWD][U] -|S[BHWD] | S[BHWD][U].CAP | S[BHWD][U] +|STC | SC.CAP, SC.DDC, CSC | CSC +|L[BHWD][U] | L[BHWD][U].CAP, L[BHWD][U].DDC | L[BHWD][U] +|S[BHWD][U] | S[BHWD][U].CAP, S[BHWD][U].DDC | S[BHWD][U] |CCSRRW | CSpecialRW | CSpecialRW |=== From 646f417e26e61d6f801a604b9417be7a741eafec Mon Sep 17 00:00:00 2001 From: Mingkai Li Date: Mon, 25 Sep 2023 06:55:44 +0000 Subject: [PATCH 3/3] update version information; following semantic versioning --- parts/version.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parts/version.adoc b/parts/version.adoc index b607b48..99fbbfc 100644 --- a/parts/version.adoc +++ b/parts/version.adoc @@ -1,6 +1,6 @@ :reproducible: -*Version Information:* Version 1.0 +*Version Information:* Version 1.01 ifdef::backend-html5[] *Other formats:* This document is also available in the following formats: