Commit graph

5481 commits

Author SHA1 Message Date
Subv
67222ea3a6 NV: Give each display its own vsync event. 2018-01-10 23:28:19 -05:00
Subv
a7c31ad468 NV: Keep track of Displays, Layers and BufferQueues in nvflinger. 2018-01-10 23:28:16 -05:00
Subv
da2990dbb7 IPC: Allow passing arguments to the Interfaces when using PushIpcInterface 2018-01-10 23:28:13 -05:00
Subv
2d06628c52 NV: Implemented (with stubs) the vi:m service and some of its subservices.
The homebrew display test application now properly writes graphics data to the graphics buffer but we still don't have a way to compose the display layers.
2018-01-10 23:28:09 -05:00
Subv
54650737a3 NV: Implemented the nvdrv:a service and the /dev/nvmap device. 2018-01-10 23:28:05 -05:00
Subv
8923c80127 IPC: Corrected some definitions for the buffer C descriptor flags. 2018-01-10 23:28:02 -05:00
Subv
edeb55d78b svc: Stub ResetSignal and CreateTransferMemory 2018-01-10 23:27:59 -05:00
Subv
377e2a79b5 svc: Stub SetMemoryAttribute 2018-01-10 23:27:56 -05:00
Subv
9362706e1d Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask) 2018-01-10 01:01:55 -05:00
Subv
9de1929da9 Services: Allow lm to log single-character messages. 2018-01-10 00:41:29 -05:00
Subv
db71b23c80 SVC: Fixed WaitSynchronization with multiple handles when none is immediately ready. 2018-01-09 15:02:43 -05:00
Subv
607a46a662 SVC: Implemented CancelSynchronization. 2018-01-09 15:02:04 -05:00
Subv
5685c764e4 ErrorCodes: Updated the InvalidHandle and Timeout kernel error codes. 2018-01-09 12:05:10 -05:00
Subv
84d05d5b6c SVC: Fixed WaitSynchronization with multiple handles when at least one of them is ready. 2018-01-09 11:53:50 -05:00
bunnei
7a59da7834 kernel: Rename Semaphore to ConditionVariable. 2018-01-08 21:41:37 -05:00
bunnei
a689a33995 mutex: Remove unused call to VerifyGuestState. 2018-01-08 21:12:56 -05:00
Subv
96e2acfa8f Kernel: Actually wake up the requested number of threads in Semaphore::Release.
Also properly keep track of data in guest memory, this fixes managing the semaphore from userland.

It was found that Semaphores are actually Condition Variables, with Release(1) and Release(-1) being equivalent to notify_one and notify_all. We should change the name of the class to reflect this.
2018-01-08 21:12:54 -05:00
Subv
2ca36ac394 Kernel: Properly keep track of mutex lock data in the guest memory. This fixes userland locking/unlocking. 2018-01-08 21:12:51 -05:00
Subv
ac8f05943b Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback. 2018-01-08 21:12:49 -05:00
bunnei
19ba66ac8e cmake: Use LIBUNICORN_* on Windows. 2018-01-08 20:12:20 -05:00
MerryMage
66a015fe9a fix macos build 2018-01-08 19:20:10 -05:00
bunnei
75589269df core_timing: Use 1.020GHz for core clock rate. 2018-01-08 19:18:50 -05:00
B3n30
1b2aa3780d CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-08 19:10:25 -05:00
Subv
d3f259cd73 IPC: Make DuplicateSession return the Domain instead of the Session if the request was made on a Domain interface. 2018-01-07 17:12:07 -05:00
Subv
f0a939c240 AppletOE: Fixed command buffer structure for ReceiveMessage. 2018-01-07 17:12:05 -05:00
Subv
b01b7eea52 IPC: Corrected some command headers in the IPC Controller interface. 2018-01-07 17:12:03 -05:00
Subv
3dd00433fe IPC: Corrected some command header sizes in appletOE. 2018-01-07 17:12:01 -05:00
Subv
f262afb38a IPC: Take the number of domain objects as a parameter in MakeBuilder. 2018-01-07 17:11:58 -05:00
Subv
ed8e7b90cd SM: Fixed connecting to services with an 8-byte name, like appletOE. 2018-01-07 17:11:56 -05:00
Subv
7d966999d4 IPC: Fixed pushing ResultCodes into the command buffer.
They should have 32 bits of padding after the error code now.
2018-01-07 17:11:54 -05:00
Subv
347ab620b5 IPC: Add functions to read the input move/copy objects from an IPC request. 2018-01-07 17:11:51 -05:00
Subv
eda468e4fb IPC: Don't attempt to read the command buffer if it holds a Close request. 2018-01-07 17:11:49 -05:00
Subv
fd93b1e0ef IPC Cleanup: Remove 3DS-specific code and translate copy, move and domain objects in IPC requests.
Popping objects from the buffer is still not implemented.
2018-01-07 17:11:47 -05:00
Subv
6a6013d4c3 IPC: Skip the entire u64 of the command id when receiving an IPC request.
Service code now doesn't have to deal with this.
2018-01-07 17:11:45 -05:00
Subv
d6a5e0b61b IPC: Use the correct size when pushing raw data to the command buffer and fixed pushing domain objects.
Domain object ids are always stored immediately after the raw data.
2018-01-07 17:11:43 -05:00
bunnei
1aac4945d2 svc: Implement svcSignalProcessWideKey. 2018-01-07 16:55:17 -05:00
bunnei
9b8fff5568 audio: Log dropping frames as trace to reduce spam. 2018-01-07 16:52:59 -05:00
bunnei
d15b38d32c semaphore: More changes for Switch. 2018-01-07 16:52:23 -05:00
bunnei
0459eb07c9 wait_object: Refactor to allow waking up a single thread. 2018-01-07 16:33:41 -05:00
bunnei
02dba7283f nso: Always load the filepath specified by the user. 2018-01-07 12:44:36 -05:00
bunnei
1ae217c357 core_timing: Increase clock speed for Switch docked. 2018-01-07 00:58:06 -05:00
bunnei
2720d550b7 svc: Implement svcWaitProcessWideKeyAtomic. 2018-01-06 16:14:12 -05:00
bunnei
2f66f2210d semaphore: Updates for Switch. 2018-01-06 15:55:40 -05:00
bunnei
718c77f373 lm: Assert on unsupported multi-message. 2018-01-06 14:41:56 -05:00
bunnei
260149fc9b svc: Implement WaitSynchronization for a single handle. 2018-01-06 14:34:32 -05:00
bunnei
25c27e356e svc: Refactor LockMutex code to use WaitSynchronization1. 2018-01-06 14:19:28 -05:00
bunnei
1941e021bc lm: Improve Log() to format a useful string. 2018-01-05 00:45:13 -05:00
bunnei
636d656b45 cmake: Add script to find Unicorn. 2018-01-04 19:52:54 -05:00
bunnei
dc6b80d997 svc: Add missing string_util include. 2018-01-04 19:45:15 -05:00
bunnei
6545152acd cmake: Don't compile Dynarmic as it's unused. 2018-01-04 17:01:02 -05:00