ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.

This commit is contained in:
Fernando Sahmkow
2020-03-07 18:59:42 -04:00
parent 535c542d84
commit cd1c38be8d
12 changed files with 325 additions and 24 deletions

View File

@ -18,7 +18,11 @@ class ExclusiveMonitor {
public:
virtual ~ExclusiveMonitor();
virtual void SetExclusive(std::size_t core_index, VAddr addr) = 0;
virtual void SetExclusive8(std::size_t core_index, VAddr addr) = 0;
virtual void SetExclusive16(std::size_t core_index, VAddr addr) = 0;
virtual void SetExclusive32(std::size_t core_index, VAddr addr) = 0;
virtual void SetExclusive64(std::size_t core_index, VAddr addr) = 0;
virtual void SetExclusive128(std::size_t core_index, VAddr addr) = 0;
virtual void ClearExclusive() = 0;
virtual bool ExclusiveWrite8(std::size_t core_index, VAddr vaddr, u8 value) = 0;