citra-emu/citra — pull request #29 by bunnei (2014-07-07 03:20:28+00:00)
Title: Address arbiters

Adds address arbiters to kernel HLE. An address arbiter is a CTR kernel synchronization mechanism, typically used as a global lock. Games use them as an underlying mechanism to implement events, semaphores, etc. This branch adds preliminary support for address arbiters - I've only implemented arbitration mechanisms that I've seen used an understand, but several modes (e.g. DecrementAndWaitIfLessThan, DecrementAndWaitIfLessThanWithTimeout) remain.