1. Jan 07, 2022
  2. Dec 28, 2021
    • Andrew Waterman's avatar
      Add hypervisor extension (#2841) · 185cac83
      Andrew Waterman authored
      This PR implements v0.6.2 of the RISC-V Hypervisor Extension.
      
      The implementation was inspired by José Martins' and colleagues' work
      described in [1]. Much of the microarchitecture and essentially all of
      the code is new, but their implementation served as our baseline.
      We thank them for trailblazing hypervisor support in rocket-chip.
      
      Note that this PR only includes the mechanisms to virtualize the hart
      itself. Virtualized interrupt controllers, IOMMUs, etc. are future work.
      Lots of future work.
      
      Note also that some features are (legally) not implemented. Currently,
      misa.H is not writable, something we may or may not choose to fix.
      The mtinst and htinst CSRs are hardwired to 0, placing
      additional onus on hypervisor software to use the HLVX instruction.
      
      [1] "A First Look at RISC-V Virtualization from an Embedded Systems Perspective", https://arxiv.org/abs/2103.14951
      
      
      
      Co-authored-by: default avatarJohn Ingalls <john.ingalls@sifive.com>
      185cac83
  3. Dec 24, 2021
  4. Dec 16, 2021
  5. Nov 30, 2021
  6. Nov 12, 2021
  7. Nov 05, 2021
  8. Nov 04, 2021
  9. Nov 03, 2021
  10. Sep 23, 2021
  11. Sep 16, 2021
  12. Aug 25, 2021
  13. Aug 19, 2021
  14. Jul 23, 2021
  15. Jun 25, 2021
  16. Jun 23, 2021
  17. Jun 11, 2021
  18. May 11, 2021
  19. May 07, 2021
  20. May 05, 2021
  21. May 04, 2021
    • John Ingalls's avatar
      DCache does not block Acquire/ProbeAck by outstanding Release (#2832) · f2f3a1b3
      John Ingalls authored
      * DCache does not block Acquire/ProbeAck by outstanding Release
      
      * include more bits in the block_probe_for_pending_release_ack address comparison to eliminate most false positives
      
      * tl_out_a block acquire for pending release_ack: include address comparison to eliminate most false positives
      
      * tl_out_a block acquire for pending release_ack: use s2_req.addr for address comparison to improve timing
      f2f3a1b3
  22. Apr 19, 2021
  23. Apr 10, 2021
  24. Apr 01, 2021
  25. Mar 31, 2021
    • Andrew Waterman's avatar
      Fix a scratchpad ECC bug · d929bfb6
      Andrew Waterman authored
      When a store is immediately followed by a load to the same address,
      and the load detects an ECC error (corresponding to the old contents),
      the store fails to take effect.
      
      Only affects data scratchpads, not D$.
      d929bfb6