Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase #30

Closed
wants to merge 24 commits into from
Closed

Rebase #30

wants to merge 24 commits into from

Commits on Jun 17, 2024

  1. Assembly for hint instructions needs spaces after mnemonics

    Signed-off-by: Paul A. Clarke <[email protected]>
    ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    c72b5b1 View commit details
    Browse the repository at this point in the history
  2. Add json target

    Produces JSON representation of instructions, operands, opcode layouts, etc.
    Not claimed to be exhaustive.
    
    Depends on https://github.com/ThinkOpenly/riscvdecode.
    
    Signed-off-by: Paul A. Clarke <[email protected]>
    ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    532cfca View commit details
    Browse the repository at this point in the history
  3. Start tagging extensions uniformly

    Also add a few names, descriptions, and formats.
    ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    383846e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f11e46f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    dc4f28f View commit details
    Browse the repository at this point in the history
  6. hints again

    ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    e21590f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3389eca View commit details
    Browse the repository at this point in the history
  8. Add C extension conditionals

    Sanket-0510 authored and ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    cc680e5 View commit details
    Browse the repository at this point in the history
  9. Use extension discriminator for "A" and "M" extensions

    More support for #4.
    Using the `extension()` function in `mapping clause encdec` expressions for extensions allows a parser to clearly know when a function is part of an extension (or set of extensions).
    Bakugo90 authored and ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    edb07a9 View commit details
    Browse the repository at this point in the history
  10. Added names and descriptions for some instructions in riscv_insts_bas…

    …e.sail
    
    Added instruction names and descriptions
    
    * Adds names for instructions in `riscv_insts_base.sail` using the attributes approach
    
    * Descriptions are added to instructions in the same file using the doc comments approach
    jriyyya authored and ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    78ba6a6 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    afc175f View commit details
    Browse the repository at this point in the history
  12. [JSON] Suppress command echo to stdout

    Currently, when executing `make json`, the command itself is echoed,
    causing issues with the JSON representation.
    
    This PR Suppress this echoing, ensuring a proper JSON output
    without the need for any manual editing later on.
    snapdgn authored and ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    5500f38 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    5afa30e View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    a85b7fc View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    3b03fc7 View commit details
    Browse the repository at this point in the history
  16. Add names for some instructions within groups

    Some instructions are grouped in a single `mapping clause assembly`
    where the respective mnemonics are embedded within a separate `mapping`.
    
    For instructions which are _not_ grouped, the name of the instruction
    can be added as an attribute to any of the instruction-specific constructs.
    
    For grouped instructions, the attribute needs to be added to a construct
    at the granularity of the specific instruction. Here, we attach the
    attribute within the individual element of the `mapping` that includes
    the actual instruction mnemonic.
    
    This approach is still insufficient for mnemonics that are constructed:
    ```
    mapping clause assembly = VLSEGTYPE(nf, vm, rs1, width, vd)
      <-> "vl" ^ nfields_string(nf) ^ "e" ^ vlewidth_bitsnumberstr(width) ^ ".v" [...]
    ```
    ...so more thought is needed here.
    
    Also, I'm settling on a convention of using lower case (not Leading Caps),
    at least for now. This matches how the instruction names are written in
    the ISA specification, at least for those instructions for which the name
    is actually provided. :-/
    ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    7335c61 View commit details
    Browse the repository at this point in the history
  17. Make use of extension() instead of have*()

    * Move definition of function of `extension`
    * Utilize extension() instead of `haveZmmul()`
    * Utilize extension() instead of `haveUsrMode()`
    * Utilize extension() instead of `haveSupMode()`
    * Utilize extension() instead of `haveNExt()`
    * Utilize extension() instead of `haveZkr()`
    * Utilize extension() instead of `haveUsrMode()`
    * Move comments from `have*` functions into `extension` function
    * Delete all unused  `have*` definitions of various extensions
    
    Fixes #4 .
    jriyyya authored and ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    11a2af8 View commit details
    Browse the repository at this point in the history
  18. Add compilation steps to README.md

    Authored-by: Joydeep Tripathy <[email protected]>
    joydeep049 authored and ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    8291be5 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    aed0935 View commit details
    Browse the repository at this point in the history
  20. Add newline at end of JSON.md

    GitHub CI is complaining:
    ```
    fix end of files.....................Failed
    - hook id: end-of-file-fixer
    - exit code: 1
    - files were modified by this hook
    
    Fixing doc/JSON.md
    [...]
    All changes made by hooks:
    diff --git a/doc/JSON.md b/doc/JSON.md
    index 82170ef..fc7f9cc 100644
    [...]
    -4.  Within that clone : `make json`
    \ No newline at end of file
    +4.  Within that clone : `make json`
    Error: Process completed with exit code 1.
    ```
    ThinkOpenly committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    b021578 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    5f41034 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    acef250 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    9e0a892 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. tweaks after rebase

    ThinkOpenly committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    a67bf16 View commit details
    Browse the repository at this point in the history