Commit graph

1544 commits

Author SHA1 Message Date
Lioncash ff96c5dba0 svc: Provide names for svc 0x59 and 0x5A
Updated according to 3dbrew.
2017-12-07 22:14:55 -05:00
MerryMage a9af4be363 ldr_ro: Use ranged instruction cache invalidation 2017-12-06 20:59:09 +00:00
Sebastian Valle 4b1253b51a
Merge pull request #3226 from Subv/arbiter_timeout
HLE/AddressArbiter: Remove threads that were awoken by timeout from an Arbiter's waitlist
2017-12-06 12:11:23 -05:00
Subv 8c16b90eae HLE/AddressArbiter: Remove threads that were awoken by timeout from the arbiter's waitlist when using WaitIfLessThanWithTimeout and DecrementAndWaitIfLessThanWithTimeout.
Fixes a regression introduced in #3096
2017-12-06 09:06:45 -05:00
B3n30 b9db9af9e8 fixup! Applet: Print unknown AppletId on ASSERT 2017-12-06 13:52:21 +01:00
B3n30 ddc59e3881 Applet: Print unknown AppletId on ASSERT 2017-12-06 12:41:46 +01:00
wwylele 6050d000fa fs: correct header code; remove dead code 2017-12-05 16:34:01 +02:00
Yuri Kunde Schlesner 9f806384f5
Merge pull request #3190 from Subv/errf_srv_framework
HLE/Services: Convert err:f to the new ServiceFramework.
2017-12-05 00:49:44 -05:00
bunnei 56db8e0858
Merge pull request #3173 from shinyquagsire23/nfc-o3ds-stub
Services/NFC: Stub StartTagScanning as it should be for o3DS
2017-12-04 16:11:54 -05:00
Subv 30bffb1964 HLE/Services: Convert err:f to the new ServiceFramework. 2017-12-04 14:03:11 -05:00
B3n30 3249187ad6
Merge pull request #3181 from wwylele/ipc-handle-split
ipc_helper: split PushMoveObjects and PushCopyObjects
2017-12-04 18:49:42 +01:00
wwylele fda023c9fa ipc_helper: split PushMoveObjects and PushCopyObjects 2017-12-04 19:46:44 +02:00
wwylele ff00cb391a service/ptm: add missing % in logging 2017-12-03 11:52:42 +02:00
Weiyi Wang 2664042325
Merge pull request #3086 from Subv/swkbd_launch
HLE/APT: Allow launching native applets instead of HLE ones.
2017-12-03 11:38:29 +02:00
Weiyi Wang 14819d0b84
Merge pull request #3138 from wwylele/ipc-mapped-buffer
Kernel/IPC: Implement MappedBuffer translation for HLE services that use the HLERequestContext architecture.
2017-12-03 11:33:48 +02:00
wwylele a79a8d17fa FS: transform File to ServiceFramework 2017-12-03 00:05:20 +02:00
wwylele cef6b15de4 IPC Helpers: Implement MappedBuffer translation helper for new interface 2017-12-03 00:05:20 +02:00
wwylele 3ecf650bf9 Kernel/IPC: Implement MappedBuffer translation for HLE services that use the HLERequestContext architecture. 2017-12-03 00:05:20 +02:00
shinyquagsire23 5ad4cf619e Services/NFC: Stub StartTagScanning as it should be for o3DS 2017-12-01 12:42:23 -07:00
Lioncash 89f67ad90f services: Silence warnings related to logging 2017-11-29 18:59:54 -05:00
bunnei b2a99043e3
Merge pull request #2968 from Subv/hle_thread_pause
Kernel/Threads: Add a new thread status that will allow using a Kernel::Event to put a guest thread to sleep inside an HLE handler until said event is signaled
2017-11-29 10:45:48 -05:00
Subv 1be31e271a NS/Applets: Added the MiiSelector applet to the list of native applet ids. 2017-11-28 09:12:52 -05:00
Subv 9543e1a1bf HLE/IPC: Don't assert in HLERequestContext::AddStaticBuffer when there's already a static buffer with the desired id.
This could happen if the guest application performs a request with static buffer id X, and the service module responds with another static buffer with the same id X.
2017-11-28 09:01:15 -05:00
B3n30 e9a95b2e7d
CoreTiming: Reworked CoreTiming (#3119)
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2017-11-25 14:56:57 +01:00
James Rowe b7cf793814
Merge pull request #3113 from shinyquagsire23/sdl-cia-install
SDL CIA Installation
2017-11-24 10:23:20 -07:00
shinyquagsire23 70ff3c72f1 Services/AM: Detect encrypted CIAs 2017-11-20 20:45:21 -07:00
shinyquagsire23 253954930f Services/AM: Return InstallStatus for InstallCIA 2017-11-19 21:56:02 -07:00
Sebastian Valle 555c8ba7c1
Merge pull request #3077 from Subv/hle_static_buffer
Kernel/IPC: Implement StaticBuffer translation for HLE services that use the HLERequestContext architecture.
2017-11-19 11:34:02 -05:00
Sebastian Valle ff275ac1e1
Merge pull request #3083 from Subv/lle_staticbuffer_translation
Kernel/IPC: Handle the StaticBuffer descriptor in LLE command requests.
2017-11-19 11:31:49 -05:00
shinyquagsire23 56e906f1e3 Services/AM: Add InstallCIA function for frontends 2017-11-15 16:05:37 -07:00
shinyquagsire23 1f2aa29dee Services/AM: Move CIA finalization into Close(), Close() on destruction of class 2017-11-15 16:05:33 -07:00
shinyquagsire23 750e7e06b1 Services/AM: Expose CIAFile class in AM header 2017-11-15 12:05:03 -07:00
Sebastian Valle 947067de81
Merge pull request #3085 from Subv/get_service_handle
HLE/SRV: Don't return the port handle if it isn't available when calling GetServiceHandle.
2017-11-15 13:46:12 -05:00
shinyquagsire23 1edbbf7f8c Services/AM: Add GetTitleMediaType 2017-11-15 11:26:00 -07:00
James Rowe 5eabe60aa3
Merge pull request #2969 from mailwl/ptm_step
Service/PTM: Stub GetStepHistory function
2017-11-15 09:39:17 -07:00
Subv afb6dd7747 HLE/SRV: Don't return the port handle if it isn't available when calling GetServiceHandle.
This was incorrect behavior that somehow found its way to 3dbrew. The correct behavior is to sleep until the port becomes available again and then return a session to it.

This is currently unimplemented due to the inability to put a guest thread to sleep during HLE requests.

The correct behavior was reverse engineered by TuxSH a while ago but we never corrected the code in citra.
2017-11-15 11:26:49 -05:00
Sebastian Valle f0027e9996
Merge pull request #3096 from Subv/arbitrateaddress
Kernel/Arbiters: When doing ArbitrateAddress(Signal), always pick the highest priority thread, using the first one that was put to sleep if more than one thread with the same highest priority exists.
2017-11-15 09:16:16 -05:00
Sebastian Valle 93742ec510
Merge pull request #3088 from Subv/clientsession_closing
Kernel/Sessions: Wake up any threads waiting on a ServerSession when its client is closed
2017-11-15 09:15:34 -05:00
Max Thomas 689fe57430 Services/AM: Fix content writing on Windows (#3114) 2017-11-15 10:26:16 +01:00
Subv c9c1ba0952 Kernel/IPC: Implement StaticBuffer translation for HLE services that use the HLERequestContext architecture.
The real kernel requires services to set up their static buffer targets ahead of time. This implementation does not require that and will simply create the storage for the buffers as they are processed in the incoming IPC request.

Static buffers are kept in an unordered_map keyed by their buffer id, and are written into the already-setup area of the request thread when responding an IPC request.

This fixes a regression (crash) introduced in #2992.

This PR introduces more warnings due to the [[deprecated]] attribute being added to void PushStaticBuffer(VAddr buffer_vaddr, size_t size, u8 buffer_id); and VAddr PopStaticBuffer(size_t* data_size);
2017-11-12 11:00:00 -05:00
Subv c68adb787b Kernel/Arbiters: When doing ArbitrateAddress(Signal), always pick the highest priority thread, using the first one that was put to sleep if more than one thread with the same highest priority exists.
This is consistent with hardware behavior as shown by this test https://gist.github.com/ds84182/40e46129bd38b46a5100f15f96ba5eaf
2017-11-08 18:47:08 -05:00
Sebastian Valle 908dbf4230
Merge pull request #3084 from Subv/thread_default_cpu
Kernel/Thread: Use the process' ideal CPU when specifying the Default CPU on CreateThread.
2017-11-08 14:38:50 -05:00
Sebastian Valle 7d12aaaa20
Merge pull request #3087 from shinyquagsire23/am-more-errors
Services/AM: Add errors and adjust naming for accuracy
2017-11-07 09:09:48 -05:00
shinyquagsire23 c07f1b275c Services/AM: Rename and readjust GetNumContentInfos for accuracy 2017-11-06 21:36:49 -07:00
shinyquagsire23 d854d4119a Services/AM: Rename and adjust ListContentInfos for accuracy 2017-11-06 21:35:00 -07:00
shinyquagsire23 c6e43ae79d Services/AM: Rename and adjust FindContentInfos for accuracy 2017-11-06 21:35:00 -07:00
shinyquagsire23 69cc04a06d Services/AM: Fix warnings 2017-11-06 21:34:54 -07:00
Subv 06a2e0b591 Kernel/Sessions: Wake up any threads waiting on a ServerSession when its client is closed
The error code 0xC920181A will be returned by svcReplyAndReceive when the wakeup callback runs.
This lets LLE services be properly notified of clients closing the connection so they can end their handler threads instead of letting them linger indefinitely, taking up connection slots in their parent port.
2017-11-06 23:07:08 -05:00
Subv d1de6b8864 HLE/APT: Try to launch a native applet in PrepareToStartLibraryApplet and PreloadLibraryApplet before falling back to HLE applets.
With this commit, you can run native applets if they are in the correct folder of your virtual NAND.

Trying to exit the applet will currently cause an invalid read loop due to svcExitProcess not being implemented.
2017-11-06 16:42:26 -05:00
Subv ecb1c6d2a1 HLE/APT: Added a function to retrieve the titleid of an applet based on the current system region.
The table was taken from the real APT service, but is incomplete due to the sheer amount of data it contains. There's 29 applets with 7 possible titleids. This table should be filled as needed.
2017-11-06 16:42:26 -05:00