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 | e14e57c7804708ce1ee1b45b5165c8fdd5843a69 (patch) | |
tree | 011bc774a4cb6eb647f0fbaca3cb4bc41cfe277b /riscv/mmu.cc | |
parent | c33ae3435816366e8406582186b3f7f284aa6b5b (diff) | |
download | spike-e14e57c7804708ce1ee1b45b5165c8fdd5843a69.zip spike-e14e57c7804708ce1ee1b45b5165c8fdd5843a69.tar.gz spike-e14e57c7804708ce1ee1b45b5165c8fdd5843a69.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() |