1. Feb 24, 2022
  2. Feb 02, 2022
  3. Jan 21, 2022
  4. Jan 20, 2022
  5. Jan 19, 2022
  6. Jan 18, 2022
  7. Jan 12, 2022
  8. 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
  9. Dec 24, 2021
  10. Dec 20, 2021
  11. Dec 16, 2021
  12. Nov 30, 2021
  13. Nov 12, 2021
  14. Nov 05, 2021
  15. Nov 04, 2021
  16. Nov 03, 2021
  17. Sep 23, 2021
  18. Sep 16, 2021
  19. Aug 25, 2021
  20. Aug 19, 2021
  21. Jul 23, 2021
  22. Jun 25, 2021
  23. Jun 23, 2021
  24. Jun 11, 2021
  25. May 11, 2021
  26. May 07, 2021
  27. May 05, 2021
  28. 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