1. Jun 28, 2023
    • Tim Newsome's avatar
      Let debugger control hart availability · 23051382
      Tim Newsome authored
      This change lets me test OpenOCD's behavior when harts become available.
      It only affects how things look to the debugger. Harts that are
      "unavailable" still execute code as usual.
      
      Control is implemented through the 2 LSBs of the DMCUSTOM register in
      the Debug Module.
      23051382
  2. Jun 08, 2023
  3. Jun 07, 2023
  4. Jun 03, 2023
  5. Jun 02, 2023
  6. May 29, 2023
  7. May 28, 2023
  8. May 27, 2023
  9. May 26, 2023
  10. May 25, 2023
    • Andrew Waterman's avatar
      Merge pull request #1350 from rivosinc/etrigger_fix_exception_match · fa79c20a
      Andrew Waterman authored
      triggers: Fix etrigger match on exceptions
      fa79c20a
    • Atul Khare's avatar
      triggers: Fix etrigger match on exceptions · d9e30bb6
      Atul Khare authored
      
      
      The etrigger match on exceptions doesn't work properly in cases like
      the following:
      
      1) M-mode delegates ECALLs to S-mode
      2) A CPU hardware point mechanism is used to place a breakpoint on the
         Umode instruction that executes the ECALL from Umode to Smode. In
         effect, this creates a breakpoint etrigger based on Umode.
      
      In the above, the expectation is that #2 will first cause an exit to
      the Smode handler (stvec), and the hardware breakpoint exception will
      be triggered following an entry into the handler.
      
      However, since etrigger currently checks the current privilege mode, we
      will never get a match on conditions like #2.
      
      The patch attempts to address the issue by using the stashed version of
      the previous privilege mode for the etrigger match.
      
      cc: YenHaoChen <howard25336284@gmail.com>
      Signed-off-by: default avatarAtul Khare <atulkhare@rivosinc.com>
      d9e30bb6
    • Atul Khare's avatar
      Enhance mode_match() functionality · 31f5ede6
      Atul Khare authored
      The current version of mode_match() is based on the current privilege
      level. This adds an explicit privilege and virtual mode parameters in
      anticipation of an upcoming patch for matching trap triggers.
      31f5ede6
    • Atul Khare's avatar
      Add prev_prv to processor state · ddae0f25
      Atul Khare authored
      This adds the prev_prv field to track the previous privilege. It will
      be used in a forthcoming patch for trigger matching.
      ddae0f25
    • Atul Khare's avatar
      Add pre_v to processor state · fb57d7ce
      Atul Khare authored
      This adds the prev_v field to track the previous virtual mode state. We
      also assign it unconditionally to handle cases for trigger matching
      like the following (pointed out by Scott Johnson):
      
          1) SRET from HS to VU: prev_v is set to 0
          2) Trap from VU to VS: state.v/prev_v won't be assigned because of
             unchanged v, and remain 0.
          3) An etrigger that's set to break on a VU-mode trap won't match
             properly because prev_v is incorrect
      
      This be used in a forthcoming patch for trigger matching.
      fb57d7ce
  11. May 23, 2023