Skip to content
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

Sail Support for Priv 1.13 #42

Open
1 of 13 tasks
jjscheel opened this issue May 8, 2024 · 7 comments
Open
1 of 13 tasks

Sail Support for Priv 1.13 #42

jjscheel opened this issue May 8, 2024 · 7 comments
Assignees

Comments

@jjscheel
Copy link
Contributor

jjscheel commented May 8, 2024

Technical Group

Privileged Spec IC

ratification-pkg

Priv 1.13

Technical Liaison

Greg Favor

Task Category

SAIL model

Task Sub Category

  • gcc
  • binutils
  • gdb
  • intrinsics
  • Java
  • KVM
  • ld
  • llvm
  • Linux kernel
  • QEMU
  • Spike

Ratification Target

3Q2024

Statement of Work (SOW)

Component names:

Requirements:
Provide Sail model function for the following Priv 1.13 updates:

  1. Defined the misa.V field to reflect that the V extension has been implemented.
  2. Exposed count-overflow interrupts to VS-mode.
  3. Redefined misa.MXL to be read-only, making MXLEN a constant.
  4. Added the constraint that SXLEN≥UXLEN.
  5. Defined the RV32-only medelegh and hedelegh CSRs. (1)
  6. Allocated interrupt 13 for Sscofpmf LCOFI interrupt. (2)

The following footnotes clarify level of support:

  1. Limitations in the hypervisor support will determine how much function can be enabled.
  2. Limitations in the counter support will determine how much function can be enabled.

Note: the following features of Priv 1.13 require ACT infrastructure that prevent their implementation at this time:

  • Defined hardware error and software check exception codes.
  • Defined the misaligned atomicity granule PMA, superseding the proposed Zam extension.

Deliverables:

  • Accepted Sail model updates (PRs) in support of the above Priv 1.13 features
  • Accepted Sail build verification tests (PRs) to support the new model features

Acceptance Criteria:

  • Passing of the ACT tests (regression)
  • Passing of the build verification tests for Priv 1.13 (Note: the ACT tests for Priv 1.13 are requested to be self-checking and as such should be usable as BVTs. See #43 for more discussion.)

Projected timeframe: (best guess date)
2 person months (part time)

SOW Signoffs: (delete those not needed)

  • Task group liaison sign-off
  • Development partner sign-off
  • Golden Model SIG sign-off (if SAIL work)

Waiver

  • Freeze
  • Ratification

Pull Request Details

No response

@jjscheel jjscheel self-assigned this May 8, 2024
@jjscheel
Copy link
Contributor Author

jjscheel commented May 9, 2024

@billmcspadden-riscv, I'd love your review and feedback of this SOW.

@jjscheel jjscheel changed the title Sail support for Priv 1.13 Sail Support for Priv 1.13 May 9, 2024
@billmcspadden-riscv
Copy link

With regards to acceptance criteria, passing of ACT tests: if the ACT tests are not self-checking, then the tests must be run against another model (perhaps Spike) and the signatures compared. If a second simulator is needed, then that model must also implement 1.13 features as well.

In short, unless the ACTs are self-checking for 1.13 features, I don't think this should be criteria for acceptance.

@jjscheel
Copy link
Contributor Author

Thanks, @billmcspadden-riscv. So, you're advocating that I remove the second acceptance item and not replace it with anything?

@billmcspadden-riscv
Copy link

I think the BVTs for 1.13 must exist and must pass to meet acceptance criteria.

If the ACTs exist and are self-checking, then they should be part of the acceptance criteria.
We need to ask Allen if the tests will be self-checking.

In general, I think we need to try and make the ACTs self-checking.

Bill Mc.

@jjscheel
Copy link
Contributor Author

Thanks, @billmcspadden-riscv. I've updated the SOW description above w.r.t. ACT and BVTs. Please let me know if you'd like any additional clarifications.

@jjscheel
Copy link
Contributor Author

@billmcspadden-riscv will be driving this work. If anyone has resources who can help, please reach out to him.

@billmcspadden-riscv
Copy link

Under way....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Blocked
Development

No branches or pull requests

2 participants