Commit Graph

2349 Commits

Author SHA1 Message Date
Subv 4be07d1090 Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs 2018-04-20 21:04:35 -05:00
Subv 106d31e8c3 Qt: Update the WaitTree widget to show info about the current mutex of each thread. 2018-04-20 21:04:34 -05:00
Subv f5a2b1920b Kernel: Remove unused ConditionVariable class. 2018-04-20 21:04:33 -05:00
Subv e499b48f97 Kernel: Remove old and unused Mutex code. 2018-04-20 21:04:32 -05:00
Subv fcd7cbe65a Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKey
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
2018-04-20 21:04:27 -05:00
Subv 4e47dd5b59 Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.
Switch mutexes are no longer kernel objects, they are managed in userland and only use the kernel to handle the contention case.
Mutex addresses store a special flag value (0x40000000) to notify the guest code that there are still some threads waiting for the mutex to be released. This flag is updated when a thread calls ArbitrateUnlock.

TODO:
* Fix svcWaitProcessWideKey
* Fix svcSignalProcessWideKey
* Remove the Mutex class.
2018-04-20 21:04:25 -05:00
bunnei 4a972207d6 Merge pull request #372 from lioncash/enum
resource_limit: Make ResourceTypes an enum class
2018-04-20 21:26:54 -04:00
Lioncash 4bd499d440 core: Relocate g_service_manager to the System class
Converts the service manager from a global into an instance-based
variable.
2018-04-20 19:44:32 -04:00
Lioncash 5860b9f4ce resource_limit: Make ResourceTypes an enum class
Prevents enum identifiers from leaking into the surrounding scope.
2018-04-20 19:41:45 -04:00
bunnei 18e541f7e2 Merge pull request #340 from mailwl/vi-update
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
2018-04-20 16:23:15 -04:00
bunnei c3236a3a37 Merge pull request #360 from lioncash/namespaces
service: Use nested namespace specifiers where applicable
2018-04-20 09:44:40 -04:00
bunnei e325ef7f09 Merge pull request #363 from lioncash/array-size
common_funcs: Remove ARRAY_SIZE macro
2018-04-20 09:43:02 -04:00
Lioncash c9f5ae4fcc common_funcs: Remove ARRAY_SIZE macro
C++17 has non-member size() which we can just call where necessary.
2018-04-19 22:36:52 -04:00
Lioncash 6d94dd21a5 service: Use nested namespace specifiers where applicable
Tidies up namespace declarations
2018-04-19 22:20:28 -04:00
Lioncash 59a504d933 vi: Remove redundant initializers in the constructors 2018-04-19 21:34:36 -04:00
bunnei b17664dfa9 nvflinger: Call MicroProfileFlip on NVFlinger::Compose. 2018-04-18 20:28:50 -04:00
mailwl 59077b7d07 Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
both SetLayerVisibility() functions used in Lego games, GetDisplayResolution()
fixed according switchbrew.org
2018-04-17 19:42:14 +03:00
Hexagon12 4c462c91bd Various service name fixes - part 2 (rebased) (#322)
* Updated ACC with more service names

* Updated SVC with more service names

* Updated set with more service names

* Updated sockets with more service names

* Updated SPL with more service names

* Updated time with more service names

* Updated vi with more service names
2018-04-17 11:37:43 -04:00
bunnei 03ee087c5e Merge pull request #338 from bunnei/unrequire-shared-font
pl_u: Use empty shared font if none is available.
2018-04-15 16:54:36 -04:00
bunnei f6ba44429e pl_u: Use empty shared font if none is available.
- Makes games work in lieu of shared_font.bin.
2018-04-15 16:15:34 -04:00
bunnei dc852fda3b fsp_srv: Implement DeleteFile.
- Used by Binding of Isaac.
2018-04-15 13:15:18 -04:00
bunnei 1a1008a642 Merge pull request #332 from bunnei/fix-total-mem-usage
vm_manager: Increase GetTotalMemoryUsage value.
2018-04-14 22:29:19 -04:00
bunnei 3260473ce8 vm_manager: Increase GetTotalMemoryUsage value.
- Gets Binding of Isaac running.
2018-04-14 22:04:10 -04:00
bunnei 28c0641382 fsp_srv: Implement IFile::Flush. 2018-04-14 19:46:09 -04:00
bunnei e42bbdddff Merge pull request #323 from Hexagon12/stub-hid
Service/HID: Stubbed out GetPlayerLedPattern
2018-04-13 10:58:03 -04:00
Hexagon12 433ccdebe5 Fixed normal params in GetDisplayResolution 2018-04-13 17:47:01 +03:00
Hexagon12 e6bb2d65f8 Stubbed out GetPlayerLedPattern 2018-04-13 17:05:03 +03:00
bunnei 219e3f4c45 Merge pull request #319 from Hexagon12/service-name-fix
Various service name fixes - part 1
2018-04-13 00:25:32 -04:00
mailwl b439691768 Service/SSL: update service according switchbrew 2018-04-11 19:17:18 +03:00
Hexagon12 8293ccc5ed Various fixes and clang 2018-04-11 14:48:56 +03:00
Hexagon12 6d6064d42e Decimal change 2018-04-10 21:21:00 +03:00
Hexagon12 f171ec8b29 Updated pctl:a with new service names. 2018-04-10 21:03:23 +03:00
Hexagon12 0bd95ef3be Updated nvmemp with new service names. 2018-04-10 20:28:15 +03:00
Hexagon12 2df3594b31 Updated nvdrv with more service names. 2018-04-10 20:26:49 +03:00
Hexagon12 837b8b5b80 Updated pl:u with more service names. 2018-04-10 20:23:21 +03:00
Hexagon12 e05e3c8a08 Updated hid with more service names. 2018-04-10 20:17:22 +03:00
Hexagon12 93b83a11b6 Updated friend:u with more service names. 2018-04-10 20:02:11 +03:00
Hexagon12 83479a3d19 Updated the unknown name 2018-04-10 20:01:33 +03:00
Hexagon12 251c576455 Updated friend:a with more service names. 2018-04-10 20:00:36 +03:00
Hexagon12 f8e0ce2cd0 Updated fsp-srv with more service names. 2018-04-10 19:30:27 +03:00
Hexagon12 82be79db10 Updated CodecCtl with more service names. 2018-04-10 18:58:14 +03:00
Hexagon12 a9239dbed8 Updated audren with more service names. 2018-04-10 18:56:57 +03:00
Hexagon12 95d5bf3aa1 Updated audrec with more service names. 2018-04-10 18:53:33 +03:00
Hexagon12 eff525cab3 Updated audout with more service names. 2018-04-10 18:51:50 +03:00
Hexagon12 ba73f4e0a4 Updated audin with more service names. 2018-04-10 18:47:52 +03:00
Hexagon12 3eab3da04c Updated AOC with more service names. 2018-04-10 18:42:28 +03:00
Hexagon12 22ef1d1cc5 Updated AppletOE with more service names. 2018-04-10 18:41:17 +03:00
Hexagon12 4a594aff08 Updated AppletAE with more service names. 2018-04-10 18:39:46 +03:00
Hexagon12 c823bbde93 Updated AM with more service names. 2018-04-10 18:36:00 +03:00
mailwl a6a6ffed7a Service/ACC: convert to module, add acc:aa, acc:su, acc:u1 services 2018-04-10 10:18:52 +03:00