Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
29508de
Add incomplete ISS generator
Dec 12, 2024
1c62881
Merge branch 'add_xqci' into cpp_hart
Dec 12, 2024
5a05077
Add Inst template for cpp_gen; fix YAML formatting
Dec 12, 2024
691754c
Fixed typo in gen_cpp.rb
lquinn2015 Dec 17, 2024
425aeb1
symtab mutablity shared
lquinn2015 Dec 17, 2024
3587ecd
BaseISA RVI standards building
lquinn2015 Dec 17, 2024
e2a3957
Xqci extension insns compile
lquinn2015 Dec 17, 2024
2a9090a
WIP: cpp_hart
Dec 17, 2024
6554310
Merge remote-tracking branch 'origin/cpp_hart' into cpp_hart
Dec 17, 2024
5ff4238
Update Gems
Dec 18, 2024
98bc7db
Merge remote-tracking branch 'origin/main' into cpp_hart
Dec 18, 2024
f36b2d9
Merge remote-tracking branch 'origin/main' into cpp_hart
Dec 18, 2024
0dadb7b
Fixed up decoder and insn generation more
lquinn2015 Dec 19, 2024
0e6fbde
WIP
Jan 6, 2025
78b9b20
Merge remote-tracking branch 'origin/cpp_hart' into cpp_hart
Jan 6, 2025
54952df
Several Fixes to the CPP auto generation
lquinn2015 Jan 7, 2025
82f184a
More autogen fixes
lquinn2015 Jan 10, 2025
330c408
Fixed several bracket breaking issues
lquinn2015 Jan 10, 2025
3e7610d
WIP
Jan 13, 2025
e3a6986
WIP
Jan 13, 2025
4f27109
Add constexpr IDL pass
Jan 13, 2025
0771491
WIP
Jan 13, 2025
1cf5061
Fixup for AryDeref and typos in auto gen
lquinn2015 Jan 13, 2025
a98ef57
WIP
Jan 13, 2025
43cce55
Merge remote-tracking branch 'origin/cpp_hart' into cpp_hart
Jan 13, 2025
b795b2e
Fixups for Insn.hxx generation and hard defintions
lquinn2015 Jan 14, 2025
c8b3ba7
small fix for imm and const expr
lquinn2015 Jan 14, 2025
a6911d2
Fixed a few ast sytnax errors
lquinn2015 Jan 15, 2025
aca5a08
Fix gen problems
Jan 15, 2025
384d152
Fix remaining IDL translation errors
Jan 16, 2025
29fdbf7
Generate stubs for builtins, add 'generated' IDL keyword
Jan 16, 2025
ea6a818
Fixed and found some constexpr pruning
lquinn2015 Jan 16, 2025
ceb2d60
Nullify assignments in for loops for pruning
Jan 16, 2025
f395d8c
Merge remote-tracking branch 'origin/cpp_hart' into cpp_hart
Jan 16, 2025
f44de8d
WIP
Jan 17, 2025
4f39532
WIP
Jan 17, 2025
fe8bda7
Separate C++ format from generation
Jan 17, 2025
0c3aa83
Rename types.hpp, remove unused type.hpp
Jan 17, 2025
c1abf6a
C++ cleanup
Jan 17, 2025
246b7c9
clang-format c++ files
Jan 17, 2025
3113191
Fix missing sw_write
Jan 17, 2025
05f6a26
CPP hart function prototypes
lquinn2015 Jan 17, 2025
910dfa7
Fix up missing hw/sw_write CSR funcs
Jan 17, 2025
1dc756a
Merge remote-tracking branch 'origin/cpp_hart' into cpp_hart
Jan 17, 2025
55a72fd
Add CSR address check and fix minstret(h) addr
Jan 17, 2025
d6e744b
Fix encodings for qc.swmi qc.c.extu, note conflicts with D, make qc_i…
Jan 23, 2025
c5eeec3
Rename qc.slasat, qc.sllsat. Advance Xqci, Xqcia, Xqcibm, and Xqcilsm…
Jan 23, 2025
130c96f
Add Zcd extension
Jan 23, 2025
03dcc87
Update bundle
Jan 24, 2025
419011f
Add IDL pass to determine if variable is written; exclusive partial c…
Jan 24, 2025
e23b48d
iss build clean
Jan 24, 2025
95b376f
Add ElfReader
Jan 24, 2025
aba713d
ISS running riscv-tests; most instructions pass, couple bugs left
Jan 29, 2025
581ab14
Merge branch 'main' into cpp_hart && get gen:html working again
Jan 30, 2025
1d6b778
Merge remote-tracking branch 'origin/main' into cpp_hart
Jan 30, 2025
6161801
Remove excludedBy
Jan 30, 2025
25e3c6d
cpp_hart working with _. Split cfg from overlay. Got ext_pdf_doc work…
Feb 3, 2025
dcf9348
Add UDB + Renode integration, lots of refactoring
Feb 25, 2025
758c9be
Fix decode with Xqci, few minor bug fixes
Feb 27, 2025
f1ce537
Update node deps
Feb 27, 2025
a98f36c
Add missing libhart.h.erb
Feb 27, 2025
2ac65af
Fix typos in docker run commands
PiotrZierhoffer Feb 27, 2025
3fb3a11
Fix typo in MAKE definition for Docker flow
PiotrZierhoffer Feb 27, 2025
74aa1bd
Make elf path relative to the script
PiotrZierhoffer Feb 28, 2025
617b38a
[RFC] Collapse Dockerfile apt install into a single call
PiotrZierhoffer Feb 27, 2025
1ff9f00
[RFC] Collapse Singularity apt install into a single call
PiotrZierhoffer Feb 27, 2025
072c713
Merge pull request #468 from antmicro/cpp_hart_fixups
dhower-qc Mar 3, 2025
60d5e4a
Add ability to reference CSR names with periods in IDL
Mar 5, 2025
fcf8e5e
Add PossiblyUnknownBits class, fix bug around CSRs with a period in t…
Mar 6, 2025
057e22a
Merge remote-tracking branch 'origin/main' into cpp_hart
Mar 6, 2025
cb5d7ef
Add clean/clobber
Mar 6, 2025
271e2bb
arch_overlay/qc_iu: Fix clobbering of saturation results
Mar 6, 2025
416713e
arch_overlay/qc_iu: Fix bug in qc.shlsat
Mar 6, 2025
4a7e487
Get isa manual gen working again
Mar 6, 2025
9df8210
Merge pull request #476 from AntonJohansson/cpp_hart
dhower-qc Mar 7, 2025
0972116
Fixes to get config-specific doc gen working again
Mar 7, 2025
59313b1
Merge remote-tracking branch 'origin/cpp_hart' into cpp_hart
Mar 7, 2025
6039abf
Get CRD pdf gen working again
Mar 7, 2025
ebcdac6
Get profile PDF gen working again
Mar 7, 2025
f34950f
Merge remote-tracking branch 'origin/main' into cpp_hart
Mar 10, 2025
cc82d10
Merge remote-tracking branch 'origin/main' into cpp_hart
Mar 10, 2025
f63209d
Remove all custom fields from MNCAUSE
ayosher Mar 12, 2025
33a534b
Xqci/Xqcibm extension: fix all extract instructions from register pai…
ayosher Mar 12, 2025
8c30a58
Xqci/Xqcibm extension: workaround in qc.insbh and qc.insbhr IDL code …
ayosher Mar 12, 2025
5a51433
Xqci/Xqcicm extension: fix required extensions for qc.c.mveqz instruc…
ayosher Mar 12, 2025
87b9bfa
Xqci/Xqcibm/Xqciint/Xqcili extensions: fix descriptions and dependencies
ayosher Mar 12, 2025
8dbf630
Xqci/Xqcibm: fix typos in qc.extdpr and qc.extdr
ayosher Mar 12, 2025
44e992b
Xqccmp extension: make version 0.3 frozen, fix IDL code bug: xlen() r…
ayosher Mar 12, 2025
e08d7fc
Zcmp extension: fix IDL code to take in account that xlen() returns b…
ayosher Mar 12, 2025
caa966d
Merge pull request #484 from riscv-software-src/Zcmp_bug_fixes_cpp_hart
ayosher Mar 12, 2025
a9adb82
Merge pull request #483 from riscv-software-src/Xqccmpv0p3_cpp_hart
ayosher Mar 12, 2025
12cb7a7
Merge pull request #482 from riscv-software-src/Xqciv0p8_cpp_hart
ayosher Mar 12, 2025
5ff41cc
Xqci/Xqciint extensions: add stack checks to interrupt enter/leave in…
ayosher Mar 12, 2025
c31618e
Merge pull request #485 from riscv-software-src/Xqciv0p8_cpp_hart_fixes
ayosher Mar 12, 2025
e4c897d
Fix error with CSR usage in qciu
Mar 13, 2025
17563db
Merge remote-tracking branch 'origin/cpp_hart' into cpp_hart
Mar 13, 2025
04a5b41
Xqccmp/Xqci qc_iu configuration: restore get_and_validate_stack_point…
ayosher Mar 13, 2025
9707120
Merge pull request #486 from riscv-software-src/Xqcmp_sp_check_fix
ayosher Mar 13, 2025
a64ed1f
qc_iu configuration (Xqci/Xqccmp extensions) fixes
ayosher Mar 13, 2025
82e1ed9
Merge pull request #487 from riscv-software-src/qc_iu_cpp_hart_fixes
ayosher Mar 13, 2025
0447977
Resolve review comments from @ThinkOpenly
Mar 17, 2025
575e534
Merge remote-tracking branch 'origin/cpp_hart' into cpp_hart
Mar 17, 2025
0891a89
Include conflicts / implies in extension requirement logic; remove re…
Mar 17, 2025
165de75
Remove circular dependence in Svadu -> Svade conflicts
Mar 17, 2025
c1ddd10
Remove self-implication from Zcmt
Mar 17, 2025
9a9349e
Add missing 'not' condition to c.srai encoding
Mar 17, 2025
7e91119
Use creg2reg in IDL
Mar 17, 2025
f95a3b7
Fix incorrect 'not' in c.slli
Mar 17, 2025
6897533
Xqci/Xqciac extensions: fix 'conflicts' statement
ayosher Mar 18, 2025
5f644a0
Merge pull request #501 from riscv-software-src/Xqci_cpp_hart_fix_spe…
ayosher Mar 18, 2025
6deeb30
Xqci/Xqccmp extensions: more fixes around extensions conflicts manage…
ayosher Mar 18, 2025
0e23790
Merge pull request #503 from riscv-software-src/Xqci_Xqccmp_cpp_hart_…
ayosher Mar 18, 2025
512dbc4
Xqci/Xqcibm extension: fix IDL code to match description for qc.insbr…
ayosher Mar 19, 2025
4e33c45
Merge pull request #509 from riscv-software-src/Xqciv0p8_cpp_hart_ins…
ayosher Mar 19, 2025
3fc4d7f
Merge branch 'main' into cpp_hart
ayosher Mar 20, 2025
e246e8a
fix more errors for pre-commit checks, but temporary disable ShellChe…
ayosher Mar 20, 2025
c889005
Fix infinite loop in extension implies resolution; add start of possi…
Mar 20, 2025
d104025
Merge remote-tracking branch 'origin/cpp_hart' into cpp_hart
Mar 20, 2025
966a772
Remove spurious debug exception
Mar 20, 2025
3206db2
arch_overlay/qc_iu: Fix bug in qc.c.muliadd/qc.c.mveqz
Mar 20, 2025
ab25a7c
Merge pull request #522 from AntonJohansson/cpp_hart
ayosher Mar 21, 2025
423d74a
Merge branch 'main' into cpp_hart
ayosher Mar 21, 2025
706e655
Add conditional implications for extension schema. Handle it in Ruby,…
Mar 24, 2025
22a2b26
Merge remote-tracking branch 'origin/cpp_hart' into cpp_hart
Mar 24, 2025
5db94d5
Merge remote-tracking branch 'origin/main' into cpp_hart
Mar 24, 2025
c030f06
Fix certificate.adoc with implications update
Mar 25, 2025
9104b5b
Fix index deployment
Mar 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 15 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
BasedOnStyle: Google
IndentWidth: 2
Language: Cpp
# AlignConsecutiveAssignments: true
# AlignConsecutiveDeclarations: true
# AlignEscapedNewlines: Right
# AlignOperands: true
# AlignTrailingComments: true
# AllowShortBlocksOnASingleLine: false
# AllowShortCaseLabelsOnASingleLine: true
# AlwaysBreakTemplateDeclarations: Yes

FixNamespaceComments: true
NamespaceIndentation: All
33 changes: 20 additions & 13 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,26 @@ WORKDIR /workspace

RUN export DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install -y --no-install-recommends git gh
RUN apt-get install -y --no-install-recommends less
RUN apt-get install -y --no-install-recommends python3
RUN apt-get install -y --no-install-recommends python3.12-venv
RUN apt-get install -y --no-install-recommends python3-pip
RUN apt-get install -y --no-install-recommends build-essential
RUN apt-get install -y --no-install-recommends ruby
RUN apt-get install -y --no-install-recommends ruby-dev
RUN apt-get install -y --no-install-recommends bundler
RUN apt-get install -y --no-install-recommends nodejs
RUN apt-get install -y --no-install-recommends npm
RUN apt-get install -y --no-install-recommends ditaa
RUN apt-get install -y --no-install-recommends libyaml-dev
RUN apt-get install -y --no-install-recommends git \
gh \
less \
python3 \
python3.12-venv \
python3-pip \
build-essential \
ruby \
ruby-dev \
bundler \
nodejs \
npm \
ditaa \
libyaml-dev \
cmake \
g++ \
clang-format \
clang-tidy \
libelf-dev \
gcc-riscv64-unknown-elf
RUN apt-get clean autoclean
RUN apt-get autoremove -y
RUN rm -rf /var/lib/{apt,dpkg,cache,log}/*
Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"zhwu95.riscv",
"mathematic.vscode-pdf",
"CraigMaslowski.erb",
"HowerLimited.idl-vscode"
"HowerLimited.udb-extension-pack-vscode"
]
}
},
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/regress.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ jobs:
name: Build container
run: ./bin/build_container
- name: Generate HTML ISA manual
run: ./do gen:html[generic_rv64]
run: ./do gen:html[example_rv64_with_overlay]
regress-gen-ext-pdf:
runs-on: ubuntu-latest
env:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
.stamps
.venv
.asciidoctor
.vscode/*
!.vscode/launch.json
.container-type
diag-ditaa-*
arch/manual/isa/**/riscv-isa-manual
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@
[submodule "ext/riscv-isa-manual"]
path = ext/riscv-isa-manual
url = https://github.com/riscv/riscv-isa-manual
[submodule "ext/riscv-tests"]
path = ext/riscv-tests
url = https://github.com/riscv-software-src/riscv-tests.git
6 changes: 6 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,12 @@ repos:
# files: ^arch/manual/.*\.(yaml|yml)$
# args: ["--schemafile", "schemas/manual_version_schema.json"]

- repo: https://github.com/pre-commit/mirrors-clang-format
rev: "v18.1.3"
hooks:
- id: clang-format
types_or: [c++, c]
files: \.(hpp|cpp)$
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 25.1.0
hooks:
Expand Down
40 changes: 40 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,46 @@
"script": "gen:profile[RVA20]",
"args": [],
"askParameters": false
},
{
"type": "cppdbg",
"name": "Run MC100-32 iss",
"request": "launch",
"program": "${workspaceFolder}/gen/cpp_hart_gen/MC100-32_Debug/build/iss",
"setupCommands": [
{
"text": "set output-radix 16",
"description": "Display hex by default"
}
],
"cwd": "${workspaceFolder}",
"args": [
"-m", "MC100-32", "-c",
"${workspaceFolder}/cfgs/mc100-32-full-example.yaml",
"ext/riscv-tests/isa/rv32mi-p-mcsr"
],
"linux": {
"MIMode": "gdb",
"miDebuggerPath": "${workspaceFolder}/bin/gdb"
}
},
{
"type": "cppdbg",
"name": "Run MC100-32 coremark",
"request": "launch",
"program": "${workspaceFolder}/gen/cpp_hart_gen/MC100-32_Debug/build/iss",
"setupCommands": [
{
"text": "set output-radix 16",
"description": "Display hex by default"
}
],
"cwd": "${workspaceFolder}",
"args": ["-m", "MC100-32", "-c", "${workspaceFolder}/cfgs/mc100-32-full-example.yaml", "ext/riscv-coremark/coremark/coremark.bare.riscv"],
"linux": {
"MIMode": "gdb",
"miDebuggerPath": "${workspaceFolder}/bin/gdb"
}
}
]
}
5 changes: 4 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ gem "asciidoctor-diagram", "~> 2.2"
gem "asciidoctor-pdf"
gem "base64"
gem "bigdecimal"
gem "concurrent-ruby", require: "concurrent"
gem "concurrent-ruby-ext"
gem "json_schemer", "~> 1.0"
gem "minitest"
gem "pygments.rb"
gem "rake", "~> 13.0"
gem "rouge"
Expand All @@ -21,7 +22,9 @@ gem "webrick"
gem "yard"

group :development do
gem "awesome_print"
gem "debug"
gem "minitest"
gem "rdbg"
gem "rubocop-minitest"
gem "ruby-prof"
Expand Down
Loading
Loading