|
@@ -40,8 +40,15 @@ public:
|
|
|
AddressArbiter(AddressArbiter&&) = default;
|
|
AddressArbiter(AddressArbiter&&) = default;
|
|
|
AddressArbiter& operator=(AddressArbiter&&) = delete;
|
|
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.
|
|
/// 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.
|
|
/// 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);
|
|
ResultCode IncrementAndSignalToAddressIfEqual(VAddr address, s32 value, s32 num_to_wake);
|
|
@@ -51,10 +58,6 @@ public:
|
|
|
ResultCode ModifyByWaitingCountAndSignalToAddressIfEqual(VAddr address, s32 value,
|
|
ResultCode ModifyByWaitingCountAndSignalToAddressIfEqual(VAddr address, s32 value,
|
|
|
s32 num_to_wake);
|
|
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,
|
|
/// Waits on an address if the value passed is less than the argument value,
|
|
|
/// optionally decrementing.
|
|
/// optionally decrementing.
|
|
|
ResultCode WaitForAddressIfLessThan(VAddr address, s32 value, s64 timeout,
|
|
ResultCode WaitForAddressIfLessThan(VAddr address, s32 value, s64 timeout,
|