1. Feb 28, 2018
    • Andrew Waterman's avatar
      Fix mapping of acquire/release AMOs to fence operations · 0b41d931
      Andrew Waterman authored
      AMO.aq should be implemented as AMO;FENCE, whereas AMO.rl should be
      implemented as FENCE;AMO.  These had been swapped.  This error does
      not affect cacheable accesses using the blocking D$, nor does it
      affect accesses to the data scratchpad, nor does it affect accesses
      to strongly ordered I/O regions (which is the default).
      
      Cacheable accesses using the nonblocking D$ and accesses to weakly
      ordered I/O regions may manifest memory-ordering violations.  For
      these accesses, the workaround is to use AMO.aqrl whenever AMO.aq
      or AMO.rl had been used.
      0b41d931
    • Andrew Waterman's avatar
      Fix debug trigger point for stores · 05aa461e
      Andrew Waterman authored
      In Rocket, debug triggers are supposed to happen before a store
      occurs, rather than after.  Previously, we reported the exception
      on the store's PC, but the store occurred anyway.  This probably
      hasn't been problematic in practice because most stores are
      idempotent.
      05aa461e
  2. Dec 09, 2017
  3. Dec 08, 2017
  4. Dec 05, 2017
  5. Dec 02, 2017
  6. Dec 01, 2017
  7. Nov 30, 2017
  8. Nov 28, 2017