1. May 22, 2024
  2. May 21, 2024
  3. May 07, 2024
  4. May 03, 2024
  5. May 02, 2024
  6. Apr 30, 2024
  7. Apr 29, 2024
  8. Apr 24, 2024
  9. Apr 23, 2024
  10. Apr 18, 2024
    • SuHsien Ho's avatar
      Add Zicfiss extension from CFI extension, v0.4.0 · 9ba5bd31
      SuHsien Ho authored
      1. Add EXT_ZICFISS for enable Zicfiss with zicfiss extension name.
      2. Add new software exception with tval 3 for shadow stack.
      3. Implement sspush_x1/sspush_x5/sspopchk_x1/sspopchk_x5/ssrdp/ssamoswap_w/ssamoswap_d.
      4. Implement c_sspush_x1/c_sspopchk_x5 in c_lui.h which has same encoding.
      5. Add new special access type ss_access in xlate_flags_t for checking special read/write permission in SS(Shadow Stack) page.
      6. Add new ss_load/ss_store/ssamoswap to enable ss_access flag.
      7. Check special pte(xwr=010) of SS page.
      9ba5bd31
    • Andrew Waterman's avatar
      Merge pull request #1595 from Siudya/until-paddr · 3192ee4d
      Andrew Waterman authored
      Interaction: Support until-mem operation on physical memory space
      3192ee4d
  11. Apr 09, 2024
  12. Mar 26, 2024
  13. Mar 25, 2024
  14. Mar 23, 2024
  15. Mar 22, 2024
  16. Mar 13, 2024
  17. Mar 12, 2024
    • rbuchner's avatar
      Update vcompress.vm to not write vstart with 0 upon completion · a9831b43
      rbuchner authored
      Vmcompress.vm requires vstart==0, so writing vstart with 0 is redundant.
      
      To do this, spin off VI_LOOP_END_BASE from VI_LOOP_END. VI_LOOP_END
      will contain VI_LOOP_END_BASE as well as a write of 0 to vstart.
      
      See #1623 for full discussion.
      a9831b43
  18. Mar 08, 2024
  19. Mar 07, 2024
    • Alexander Romanov's avatar
      workaround to support custom extensions that use standard prefixes · 7da36db7
      Alexander Romanov authored
      RISC-V ISA states (21.1):
      "A standard-compatible global encoding can also use standard prefixes
      for non-standard extensions if the associated standard extensions are
      not included in the global encoding."
      
      Currently all the instructions (either from standard or custom
      extensions) are all being inserted into a single std::vector which is
      then being sorted. An instruction matching process performs linear
      search on that vector. The problem is that when a custom extension uses
      the same opcode as standard one (i.e. match and mask are equal to the
      standard counterparts) it is undefined which instruction will be picked.
      That is because in std::sort "The order of equal elements is not
      guaranteed to be preserved". That being said it is impossible to define
      custom extension (via customext) that would use the prefix of a disabled
      standard extension.
      
      In this change I separate custom and standard extensions in two separate
      std::vector's. By default we report an error if they have common
      elements (There're an additional processor_t constructor's argument that
      skips this check). If this error is disabled during instruction matching
      we first trying to find it among custom instructions. If it has been
      found the search is stopped and custom instruction is executed,
      otherwise we look for it among standard instructions. Overall this
      change does not completely fix the problem but at least makes it
      possible to use the feature of RISC-V ISA.
      7da36db7
  20. Mar 06, 2024