-
Notifications
You must be signed in to change notification settings - Fork 714
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
Make PMP disableable #2692
Make PMP disableable #2692
Conversation
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
core/cva6_mmu/cva6_ptw.sv
Outdated
.PLEN (CVA6Cfg.PLEN), | ||
.PMP_LEN (CVA6Cfg.PLEN - 2), | ||
.NR_ENTRIES(CVA6Cfg.NrPMPEntries) | ||
.CVA6Cfg (CVA6Cfg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
.CVA6Cfg (CVA6Cfg) | |
.CVA6Cfg(CVA6Cfg) |
core/load_store_unit.sv
Outdated
@@ -148,9 +148,9 @@ module load_store_unit | |||
input amo_resp_t amo_resp_i, | |||
|
|||
// PMP configuration - CSR_REGFILE | |||
input riscv::pmpcfg_t [CVA6Cfg.NrPMPEntries-1:0] pmpcfg_i, | |||
input riscv::pmpcfg_t [(CVA6Cfg.NrPMPEntries > 0 ? CVA6Cfg.NrPMPEntries-1 : 0):0] pmpcfg_i, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
input riscv::pmpcfg_t [(CVA6Cfg.NrPMPEntries > 0 ? CVA6Cfg.NrPMPEntries-1 : 0):0] pmpcfg_i, | |
input riscv::pmpcfg_t [(CVA6Cfg.NrPMPEntries > 0 ? CVA6Cfg.NrPMPEntries-1 : 0):0] pmpcfg_i, |
core/pmp/src/pmp.sv
Outdated
parameter int unsigned PLEN = 34, // rv64: 56 | ||
parameter int unsigned PMP_LEN = 32, // rv64: 54 | ||
parameter int unsigned NR_ENTRIES = 4 | ||
parameter config_pkg::cva6_cfg_t CVA6Cfg = config_pkg::cva6_cfg_empty |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
parameter config_pkg::cva6_cfg_t CVA6Cfg = config_pkg::cva6_cfg_empty | |
parameter config_pkg::cva6_cfg_t CVA6Cfg = config_pkg::cva6_cfg_empty |
core/pmp/src/pmp_data_if.sv
Outdated
.PLEN (CVA6Cfg.PLEN), | ||
.PMP_LEN (CVA6Cfg.PLEN - 2), | ||
.NR_ENTRIES(CVA6Cfg.NrPMPEntries) | ||
.CVA6Cfg (CVA6Cfg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
.CVA6Cfg (CVA6Cfg) | |
.CVA6Cfg(CVA6Cfg) |
core/cva6_mmu/cva6_ptw.sv
Outdated
.PLEN (CVA6Cfg.PLEN), | ||
.PMP_LEN (CVA6Cfg.PLEN - 2), | ||
.NR_ENTRIES(CVA6Cfg.NrPMPEntries) | ||
.CVA6Cfg (CVA6Cfg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
.CVA6Cfg (CVA6Cfg) | |
.CVA6Cfg(CVA6Cfg) |
core/load_store_unit.sv
Outdated
@@ -148,9 +148,9 @@ module load_store_unit | |||
input amo_resp_t amo_resp_i, | |||
|
|||
// PMP configuration - CSR_REGFILE | |||
input riscv::pmpcfg_t [CVA6Cfg.NrPMPEntries-1:0] pmpcfg_i, | |||
input riscv::pmpcfg_t [(CVA6Cfg.NrPMPEntries > 0 ? CVA6Cfg.NrPMPEntries-1 : 0):0] pmpcfg_i, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
input riscv::pmpcfg_t [(CVA6Cfg.NrPMPEntries > 0 ? CVA6Cfg.NrPMPEntries-1 : 0):0] pmpcfg_i, | |
input riscv::pmpcfg_t [(CVA6Cfg.NrPMPEntries > 0 ? CVA6Cfg.NrPMPEntries-1 : 0):0] pmpcfg_i, |
core/pmp/src/pmp.sv
Outdated
parameter int unsigned PLEN = 34, // rv64: 56 | ||
parameter int unsigned PMP_LEN = 32, // rv64: 54 | ||
parameter int unsigned NR_ENTRIES = 4 | ||
parameter config_pkg::cva6_cfg_t CVA6Cfg = config_pkg::cva6_cfg_empty |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
parameter config_pkg::cva6_cfg_t CVA6Cfg = config_pkg::cva6_cfg_empty | |
parameter config_pkg::cva6_cfg_t CVA6Cfg = config_pkg::cva6_cfg_empty |
core/cva6_mmu/cva6_ptw.sv
Outdated
.PLEN (CVA6Cfg.PLEN), | ||
.PMP_LEN (CVA6Cfg.PLEN - 2), | ||
.NR_ENTRIES(CVA6Cfg.NrPMPEntries) | ||
.CVA6Cfg (CVA6Cfg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
.CVA6Cfg (CVA6Cfg) | |
.CVA6Cfg(CVA6Cfg) |
core/load_store_unit.sv
Outdated
@@ -148,9 +148,9 @@ module load_store_unit | |||
input amo_resp_t amo_resp_i, | |||
|
|||
// PMP configuration - CSR_REGFILE | |||
input riscv::pmpcfg_t [CVA6Cfg.NrPMPEntries-1:0] pmpcfg_i, | |||
input riscv::pmpcfg_t [(CVA6Cfg.NrPMPEntries > 0 ? CVA6Cfg.NrPMPEntries-1 : 0):0] pmpcfg_i, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
input riscv::pmpcfg_t [(CVA6Cfg.NrPMPEntries > 0 ? CVA6Cfg.NrPMPEntries-1 : 0):0] pmpcfg_i, | |
input riscv::pmpcfg_t [(CVA6Cfg.NrPMPEntries > 0 ? CVA6Cfg.NrPMPEntries-1 : 0):0] pmpcfg_i, |
core/cva6_mmu/cva6_ptw.sv
Outdated
.PLEN (CVA6Cfg.PLEN), | ||
.PMP_LEN (CVA6Cfg.PLEN - 2), | ||
.NR_ENTRIES(CVA6Cfg.NrPMPEntries) | ||
.CVA6Cfg (CVA6Cfg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
.CVA6Cfg (CVA6Cfg) | |
.CVA6Cfg(CVA6Cfg) |
❌ failed run, report available here. |
✔️ successful run, report available here. |
2 similar comments
✔️ successful run, report available here. |
✔️ successful run, report available here. |
✔️ successful run, report available here. |
PR openhwgroup#2692 changed the bus width for `pmpcfg` and `pmpaddr` in most modules. Do the same in `cva6_mmu` and `cva6_ptw` to fix port width mismatches. Signed-off-by: Nils Wistoff <[email protected]>
PR openhwgroup#2692 changed the bus width for `pmpcfg` and `pmpaddr` in most modules. Do the same in `cva6_mmu` and `cva6_ptw` to fix port width mismatches. Signed-off-by: Nils Wistoff <[email protected]>
PR #2692 changed the bus width for `pmpcfg` and `pmpaddr` in most modules. Do the same in `cva6_mmu` and `cva6_ptw` to fix port width mismatches.
The PMP can be disabled by setting NrPMPEntries at 0.