Age | Commit message (Collapse) | Author | Files | Lines |
|
* Utilize extensionEnabled() instead of `haveZmmul()`, `haveUsrMode()`,
`haveSupMode()`, `haveNExt()`, etc..
* Delete all unused `have*` definitions of various extensions
|
|
This script was used to do the modification:
```
from pathlib import Path
import re
RE_LINE = r"/\*={50,150}\*/\n"
RE_MIDDLE = r"/\*.*\*/\n"
NEW_TEXT = """/*=======================================================================================*/
/* This Sail RISC-V architecture model, comprising all files and */
/* directories except where otherwise noted is subject the BSD */
/* two-clause license in the LICENSE file. */
/* */
/* SPDX-License-Identifier: BSD-2-Clause */
/*=======================================================================================*/
"""
REPLACEMENT = re.compile(rf"^{RE_LINE}(?:{RE_MIDDLE}){{10,100}}{RE_LINE}")
def main():
for file in Path("model").glob("**/*.sail"):
text = file.read_text(encoding="utf-8")
text = REPLACEMENT.sub(NEW_TEXT, text, 1)
file.write_text(text, encoding="utf-8")
if __name__ == "__main__":
main()
```
|
|
|
|
This may be more readable and also matches the sail-cheri-riscv model.
For now this keeps ~ overloaded to accept bool, but in the future we may
want to consider removing it (which is what I did to find all uses
modified in this patch)
|
|
|
|
|
|
extension. Note that illegal exception on mode check failure takes precedence over CHERI to allow for virtualisation.
|
|
to improve clarity.
|
|
handlers return nextPC values as opposed to setting them.
|
|
- add URET and handle its trap
- simplify interrupt delegation for 'N', and also make it handle M-only operation
|