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

ACT Support for Priv 1.13 #43

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

ACT Support for Priv 1.13 #43

jjscheel opened this issue May 8, 2024 · 6 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

Arch Tests

Task Sub Category

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

Ratification Target

3Q2024

Statement of Work (SOW)

Component names: Priv 1.13

Requirements:
Provide tests for the following Priv 1.13 updates:

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

The following footnotes clarify level of support:

  1. Basic CSR testing of existence, read, and write until Hypervisor implemented.
  2. Limited by counter support enablement.
  3. May have some challenges with the writability of those fields configurable in the mode in Sail (only).

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:

  • Self-checking assembly language tests.
    Note: because of the nature of the Priv 1.13 tests, they should be written as self-checking so that they can be used both in ACTs and in the Sail model BVTs (build verification tests).
  • Coverage models

Acceptance Criteria:

  • Assembly language tests that meet the TestFormatSpec AND are self-checking.
  • Coverage models using riscv-ctg YAML formatted schema or the compressed coverpoint schema translated into YAML
  • Tests pass using the riscof framework

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
  • ACT SIG sign-off (if ACT 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

@allenjbaum, I'd love your feedback on this SOW.

@jjscheel
Copy link
Contributor Author

Per discussion in the 5/14 DevPartner meeting, I've updated the SOW description in the first entry to require the ACTs to be self-checking so that they may be used by Sail as BVTs.

@billmcspadden-riscv and @allenjbaum, please review and let me know if anything else should be adjusted.

@allenjbaum
Copy link

allenjbaum commented May 16, 2024 via email

@jjscheel
Copy link
Contributor Author

Thanks, @allenjbaum. My responses:

#4 also need footnote1: need hypervisor support

Added.

#6 footnote 3 is misleading, in my opinion. The issue is entirely
Sail configurability.

I extended statement to read "3. May have some challenges with the writability of those fields configurable in the mode in Sail (only).".

RE: tests should be self checking, because ACTs compare the Sail results
with DUT results,
and if Sail can't be configured, but the DUT can be, you'll get a mismatch.
If Sail can' t be configured, they're not useful for BVTs.
You can make them self checking, and they might work for some DUTs, but not
for others.
The may not even work for Sail vs. Spike.....

I'm not sure I follow. Are you arguing the tests for Priv 1.13 CANNOT be self-checking? If so, I'll need you and @billmcspadden-riscv to discuss this more.

The coverage models can be riscv-ctg YAML or the compressed coverpoint
schema translated into YAML

Will update.

@allenjbaum
Copy link

allenjbaum commented May 19, 2024 via email

@jjscheel
Copy link
Contributor Author

No resources at this time.

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