7. Changelog¶
This project adheres to Semantic Versioning.
7.1. [3.3.1] - 2022-09-26¶
documentation cleanup for adding new extensions in riscv-config
disabled pdf asset generation for each release.
7.2. [3.3.0] - 2022-09-24¶
rewrote regular expression for determining legal ISA/extension strings to fix bugs and simplify maintenance. (#104)
updated example and regex in new-extensions.rst to match
7.3. [3.2.0] - 2022-09-07¶
adding new function to get a legal value from a warl node
7.4. [3.1.2] - 2022-08-23¶
if the value being tested is out of bounds, then skip with error immediately
7.5. [3.1.1] - 2022-08-18¶
fix pypi dependencies for docs
7.6. [3.1.0] - 2022-08-17¶
scounteren can be a ro_constant now
the maxval checks for mask/fixedval should be based on the length of the part
adding support for mtval_update field
adding support for pte_ad_hw_update field
cleaned up documentation
7.7. [3.0.0] - 2022-08-16¶
created new warl class for warl node handling
better comments
more functions to keep things simple
fixed a lot of bugs in checking legal values
bitmask and range values can now co-exist in a legal string
added new and improved checks for syntax validity of warl strings
fixed validationError function to correctly print all errors (dict and/or list)
removed wr_illegal checks from the schema since they are now done as part of the new warl class checks
updates to the new warl checks and reset-value checks
satp.mode should have one of sv* translation schemes as a legal value. (#89)
default setters for pmps fixed
pmp checks have been improved (#88)
improve WARL documentation
7.8. [2.17.0] - 2022-08-08¶
Support for Zfinx, Zdinx, Zfh, Zhinx, Zhinxmin in ISA string added.
7.9. [2.16.1] - 2022-07-21¶
fixed bug in regex where Zk and Zknh were missing an underscore
7.10. [2.16.0] - 2022-07-20¶
fixed overlap checks for crypto extensions
removing K and P extension strings from regex
7.11. [2.15.1] - 2022-06-18¶
added missing Z extensions from Kcrypto
fixed ordering of the Z extensions as per isa spec.
7.12. [2.15.0] - 2022-06-16¶
moved ISA validation as a separate api function to enable import in other python tools
7.13. [2.14.1] - 2022-06-02¶
add support for Zicbo* extensions
add new node in platform_schema: zicbo_cache_block_sz
7.14. [2.14.0] - 2022-05-13¶
fix for index-based dependency checks in warl string.
7.15. [2.13.1] - 2022-03-23¶
Added setup.cfg to automate bumpversion
Fix wording for legal strings in dependency warl fields.
7.16. [2.13.0] - 2022-03-09¶
add support for detection of svnapot in ISA string
genralize conversion of hex, oct, bin values to int in warl functions
machine flat schema to include wlrl types as well
7.17. [2.12.1] - 2021-12-18¶
7.17.1. Fixed¶
added mbe and sbe fields in mstatush
fixed default setter for vsstatus in RV32 mode
7.18. [2.12.0] - 2021-12-10¶
7.18.1. Added¶
support for hypervisor csrs
change default for dcsr.v and fix the
check_with
function for the sameensures proper checks for csrs defined as 32-bit only registers
7.19. [2.11.2] - 2021-11-29¶
7.19.1. Fixed¶
Fixed the relationship between fflags, frm and fcsr
Enable subfield to be shadow field of whole csr, and vice versa
7.21. [2.11.0] - 2021-10-15¶
7.21.1. Fixed¶
canonical ordering requirement of
_Z
extensions fixed ### Addedadding support for Zmmul extension in ISA regex
7.22. [2.10.2] - 2021-10-06¶
7.22.1. Fixed¶
- islegal function under the warl_interpreter class fixed. The based and bound values are not
extracted correctly as either hex or decimal values. Also removed the logic to truncate values
7.23. [2.10.1] - 2021-08-26¶
7.23.1. Fixed¶
Changed the default value of ‘accessible’ to false so input yamls need not declare unsupported xlen
7.24. [2.10.0] - 2021-07-30¶
7.24.1. Added¶
added default-setters for misa’s reset value to match the ISA extensions, to modify warl function of extensions under misa
added default setter for reset value of mstatus ### Fixed
changed default values of types for subfields in mstatus
changed default values of types for mhpmevent, mcountinhibit, mcounteren and mhpmcounter to read only constant 0
changed default values of types for fflags, frm and fcsr to warl if F is present, else read-only constant 0
changed default values of types for mcycle[h], minstret[h] to warl
changed default values of types and added checks for subfields of scause, satp, stvec, sie, sip and sstatus
7.25. [2.9.1] - 2021-06-02¶
7.25.1. Fixed¶
removed an unadded feature in rv32i_platform.yaml
removed debug_interrupts under mip in rv64i_isa.yaml
7.26. [2.9.0] - 2021-05-24¶
7.26.1. Fixed¶
fixed issue #58 by adding extra checks for bitmask
fixed issue #59 by removing custom cause from platform yaml
resolved inconsistencies in the use of “xlen” and “supported_xlen” in schemaValidator ### Added
added extra “shadow_type” fields in the csr schemas. These indicate the nature of shadow (read-only, read-write, etc).
added parking_loop node in debug_schema to indicate the address of debug rom. Can be empty in implementations which do not have this feature
7.27. [2.8.0] - 2021-03-02¶
7.27.1. Added¶
Added checks for K (sub)extension(s)
Updated docs with information on adding new extension, csrs or specs.
Added github actions based CI
7.28. [2.7.0] - 2021-02-25¶
7.28.1. Added¶
added new debug schema for debug based csrs and spec
cli now takes debug spec as input as well along with isa-spec
added support for defining custom exceptions and interrupts
7.31. [2.6.1] - 2021-01-13¶
7.31.1. Fixed¶
msb,lsb values of “SD” field in mstatus must be 63 in rv64 mode
added checks for reset value of misa to adhere to the extensions enabled in the input yaml
fixed dead-link in the docs.
7.32. [2.6.0] - 2021-01-5¶
7.32.1. Added¶
Added support for custom csr yaml
Added new nodes in isa_schema: pmp_granularity and physical_addr_sz
Checks for pmp, counters and custom csrs
medeleg, mideleg check for S or N extension
updated the warl syntax slightly for easier parsing.
7.32.2. Changed¶
fixed warl parsing and islegal function to check reset values
7.33. [2.5.1] - 2020-11-6¶
7.33.1. Changed¶
modified sn_check and su_check
scounteren checks to make it depend only on u
medeleg, mideleg check for S or N extension
7.34. [2.5.0] - 2020-11-6¶
7.34.1. Added¶
added all n extension csrs
added missing supervisor csrs
added default setters for subfields in sip, sie , uip and uie to make it depend as shadows on machine csrs
7.35. [2.4.1] - 2020-10-22¶
7.35.1. Changed¶
default mpp value to 0
adding defaults to sub-fields of mtvec
7.36. [2.4.0] - 2020-10-19¶
7.36.1. Added¶
Added support for pmp csrs in the schema
Added support for mcycleh and minstreth
Added special checks for ensuring the shadows are implemented correctly.
Added support for the following supervisor csrs in the schema: sstatus, sie, sip, stvec, sepc, stval, scause and satp
Added support for user performance counters, frm, fcsr, time[h], cycle[h] and instret[h] csrs in the schema. ### Changed
all fields are now subsumed under a hartid. This allows specifying multiple harts in the same yaml
logging mechanism improved.
isa spec is now validated independently of the platform spec
privilege and unprivilege version checks are no longer required. This satisfied via the “allowed” field now.
improved the ‘implemented/accessible’ checks for s, u and n extensions
the “fields” node is now populated by subfields in the increasing order of the placement in the csr.
using aliases to reduce the code size
7.37. [2.3.1] - 2020-10-6¶
7.37.1. Changed¶
Added Zihintpause to ISA string (for PAUSE Hint instruction extension)..
7.38. [2.3.0] - 2020-07-27¶
7.38.1. Changed¶
Size of the isa schema has been reduced significantly.
Using anchors in the schema.
Provided a command line argument to disable anchors in the checked yaml dump.
adding mycycle, minstret, pmpcfgs and pmpaddrs
added support for defining multiple harts
7.39. [2.2.2] - 2020-06-09¶
7.39.1. Changed¶
Changed quickstart ‘riscv_config’ to ‘riscv-config’
Changed checker.py to add check_reset_fill_fields() description
7.40. [2.2.1] - 2020-05-18¶
7.40.1. Changed¶
Changed minimum python version requirement to 3.6.0 which is typically easy to install on all major distributions
Updated readme with better installation instructions
7.41. [2.2.0] - 2020-04-07¶
7.41.1. Changed¶
Renamed the ‘implemented’ field in rv32 and rv64 nodes to ‘accessible’.
Modified appropriate definitions for fields dependent on specific extensions like NSU.
7.42. [2.1.1] - 2020-03-29¶
7.43. [Fixed¶
doc issue for mtimecmp
mimpid is now part of the default setters list
7.44. [2.1.0] - 2020-03-29¶
7.45. [Fixed¶
Moved machine timer nodes to platform yaml. ## [Added
--version
option to arguments to print version and exit when specified.Print help and exit when no options/arguments are specified.
7.47. [2.0.1] - 2020-03-25¶
7.47.1. Fixed¶
typos in quickstart doc
disabled deployment to repository until authentication issue is fixed.
7.48. [2.0.0] - 2020-03-25¶
7.48.1. Added¶
adding support for warl fields and support
documentation for the warl fields added
reset-value checks added ### Changed
using a new common template for defining all csrs
updated docs with new template
using special function within conf.py to extract comments from yaml file as docs. ### Fixed
closed issues #10, #11, #12, #13
7.49. [1.0.2] - 2019-08-09¶
7.49.1. Changed¶
Log is generated only if specified(for API calls to checker.check_specs). ### Fixed
link in readme now points to github instead of gitlab.
7.50. [1.0.0] - 2019-07-30¶
7.50.1. Changed¶
Work directory isnt deleted if the directory exists, although the files of the same name will be overwritten. ### Fixed
Checked yaml passes validation too.
7.51. [0.1.0] - 2019-07-29¶
7.51.1. Added¶
Added work_dir as arg and always outputs to that dir.
Added reset vector and nmi vector to platform.yaml
Vendor description fields in schema.
An xlen field added for internal use. ### Fixed
In ISA field in isaspecs subsequent ‘Z’ extensions should be prefixed by an underscore ‘’
Fixed
cerberus.validator.DocumentError: document is missing
error when platform specs is empty.mtvec:mode max value is set to 1.
privilege-spec and user-spec are taken as strings instead of float. ### Changed
The representation of the int fields is preserved in the checked-yaml.
mepc is a required field.
check_specs function now returns the paths to the dumped normalized files.
No other entries in node where implemented is False.
Readonly fields are purged by default.
Multiple values/entries for the same node is not allowed. ### Removed
remove *_checked.yaml files from Examples.
changed templates_platform.yaml to template_platform.yaml in docs.