diff options
author | bunnei <bunneidev@gmail.com> | 2018-02-18 20:46:11 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-02-18 20:46:11 +0100 |
commit | cec0d4f1918c640524fa0087549da2fab0960e24 (patch) | |
tree | 3b2c3e28cc798b6cdf081d6ddd6e13554458b72a /src/core/hle/kernel/address_arbiter.h | |
parent | Merge pull request #198 from N00byKing/clang (diff) | |
download | yuzu-cec0d4f1918c640524fa0087549da2fab0960e24.tar yuzu-cec0d4f1918c640524fa0087549da2fab0960e24.tar.gz yuzu-cec0d4f1918c640524fa0087549da2fab0960e24.tar.bz2 yuzu-cec0d4f1918c640524fa0087549da2fab0960e24.tar.lz yuzu-cec0d4f1918c640524fa0087549da2fab0960e24.tar.xz yuzu-cec0d4f1918c640524fa0087549da2fab0960e24.tar.zst yuzu-cec0d4f1918c640524fa0087549da2fab0960e24.zip |
Diffstat (limited to 'src/core/hle/kernel/address_arbiter.h')
-rw-r--r-- | src/core/hle/kernel/address_arbiter.h | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/core/hle/kernel/address_arbiter.h b/src/core/hle/kernel/address_arbiter.h deleted file mode 100644 index f902ddf2d..000000000 --- a/src/core/hle/kernel/address_arbiter.h +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2014 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#pragma once - -#include "common/common_types.h" -#include "core/hle/kernel/kernel.h" -#include "core/hle/result.h" - -// Address arbiters are an underlying kernel synchronization object that can be created/used via -// supervisor calls (SVCs). They function as sort of a global lock. Typically, games/other CTR -// applications use them as an underlying mechanism to implement thread-safe barriers, events, and -// semphores. - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// Kernel namespace - -namespace Kernel { - -enum class ArbitrationType : u32 { - Signal, - WaitIfLessThan, - DecrementAndWaitIfLessThan, - WaitIfLessThanWithTimeout, - DecrementAndWaitIfLessThanWithTimeout, -}; - -class AddressArbiter final : public Object { -public: - /** - * Creates an address arbiter. - * - * @param name Optional name used for debugging. - * @returns The created AddressArbiter. - */ - static SharedPtr<AddressArbiter> Create(std::string name = "Unknown"); - - std::string GetTypeName() const override { - return "Arbiter"; - } - std::string GetName() const override { - return name; - } - - static const HandleType HANDLE_TYPE = HandleType::AddressArbiter; - HandleType GetHandleType() const override { - return HANDLE_TYPE; - } - - std::string name; ///< Name of address arbiter object (optional) - - ResultCode ArbitrateAddress(ArbitrationType type, VAddr address, s32 value, u64 nanoseconds); - -private: - AddressArbiter(); - ~AddressArbiter() override; -}; - -} // namespace Kernel |