diff options
author | Lioncash <mathew1800@gmail.com> | 2019-03-08 00:42:44 +0100 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2019-03-08 05:27:47 +0100 |
commit | b7f331afa3db235db39eca041fef720873f3091a (patch) | |
tree | cf2a5f7a3744fb7ed2104bf166aa65433377f1c1 /src/core/hle/kernel/address_arbiter.h | |
parent | kernel/svc: Move address arbiter waiting behind a unified API function (diff) | |
download | yuzu-b7f331afa3db235db39eca041fef720873f3091a.tar yuzu-b7f331afa3db235db39eca041fef720873f3091a.tar.gz yuzu-b7f331afa3db235db39eca041fef720873f3091a.tar.bz2 yuzu-b7f331afa3db235db39eca041fef720873f3091a.tar.lz yuzu-b7f331afa3db235db39eca041fef720873f3091a.tar.xz yuzu-b7f331afa3db235db39eca041fef720873f3091a.tar.zst yuzu-b7f331afa3db235db39eca041fef720873f3091a.zip |
Diffstat (limited to 'src/core/hle/kernel/address_arbiter.h')
-rw-r--r-- | src/core/hle/kernel/address_arbiter.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/core/hle/kernel/address_arbiter.h b/src/core/hle/kernel/address_arbiter.h index ebda75b2a..801ab6dab 100644 --- a/src/core/hle/kernel/address_arbiter.h +++ b/src/core/hle/kernel/address_arbiter.h @@ -40,8 +40,15 @@ public: AddressArbiter(AddressArbiter&&) = default; AddressArbiter& operator=(AddressArbiter&&) = delete; + /// Signals an address being waited on with a particular signaling type. + ResultCode SignalToAddress(VAddr address, SignalType type, s32 value, s32 num_to_wake); + + /// Waits on an address with a particular arbitration type. + ResultCode WaitForAddress(VAddr address, ArbitrationType type, s32 value, s64 timeout_ns); + +private: /// Signals an address being waited on. - ResultCode SignalToAddress(VAddr address, s32 num_to_wake); + ResultCode SignalToAddressOnly(VAddr address, s32 num_to_wake); /// Signals an address being waited on and increments its value if equal to the value argument. ResultCode IncrementAndSignalToAddressIfEqual(VAddr address, s32 value, s32 num_to_wake); @@ -51,10 +58,6 @@ public: ResultCode ModifyByWaitingCountAndSignalToAddressIfEqual(VAddr address, s32 value, s32 num_to_wake); - /// Waits on an address with a particular arbitration type. - ResultCode WaitForAddress(VAddr address, ArbitrationType type, s32 value, s64 timeout_ns); - -private: /// Waits on an address if the value passed is less than the argument value, /// optionally decrementing. ResultCode WaitForAddressIfLessThan(VAddr address, s32 value, s64 timeout, |