Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TLB: Check for PutPartial support separately from PutFull #2503

Merged
merged 4 commits into from
Jun 8, 2020

Commits on Jun 5, 2020

  1. TLB: Check for PutPartial support separately from PutFull

    Previously, the TLB would report that M_PWR (PutPartial) was permissible
    anywhere that M_XWR (PutFull) was.  This is fine for cache transactions,
    since the caches can handle PutPartial internally.  It's not fine for
    uncached transactions, since PutFull support does not imply PutPartial
    support.
    
    So, check for PutPartial support separately, similar to AMOs.  If the
    access is cached, assume the access can proceed, since it'll be handled
    in cache.  If the access is uncached, check the PMA.
    
    Rocket never issues M_PWR, so there's no functional change on that front.
    aswaterman committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    2836549 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f34d7ca View commit details
    Browse the repository at this point in the history
  3. D$: break up AMOALUs if coreDataBits > xLen

    Rather than having one big ALU with a coreDataBits-sized adder,
    have two smaller ALUs with shorter critical paths.  This is just
    a QoR improvement for e.g. RV32D, which has xLen=32 and coreDataBits=64.
    For other uses of the D$ that require coreDataBits>64, it's also a
    functional fix.
    aswaterman committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    35e7da9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f2a71ae View commit details
    Browse the repository at this point in the history