Skip to content

Commit 85f48b8

Browse files
committed
Add Ssqosid extension
1 parent 829f875 commit 85f48b8

File tree

6 files changed

+138
-3
lines changed

6 files changed

+138
-3
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
44

55

6+
## [3.14.4] - 2023-12-25
7+
- Add support for Ssqosid extension
8+
69
## [3.14.3] - 2023-12-01
710
- Add support for Zimop extension
811

riscv_config/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
from pkgutil import extend_path
22
__path__ = extend_path(__path__, __name__)
3-
__version__ = '3.14.3'
3+
__version__ = '3.14.4'
44

riscv_config/constants.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"Zpn", "Zpsf"
3434
] + Zve_extensions + Zvl_extensions
3535

36-
S_extensions = ['Smrnmi','Svnapot','Svadu', 'Sdext']
36+
S_extensions = ['Smrnmi','Svnapot','Svadu', 'Sdext', 'Ssqosid']
3737

3838
sub_extensions = Z_extensions + S_extensions
3939

riscv_config/schemaValidator.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,13 @@ def _check_with_zicfiss_check(self, field, value):
4747
"Register cannot be implemented without Zicfiss extension in ISA."
4848
)
4949

50+
def _check_with_ssqosid_check(self, field, value):
51+
global extension_list
52+
if value and 'Ssqosid' not in extension_list:
53+
self._error(field,
54+
"Register cannot be implemented without Ssqosid extension in ISA."
55+
)
56+
5057
def _check_with_satp_modes64(self, field, value):
5158
pass
5259

riscv_config/schemas/schema_isa.yaml

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9733,6 +9733,131 @@ hart_schema:
97339733
check_with:
97349734
- rv64_check
97359735
default: {accessible: false}
9736+
srmcfg:
9737+
type: dict
9738+
schema:
9739+
description: { type: string, default: SXLEN-bit register which provides supervisor-mode resource management configurations }
9740+
address: {type: integer, default: 0x181, allowed: [0x181]}
9741+
priv_mode: {type: string, default: S, allowed: [S]}
9742+
reset-val: { type: integer, check_with: max_length , default: 0}
9743+
rv32:
9744+
type: dict
9745+
check_with: s_check
9746+
schema:
9747+
fields: {type: list, default: []}
9748+
rcid:
9749+
type: dict
9750+
schema:
9751+
description: { type: string , default: Resource Control Identifier. }
9752+
shadow: {type: string, default: , nullable: True}
9753+
shadow_type: {type: string, default: rw, nullable: True, allowed: ['rw','ro']}
9754+
msb: {type: integer, default: 11, allowed: [11]}
9755+
lsb: {type: integer, default: 0, allowed: [0]}
9756+
implemented: {type: boolean, default: true}
9757+
type:
9758+
type: dict
9759+
oneof:
9760+
- schema: {ro_constant: {type: integer, max: 4095}}
9761+
- schema: { warl: *ref_warl }
9762+
default:
9763+
warl:
9764+
dependency_fields: []
9765+
legal:
9766+
- rcid[11:0] in [0x0:0xFFF]
9767+
wr_illegal:
9768+
- Unchanged
9769+
default: {implemented: False}
9770+
check_with: s_check
9771+
mcid:
9772+
type: dict
9773+
schema:
9774+
description: { type: string, default: Monitoring counter identifier. }
9775+
shadow: {type: string, default: , nullable: True}
9776+
shadow_type: {type: string, default: rw, nullable: True, allowed: ['rw','ro']}
9777+
msb: {type: integer, default: 27, allowed: [27]}
9778+
lsb: {type: integer, default: 16, allowed: [16]}
9779+
implemented: {type: boolean, default: true}
9780+
type:
9781+
type: dict
9782+
oneof:
9783+
- schema: {ro_constant: {type: integer, max: 4095 }}
9784+
- schema: { warl: *ref_warl }
9785+
default:
9786+
warl:
9787+
dependency_fields: []
9788+
legal:
9789+
- mcid[11:0] in [0x0:0xFFF]
9790+
wr_illegal:
9791+
- Unchanged
9792+
default: {implemented: False}
9793+
check_with: s_check
9794+
accessible:
9795+
type: boolean
9796+
check_with:
9797+
- rv32_check
9798+
- ssqosid_check
9799+
default: {accessible: false}
9800+
rv64:
9801+
type: dict
9802+
check_with: s_check
9803+
schema:
9804+
fields: {type: list, default: []}
9805+
rcid:
9806+
type: dict
9807+
schema:
9808+
description:
9809+
type: string
9810+
default: Resource control identifier
9811+
shadow: {type: string, default: , nullable: True}
9812+
shadow_type: {type: string, default: rw, nullable: True, allowed: ['rw','ro']}
9813+
msb: {type: integer, default: 11, allowed: [11]}
9814+
lsb: {type: integer, default: 0, allowed: [0]}
9815+
implemented: {type: boolean, default: true}
9816+
type:
9817+
type: dict
9818+
oneof:
9819+
- schema: {ro_constant: {type: integer, max: 4095}}
9820+
- schema: { warl: *ref_warl }
9821+
default:
9822+
warl:
9823+
dependency_fields: []
9824+
legal:
9825+
- rcid[13:0] in [0x0:0xFFF]
9826+
wr_illegal:
9827+
- Unchanged
9828+
default: {implemented: False}
9829+
check_with: s_check
9830+
mcid:
9831+
type: dict
9832+
schema:
9833+
description:
9834+
type: string
9835+
default: Monitoring counter identifier.
9836+
shadow: {type: string, default: , nullable: True}
9837+
shadow_type: {type: string, default: rw, nullable: True, allowed: ['rw','ro']}
9838+
msb: {type: integer, default: 27, allowed: [27]}
9839+
lsb: {type: integer, default: 16, allowed: [16]}
9840+
implemented: {type: boolean, default: true}
9841+
type:
9842+
type: dict
9843+
oneof:
9844+
- schema: {ro_constant: {type: integer, max: 4095}}
9845+
- schema: { warl: *ref_warl }
9846+
default:
9847+
warl:
9848+
dependency_fields: []
9849+
legal:
9850+
- mcid[11:0] in [0x0:0xFFF]
9851+
wr_illegal:
9852+
- Unchanged
9853+
default: {implemented: False}
9854+
check_with: s_check
9855+
accessible:
9856+
type: boolean
9857+
check_with:
9858+
- rv64_check
9859+
- ssqosid_check
9860+
default: {accessible: false}
97369861
ustatus:
97379862
type: dict
97389863
schema:

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 3.14.3
2+
current_version = 3.14.4
33
commit = True
44
tag = True
55

0 commit comments

Comments
 (0)