project-starch / capstone-spec

Capstone-RISC-V ISA Reference
https://capstone.kisp-lab.org/
2 stars 0 forks source link

#24 linearity/consistency/format revision #27

Closed Mingkai-Li closed 1 year ago

Mingkai-Li commented 1 year ago

Issue #24: This PR is trying to move Capstone-RISC-V ISA from the draft version to the 1st releasable version.

jasonyu1996 commented 1 year ago

It seems we are not using the right way for cross-references. It does not work in the PDF target. https://docs.asciidoctor.org/asciidoc/latest/macros/xref/

jasonyu1996 commented 1 year ago

It seems we are not using the right way for cross-references. It does not work in the PDF target. https://docs.asciidoctor.org/asciidoc/latest/macros/xref/

This has been fixed

jasonyu1996 commented 1 year ago

Memory bounds checks for the sealed types should have lowerbound base + 2 * CLENBYTES now (upperbound has been revised to + 33 * CLENBYTES?)

jasonyu1996 commented 1 year ago

In a few places the current description of the semantics does not work properly if the register operands overlap. Need to revise and fix those as well

jasonyu1996 commented 1 year ago

Memory bounds checks for the sealed types should have lowerbound base + 2 * CLENBYTES now (upperbound has been revised to + 33 * CLENBYTES?)

This has been fixed

Mingkai-Li commented 1 year ago

Memory bounds checks for the sealed types should have lowerbound base + 2 * CLENBYTES now (upperbound has been revised to + 33 * CLENBYTES?)

In interrupt/exception, csp is not sealed because we are going to seal 31 GPRs anyway. But for memory access granted by sealed-return and exit capability, because it's synchronous, csp in going to be sealed and unsealed automatically. Therefore, we don't need to give additional access to this memory region.

So, the lowerbound is base + 3 * CLENBYTES, while the upperbound is base + 33 * CLENBYTES.

Mingkai-Li commented 1 year ago

Also, there are some FIXMEs in the comment. Please take a look if you are available. :smiley:

jasonyu1996 commented 1 year ago

Yea it was + 3 * CLENBYTES earlier. Now fixed

jasonyu1996 commented 1 year ago

The current draft good to me. But @Mingkai-Li perhaps you can explain those FIXMEs in a commit/comments. After addressing those let's just merge