bunnei
b1c17bae85
Merge pull request #370 from Subv/sync_primitives
...
Kernel: Reworked the new kernel synchronization primitives.
2018-04-23 16:33:00 -04:00
bunnei
2066a585ca
Merge pull request #384 from Subv/nvhost-remap
...
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
2018-04-23 15:23:55 -04:00
Subv
d891bdc4d1
Kernel: Implemented mutex priority inheritance.
...
Verified with a hwtest and implemented based on reverse engineering.
Thread A's priority will get bumped to the highest priority among all the threads that are waiting for a mutex that A holds.
Once A releases the mutex and ownership is transferred to B, A's priority will return to normal and B's priority will be bumped.
2018-04-23 11:23:44 -05:00
Subv
d2a3e72258
NvDrv/nvhost-as-gpu: Ensure that the object passed to MapBufferEx has already been allocated.
...
Also added a consistency check and a comment for the case when the object id is different than its handle. The real nvservices doesn't make a distinction between ids and handles, each object gets an unique handle which doubles as its id.
2018-04-23 11:21:46 -05:00
Subv
3f27909087
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
...
It takes a previously-reserved (AllocateSpace) GPU memory address and maps it to the address of the nvmap object passed to Remap.
2018-04-23 11:21:46 -05:00
Subv
6dce188cd2
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
2018-04-23 11:13:53 -05:00
Subv
c40ae6ff39
Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs
2018-04-20 21:04:35 -05:00
Subv
bed06fd06b
Qt: Update the WaitTree widget to show info about the current mutex of each thread.
2018-04-20 21:04:34 -05:00
Subv
1313922fda
Kernel: Remove unused ConditionVariable class.
2018-04-20 21:04:33 -05:00
Subv
9a51860eea
Kernel: Remove old and unused Mutex code.
2018-04-20 21:04:32 -05:00
Subv
1784ec58e9
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
55a515d119
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
c522315d10
Merge pull request #372 from lioncash/enum
...
resource_limit: Make ResourceTypes an enum class
2018-04-20 21:26:54 -04:00
Lioncash
c826af8077
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
52d7cd8a9b
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
a0c4a996c7
Merge pull request #340 from mailwl/vi-update
...
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
2018-04-20 16:23:15 -04:00
bunnei
fd07004bb1
Merge pull request #367 from lioncash/clamp
...
math_util: Remove the Clamp() function
2018-04-20 14:18:03 -04:00
Lioncash
ae5156dc73
math_util: Remove the Clamp() function
...
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
2018-04-20 10:14:13 -04:00
bunnei
87a2a69f03
Merge pull request #360 from lioncash/namespaces
...
service: Use nested namespace specifiers where applicable
2018-04-20 09:44:40 -04:00
bunnei
7b7b40c0cf
Merge pull request #363 from lioncash/array-size
...
common_funcs: Remove ARRAY_SIZE macro
2018-04-20 09:43:02 -04:00
Lioncash
7465782e53
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
20333e8393
service: Use nested namespace specifiers where applicable
...
Tidies up namespace declarations
2018-04-19 22:20:28 -04:00
bunnei
3d18f645bc
Merge pull request #358 from lioncash/explicit
...
disk_filesystem: Minor changes
2018-04-19 22:16:55 -04:00
Lioncash
344b518892
vi: Remove redundant initializers in the constructors
2018-04-19 21:34:36 -04:00
Lioncash
9feafc932e
disk_filesystem: Remove unused total_entries_in_directory member from Disk_Directory
2018-04-19 21:28:56 -04:00
Lioncash
7e1a208ba8
disk_filesystem: Remove redundant initializer in Disk_Directory's constructor
2018-04-19 21:28:07 -04:00
Lioncash
f4ba0b39de
disk_filesystem: Make constructors explicit where applicable
2018-04-19 21:27:43 -04:00
bunnei
33a83e4b2a
nvflinger: Call MicroProfileFlip on NVFlinger::Compose.
2018-04-18 20:28:50 -04:00
bunnei
06df34de63
Merge pull request #341 from shinyquagsire23/pfs-hfs-impl
...
file_sys: Add HFS/PFS helper component
2018-04-17 14:39:20 -04:00
mailwl
f43e6a8da1
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
shinyquagsire23
762384fc49
file_sys: Use NGLOG
2018-04-17 09:55:29 -06:00
Hexagon12
f852009f16
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
shinyquagsire23
fd2b72739a
file_sys: tweaks
2018-04-16 06:51:59 -06:00
shinyquagsire23
f3249addf8
file_sys: Add HFS/PFS helper component
2018-04-16 04:36:25 -06:00
bunnei
90af41522f
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
2b8c69df82
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
72b8457c90
fsp_srv: Implement DeleteFile.
...
- Used by Binding of Isaac.
2018-04-15 13:15:18 -04:00
bunnei
8d299b7502
Merge pull request #332 from bunnei/fix-total-mem-usage
...
vm_manager: Increase GetTotalMemoryUsage value.
2018-04-14 22:29:19 -04:00
bunnei
1eaae300d1
vm_manager: Increase GetTotalMemoryUsage value.
...
- Gets Binding of Isaac running.
2018-04-14 22:04:10 -04:00
bunnei
01636bd8c1
fsp_srv: Implement IFile::Flush.
2018-04-14 19:46:09 -04:00
bunnei
fd70ab7449
Merge pull request #323 from Hexagon12/stub-hid
...
Service/HID: Stubbed out GetPlayerLedPattern
2018-04-13 10:58:03 -04:00
Hexagon12
dcca767129
Fixed normal params in GetDisplayResolution
2018-04-13 17:47:01 +03:00
Hexagon12
45d0f3aa17
Stubbed out GetPlayerLedPattern
2018-04-13 17:05:03 +03:00
bunnei
22a26b7fb5
Merge pull request #319 from Hexagon12/service-name-fix
...
Various service name fixes - part 1
2018-04-13 00:25:32 -04:00
mailwl
33a7e34f7b
Service/SSL: update service according switchbrew
2018-04-11 19:17:18 +03:00
Hexagon12
f4031770c4
Various fixes and clang
2018-04-11 14:48:56 +03:00
Hexagon12
0de5d695f2
Decimal change
2018-04-10 21:21:00 +03:00
Hexagon12
1126a652ff
Updated pctl:a with new service names.
2018-04-10 21:03:23 +03:00
Hexagon12
a0ea81c9aa
Updated nvmemp with new service names.
2018-04-10 20:28:15 +03:00
Hexagon12
f7e736e9f6
Updated nvdrv with more service names.
2018-04-10 20:26:49 +03:00