diff options
author | Andrew Waterman <aswaterman@gmail.com> | 2018-07-10 09:56:32 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-10 09:56:32 -0700 |
commit | 95487c248a6eb660b9bd1aa49e28da5a1ab21059 (patch) | |
tree | 011bc774a4cb6eb647f0fbaca3cb4bc41cfe277b /riscv/mmu.cc | |
parent | cc50a327a552f1aa84679c8d3020ec40edc2948f (diff) | |
download | spike-95487c248a6eb660b9bd1aa49e28da5a1ab21059.zip spike-95487c248a6eb660b9bd1aa49e28da5a1ab21059.tar.gz spike-95487c248a6eb660b9bd1aa49e28da5a1ab21059.tar.bz2 |
Refactor and fix LR/SC implementation (#217)
- Use physical addresses to avoid homonym ambiguity (closes #215)
- Yield reservation on store-conditional (https://github.com/riscv/riscv-isa-manual/commit/03a5e722fc0fe7b94dd0a49f550ff7b41a63f612)
- Don't yield reservation on exceptions (it's no longer required).
Diffstat (limited to 'riscv/mmu.cc')
-rw-r--r-- | riscv/mmu.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/riscv/mmu.cc b/riscv/mmu.cc index 3a0bd39..021f587 100644 --- a/riscv/mmu.cc +++ b/riscv/mmu.cc @@ -12,6 +12,7 @@ mmu_t::mmu_t(simif_t* sim, processor_t* proc) matched_trigger(NULL) { flush_tlb(); + yield_load_reservation(); } mmu_t::~mmu_t() |