Commit graph

1584 commits

Author SHA1 Message Date
Sebastian Valle 4b4e1861c7
Merge pull request #3265 from Subv/getappletinfo
HLE/APT: Implement GetAppletInfo for LLE applets.
2017-12-15 10:29:53 -05:00
Subv 9a22e8d9ed HLE/APT: Implement GetAppletInfo for LLE applets.
Calling this function for AppletId::Application is not yet implemented because we don't support launching applications from APT.
2017-12-14 19:30:12 -05:00
Subv 674bd550a4 HLE/APT: Stubbed FinishPreloadingLibraryApplet.
An applet is considered "loaded" when the parent application calls this function.
2017-12-14 19:30:11 -05:00
bunnei 4b8a7eb1ca
Merge pull request #3192 from wwylele/cro-new-frame
ldr_ro: convert to ServiceFramework
2017-12-13 22:30:03 -05:00
bunnei c23c39132a
Merge pull request #3239 from wwylele/cam-new-frame
cam: convert to ServiceFramework
2017-12-13 22:27:58 -05:00
bunnei 9b598d936d
Merge pull request #3248 from wwylele/ir-new-frame
ir: convert to ServiceFramework
2017-12-13 22:24:51 -05:00
Sebastian Valle 6afd091c37
Merge pull request #3235 from Subv/dlp3
HLE/FS: Implemented FSFile::OpenSubFile.
2017-12-12 17:01:18 -05:00
Subv c9ddd5b0ae HLE/FS: Implemented FSFile::OpenSubFile.
The File class now holds a list of connected sessions along with data unique to each session.

A subfile is a window into an existing file. They have a few limitations compared to normal files:

* They can't be written to.
* They can't be flushed.
* Their size can not be changed.
* New subfiles can't be created from another subfile.
2017-12-12 13:34:02 -05:00
Sebastian Valle b4bb74a101
Merge pull request #3268 from lioncash/ipc-enum
ipc_helpers: Add member functions for pushing and popping strongly typed enums
2017-12-12 12:52:02 -05:00
Merry 5c802d35ef
Merge pull request #3262 from lioncash/warn
common/core: Silence initialization order warnings
2017-12-11 19:52:53 +00:00
Sebastian Valle 1e3113b1b2
Merge pull request #3251 from Subv/fs_numseeds
HLE/FS: Stubbed GetNumSeeds to always return 0 seeds.
2017-12-11 14:13:10 -05:00
Sebastian Valle 4a3d7863fa
Merge pull request #3250 from Subv/news_notifications
HLE/News: Stubbed GetTotalNotifications to always return 0 notifications.
2017-12-11 14:12:22 -05:00
Lioncash 91a804707b ipc_helpers: Add member functions for pushing and popping strongly typed enums
Alleviates the need to static_cast to an enum type at the call sites of the Push and Pop calls.

We only allow strongly typed enums, as they have a defined type of int
by default if an underlying type isn't explicitly specified, whereas
with regular enums, if an underlying type isn't specified, an
implementation-defined  type is used that can fit all the enumeration
values.
2017-12-10 23:10:00 -05:00
Lioncash c31f932afe common/core: Silence initialization order warnings 2017-12-10 19:50:45 -05:00
B3n30 2146311ad1
Merge pull request #3091 from Subv/hle_request_delat
Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
2017-12-10 19:59:19 +01:00
Subv 0ac82af50f HLE/FS: Stubbed GetNumSeeds to always return 0 seeds.
We don't yet implement the SEEDDB store.
This number is supposed to be modified by the AddSeed function (0x087A0180) but there's too little info about it on 3dbrew.
2017-12-10 13:08:04 -05:00
Subv 98e3872353 Kernel/IPC: Use 39 microseconds for the SendSyncRequest delay approximation.
As measured by the time it takes for to return when performing the SetLcdForceBlack IPC request to the GSP:GPU service in a n3DS with firmware 11.6

See https://gist.github.com/ds84182/ecdbbd25b56a29bd4e5b32a7544b8e92 for the source code of the test.
2017-12-10 13:00:05 -05:00
Sebastian Valle c72262d7e3
Merge pull request #3246 from Steveice10/pxidev
HLE: Add pxi:dev stub.
2017-12-10 12:21:35 -05:00
Sebastian Valle 2859b98884
Merge pull request #3234 from Subv/dlp2
HLE/FS: Implemented FS::GetProgramLaunchInfo.
2017-12-10 08:58:08 -05:00
Sebastian Valle 951b023a3d
Merge pull request #3259 from lioncash/init-order
ac: Correct constructor initialization order
2017-12-10 08:46:11 -05:00
Yuri Kunde Schlesner 312281fd61
Merge pull request #3256 from yuriks/move-svc
HLE: Move svc.cpp to kernel/
2017-12-10 01:13:46 -05:00
Lioncash bca58546b1 ac: Correct constructor initialization order
The parent class constructor will always run before the
class' initializers for member variables.
2017-12-09 23:48:40 -05:00
Yuri Kunde Schlesner 21188f5683 HLE: Move SVC handlers to the Kernel namespace 2017-12-09 20:32:58 -08:00
Yuri Kunde Schlesner ad71e23f23 HLE: Move svc.{cpp,h} to kernel/ 2017-12-09 18:10:47 -08:00
Subv 7d038b9bd8 HLE/FS: Implemented FS::GetProgramLaunchInfo.
This function is used by the DLP system module during the DLPSRVR initialization.
2017-12-09 18:46:34 -05:00
Dragios 8b864a74e9 Add new AppID (eShop) 2017-12-10 07:38:56 +08:00
Dragios ebb731b9a1 Fill up the rest of Applet IDs 2017-12-10 07:38:23 +08:00
Steveice10 16b26e73c9 HLE: Add pxi:dev stub. 2017-12-09 14:45:56 -08:00
Subv dd0bd5520d HLE/News: Stubbed GetTotalNotifications to always return 0 notifications.
This prevents an invalid read loop on games that call it.
2017-12-09 11:28:57 -05:00
wwylele 35b1306941 ir_user: convert to ServiceFramework 2017-12-09 18:14:51 +02:00
wwylele 4812e98e05 ir_rst: convert to ServiceFramework
also fix the wrong header in Shutdown
2017-12-09 18:14:51 +02:00
wwylele f3e41fe941 ir_u: convert to ServiceFramework 2017-12-09 12:34:23 +02:00
wwylele 5026480b36 svc: correct GetProcessInfo(20) 2017-12-08 21:28:48 +02:00
Sebastian Valle 69caf8c5dc
Merge pull request #3236 from Tilka/block_name
cfg: refer to ConsoleModelBlockID by name
2017-12-08 09:01:22 -05:00
wwylele 07acc6ceab cam: convert to ServiceFramework 2017-12-08 11:20:48 +02:00
Tillmann Karras 6752576de9 cfg: refer to ConsoleModelBlockID by name 2017-12-08 06:56:00 +00:00
Subv e90daa6a4f Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
In a real 3DS, threads that call svcSyncRequest are put to sleep until the server responds via svcReplyAndReceive. Our HLE services don't implement this mechanism and are effectively immediate from the 3DS's point of view. This commit makes it so that we at least simulate the IPC delay.

Specific HLE handlers might need to put their callers to sleep for a longer period of time to simulate IO timings. This is their responsibility but doing so is currently not implemented.

See https://gist.github.com/ds84182/4a7690c5376e045cab9129ca4185bbeb for a test that was not passing before this commit.
2017-12-07 22:40:15 -05:00
Lioncash ff96c5dba0 svc: Provide names for svc 0x59 and 0x5A
Updated according to 3dbrew.
2017-12-07 22:14:55 -05:00
wwylele 2b907dadf4 cro_helper: add todo about process handle 2017-12-07 16:20:15 +02:00
wwylele 9749a43cc4 ldr_ro: create per-client storage; pass process where needed 2017-12-07 16:01:01 +02:00
wwylele de8dbbf0b6 ldr_ro: convert to ServiceFramework 2017-12-07 15:59:54 +02: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