diff options
author | MerryMage <MerryMage@users.noreply.github.com> | 2018-07-03 15:28:46 +0200 |
---|---|---|
committer | MerryMage <MerryMage@users.noreply.github.com> | 2018-07-22 16:55:17 +0200 |
commit | 0b1c2e5505c6478ef10e65c0b002eeb242e15540 (patch) | |
tree | 187eeabceb451d3cd89b3f0fd47412a7a9e57015 /src/core/arm/exclusive_monitor.h | |
parent | Merge pull request #765 from lioncash/file (diff) | |
download | yuzu-0b1c2e5505c6478ef10e65c0b002eeb242e15540.tar yuzu-0b1c2e5505c6478ef10e65c0b002eeb242e15540.tar.gz yuzu-0b1c2e5505c6478ef10e65c0b002eeb242e15540.tar.bz2 yuzu-0b1c2e5505c6478ef10e65c0b002eeb242e15540.tar.lz yuzu-0b1c2e5505c6478ef10e65c0b002eeb242e15540.tar.xz yuzu-0b1c2e5505c6478ef10e65c0b002eeb242e15540.tar.zst yuzu-0b1c2e5505c6478ef10e65c0b002eeb242e15540.zip |
Diffstat (limited to 'src/core/arm/exclusive_monitor.h')
-rw-r--r-- | src/core/arm/exclusive_monitor.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/core/arm/exclusive_monitor.h b/src/core/arm/exclusive_monitor.h new file mode 100644 index 000000000..acfcdb94c --- /dev/null +++ b/src/core/arm/exclusive_monitor.h @@ -0,0 +1,23 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <array> +#include "common/common_types.h" + +class ExclusiveMonitor { +public: + virtual ~ExclusiveMonitor(); + + virtual void SetExclusive(size_t core_index, u64 addr) = 0; + virtual void ClearExclusive() = 0; + + virtual bool ExclusiveWrite8(size_t core_index, u64 vaddr, u8 value) = 0; + virtual bool ExclusiveWrite16(size_t core_index, u64 vaddr, u16 value) = 0; + virtual bool ExclusiveWrite32(size_t core_index, u64 vaddr, u32 value) = 0; + virtual bool ExclusiveWrite64(size_t core_index, u64 vaddr, u64 value) = 0; + virtual bool ExclusiveWrite128(size_t core_index, u64 vaddr, + std::array<std::uint64_t, 2> value) = 0; +}; |