Weiyi Wang
001ad9da3b
Merge pull request #3462 from wwylele/am-new-framework
...
Service/AM: convert to ServiceFramework
2018-03-03 18:29:47 +02:00
Ben
7c1a22358a
Merge pull request #3456 from hubslave/master
...
Fix build on OpenBSD
2018-03-02 21:58:43 +01:00
hubslave
fd79b70a87
externals: Update fmt to 4d35f94
...
Versions prior to this didn't compile on OpenBSD due to unconditional
use of the non-standard strtod_l() function.
The fmt::MemoryWriter API has been removed in the intervening
versions, so replace its use with fmt::memory_buffer and fmt::format_to.
The library also no longer provides the fmt::fmt ALIAS, so define
it in externals/CMakeLists.txt.
2018-03-02 18:12:51 +02:00
wwylele
7c4ed77e06
Service/AM: fix some headers
2018-03-02 02:53:59 +02:00
wwylele
61e5f320c9
ipc_helpers: remove some deprecated functions
2018-03-02 02:53:59 +02:00
wwylele
e19475481c
Service/AM: convert to ServiceFramework
2018-03-01 17:02:34 +02:00
B3n30
98771a6363
GSP_GPU: Release the GPU right if the active session closes the gsp_gpu session
2018-03-01 14:54:38 +01:00
wwylele
ff15d887fa
remove dead code
2018-03-01 15:02:51 +02:00
Weiyi Wang
941ccaeed6
Merge pull request #3441 from wwylele/fs-new-framework
...
Service/FS: convert to ServiceFramework
2018-03-01 14:51:24 +02:00
Valentin Vanelslande
ac626edabc
Service/AM: Implement DeleteProgram and DeleteUserProgram ( #3446 )
...
* Update am.cpp
* Update am.h
* Update am_net.cpp
* Service/AM: Implement DeleteProgram
* fix clang
* Address comments
* Service/AM: DeleteProgram: Scan for all titles after deleting the title
* fix
* Service/AM: DeleteProgram: return error if the title was not found
* fix clang
* [skip ci]
* [skip ci]
* [skip ci]
* [skip ci]
* Service/AM: Implement DeleteUserProgram
* fix clang
* FileUtil::DeleteDirRecursively unexpectedly failed
2018-02-28 16:25:33 +02:00
B3n30
143878a474
Rebased usage of SleepClientThread
2018-02-24 14:25:02 +01:00
B3n30
58b16c5459
File_Sys: Add a size dependend delay for each file read
2018-02-24 14:15:57 +01:00
James Rowe
1f87766b86
Change to use CryptoPP random and address review comments
2018-02-22 22:31:58 -07:00
hubslave
27b20359b4
core: EMULTIHOP isn't defined on all Unixes
2018-02-22 23:29:54 +02:00
James Rowe
752cfcaaae
Move writing to shared page to the nwm init
2018-02-22 10:20:34 -07:00
James Rowe
ffe94421b2
UDS: Add non zero mac address to the shared page
...
Apparently several games check the shared page mac address and wifi
link level values, and will refuse to start UDS if they are not correct.
This change gives a default value (in case you aren't connected to a
network) and will read the value from Room if you are connected.
2018-02-22 10:17:38 -07:00
wwylele
26a9c5832d
keep the namespace comment
2018-02-22 17:46:31 +02:00
wwylele
d9500ecf9b
Revert "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"
2018-02-22 17:31:58 +02:00
Weiyi Wang
e2eab46535
Merge pull request #3070 from B3n30/uds_connect_disconnect
...
NWM_UDS: change to Service Framework
2018-02-22 16:55:59 +02:00
wwylele
dfc22661a4
NWM_UDS: change SleepClientThread to use std::chrono::nanoseconds
2018-02-22 16:44:04 +02:00
Weiyi Wang
48512d9011
Merge pull request #3101 from Subv/hle_thread_pause2
...
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
2018-02-22 16:23:34 +02:00
wwylele
42ab8d9d0b
HLE: specify that the command buffer is an array of u32_le
2018-02-22 16:12:39 +02:00
Subv
b0f4390247
HLE: Use std::chrono::nanoseconds instead of a plain u64 in SleepClientThread.
2018-02-21 22:03:46 -05:00
wwylele
f3d22ccde4
APT: don't skip translation parameters
2018-02-19 22:30:38 +02:00
James Rowe
33fe6c30e0
Merge pull request #3322 from MerryMage/DSP
...
audio_core: Remove global state
2018-02-19 09:08:37 -07:00
B3n30
853a79c94c
clang-format fix
2018-02-17 13:45:52 +01:00
B3n30
7cb3d84a98
HW checked signals Disconnect, Destroy and Shutdown
2018-02-17 12:54:48 +01:00
wwylele
e003e75dc5
FS: fix wrong response header of Initialize
2018-02-16 21:33:39 +02:00
B3n30
237835a8b6
NWM_UDS: More of wwyleles comments
2018-02-15 23:00:32 +01:00
B3n30
cbf514190e
NWM_UDS: Addressed wwyleles comments
2018-02-15 22:48:27 +01:00
B3n30
cc6a83621c
fix clang
2018-02-15 22:48:27 +01:00
B3n30
d793624c61
fixup! NWM_UDS: Convert to service framework
2018-02-15 22:48:27 +01:00
B3n30
27e6e03d16
Fixups from Subvs comments
2018-02-15 22:48:27 +01:00
B3n30
520ecf7be6
NWM_UDS: Convert to service framework
2018-02-15 22:48:27 +01:00
B3n30
5904e11215
fixup! UDS: Add coonnect and disconnect
2018-02-15 22:48:27 +01:00
B3n30
f29a9ac3c1
UDS: Add coonnect and disconnect
2018-02-15 22:48:27 +01:00
wwylele
6c6e42375c
FS: correct maximum session
...
the number is got from FS module code
2018-02-15 23:28:03 +02:00
wwylele
36169144b5
FS: fix documentation of service functions
2018-02-15 23:03:21 +02:00
wwylele
71fac7bd72
FS: convert to service framework
2018-02-15 23:02:09 +02:00
wwylele
e8c95a9a41
ipc_helpers: add PopPID; remove PushCurrentPIDHandle
...
It doesn't make sense for a service to tell its own PID to a client, and there is no such use case. Also the name "handle" is misleading as the PID is not a handle
2018-02-15 11:16:41 +02:00
wwylele
19d7324075
fs/archive: convert Directory to ServiceFramework
2018-02-14 21:47:08 +02:00
wwylele
4935dcaf56
fs/archive: remove dead code
...
the std::hash bug is fixed in gcc 6.1, and we are now targeting 7.0 , so the workaround is no longer needed
2018-02-14 19:49:54 +02:00
Weiyi Wang
775fb388c2
Merge pull request #3429 from Cuyler36/fs_user-stub-secure-value-functions
...
Service/FS_User: Stub Secure Value Functions
2018-02-14 17:32:26 +02:00
wwylele
c4db298a7d
HLE/IPC: remove assertion on empty buffer.
...
Some service functions do require to push an empty buffer in some cases. See APT:ReceiveParameter/GlanceParameter
2018-02-11 00:09:52 +02:00
wwylele
66141ed004
apt: fix doc format
2018-02-09 18:10:46 +02:00
Cuyler36
71c7dddac4
Service/FS_User: Stub Secure Value Functions
...
Stubbing these functions results in save loading fixes in games which require a secure value.
An example is shown here with Animal Crossing: New Leaf:
[Before](https://puu.sh/zidZC/f1523e81cb.png )
[After](https://puu.sh/zifeT/57026eae44.png )
2018-02-06 19:31:22 -05:00
wwylele
8970e28031
APT: convert to ServiceFramework
2018-02-03 19:40:22 +02:00
MerryMage
ab3d53131a
audio_core: Remove global state
2018-02-03 15:15:17 +00:00
bunnei
dca5fd291f
Merge pull request #3272 from MerryMage/dynarmic
...
core/arm: Backend-specific context implementations
2018-02-02 12:27:52 -08:00
bunnei
40b9e55e60
Merge pull request #3408 from wwylele/apt-new-framework
...
APT/Applet: move applet management into its own class
2018-02-02 12:15:57 -08:00
bunnei
ee0bd3a8db
Merge pull request #3367 from wwylele/y2r-new-framework
...
Service/Y2R: convert to ServiceFramework
2018-02-02 12:12:47 -08:00
wwylele
92f0064b47
APT/Applet: move applet managing into its own class
2018-01-25 22:20:08 +02:00
B3n30
33b0b5163f
Merge pull request #3136 from Subv/mem_aliasing1
...
Kernel/Memory: Added a function to change the memory state of an address range
2018-01-24 10:17:25 +01:00
Subv
a7a5c5aa0d
Kernel/IPC: Partially implement MappedBuffer translation.
...
Right now only MappedBuffers that only span a single page and are not aligned are implemented.
MappedBuffers are unmapped during the reply part of ReplyAndReceive. Only unmapping of ReadOnly buffers is currently implemented.
2018-01-23 08:27:00 -05:00
Subv
928202f744
Kernel/VMManager: Added a function to map a block of memory into the first available address after a given base.
2018-01-23 08:24:15 -05:00
Subv
e4f35f70ac
Memory: Added a function to change the memory state of an address range.
...
This will be useful when implementing memory aliasing operations.
2018-01-23 08:19:47 -05:00
James Rowe
44d07574b1
Merge pull request #2882 from danzel/movie-squash
...
Movie (Game Inputs) recording and playback
2018-01-23 01:03:37 -07:00
James Rowe
0e8c25fdfa
Merge pull request #3361 from wwylele/ptm-new-framework
...
Service/PTM: convert to ServiceFramework
2018-01-22 11:57:44 -07:00
wwylele
f42f7dfcab
Service/Y2R: convert to ServiceFramework
2018-01-12 13:38:20 +02:00
Weiyi Wang
9b647d459b
Merge pull request #3324 from Subv/gspgpu
...
Services: Keep track of per-session data in GSPGPU
2018-01-11 20:03:46 +02:00
wwylele
9be3ce83db
Service/PTM: convert to ServiceFramework
2018-01-10 14:23:35 +02:00
Subv
34685f48dc
GSP: Allow the signaling of the PDC0/1 interrupts even if the GPU right hasn't been acquired.
...
This was verified with a hwtest.
2018-01-06 13:51:33 -05:00
Weiyi Wang
a66e4585a0
Merge pull request #3304 from wwylele/hid-new-framework
...
HID: convert to ServiceFramework
2018-01-04 11:04:57 +02:00
Subv
aa90198ec5
Services: Make SessionDataBase's destructor virtual.
2018-01-03 10:52:46 -05:00
Subv
75f68c4860
Services/GSP: Mark the thread ids as unused when a GSP session is destroyed.
...
This fixes the games that call RegisterInterruptRelayQueue and UnregisterInterruptRelayQueue frequently.
2018-01-02 12:10:58 -05:00
Subv
d17f148e48
Services/GSP: Assign a thread id to each connected session when the session is created.
...
Most applications call AcquireRight before calling RegisterInterruptRelayQueue so we can't assign the thread id there.
This fixes the bug with LLE applets not launching properly.
2018-01-02 12:07:26 -05:00
Weiyi Wang
3f7f2b42c0
Merge pull request #3257 from tgsm/y2r-ipc
...
y2r: convert some functions to use IPC helper
2018-01-02 12:55:56 +02:00
tgsm
ee779a5a4d
y2r: convert some functions to use IPC helper
2018-01-01 22:46:34 -05:00
wwylele
7daa2a51d7
Kernel/SVC: fix typo in GetResourceLimitLimitValues
2017-12-30 23:42:32 +02:00
Subv
fbef978b98
GSP: Return the correct result code if AcquireRight is called multiple times from the same thread.
2017-12-24 12:15:01 -05:00
Subv
68fc3b36e6
HLE/GSP: Only trigger GSP interrupts for the current active GSP thread.
...
This is true for all interrupts except PDC0 and PDC1, which should be triggered for all registered threads.
TODO: The real GSP module seems to only trigger PDC0 after updating the screens (both top and bottom). PDC1 doesn't seem to be triggered at all.
2017-12-24 12:15:00 -05:00
Subv
05a44ed353
HLE/GSP: Keep track of the thread that currently has the GPU right.
...
This thread is the only one for which the GSP interrupts should be signaled, except for the PDC0/1 interrupts.
2017-12-24 12:14:59 -05:00
Subv
aabb07cca4
HLE/GSP: Make RegisterInterruptRelayQueue work in a per-session basis.
...
The registered interrupt event is unique to each session that calls RegisterInterruptRelayQueue, and only that event should be reset when UnregisterInterruptRelayQueue is called.
2017-12-24 12:14:58 -05:00
James Rowe
13606a6d0b
Memory: Remove count of cached pages and add InvalidateRegion
...
In a future commit, the count of cached pages will be reintroduced in
the actual surface cache. Also adds an Invalidate only to the cache
which marks a region as invalid in order to try to avoid a costly flush
from 3ds memory
2017-12-23 16:10:25 -07:00
Sebastian Valle
c3c684cd2b
Merge pull request #3301 from Subv/exitprocess2
...
Kernel/SVC: Partially implemented svcExitProcess.
2017-12-23 10:49:36 -05:00
wwylele
bf23f8d542
HID: convert to ServiceFramework
2017-12-22 12:41:41 +02:00
Sebastian Valle
ae42267cc7
Merge pull request #3307 from Subv/gsp_new_frame
...
HLE: Convert GSP_GPU to ServiceFramework.
2017-12-21 10:31:41 -05:00
Subv
3652809408
HLE: Convert GSP_GPU to ServiceFramework.
...
The only functional change is the error handling of GSP_GPU::ReadHWRegs function. We previously didn't return error codes (not even for success). The new returns were found by reverse engineering the GSP module.
2017-12-21 10:30:22 -05:00
Merry
3f37976fd3
Merge pull request #3309 from wwylele/cro-session-slot
...
ldr_ro: use ServiceFramework's session slot for client slot
2017-12-18 18:22:39 +00:00
Merry
32b2d5bdfe
Merge pull request #3253 from lioncash/mic-ipc
...
mic_u: Migrate to the new service framework
2017-12-18 14:34:47 +00:00
danzel
0238e0c5e7
Convert Movie to a class with a static instance, and other fixes based on B3n30 feedback.
2017-12-17 17:55:56 +13:00
danzel
04541150b1
Movie (recorded inputs) playback and recording. SDL has command lines to control it.
2017-12-17 16:43:09 +13:00
wwylele
eeec04fcaa
ldr_ro: use ServiceFramework's session slot for client slot
2017-12-17 01:43:12 +02:00
Subv
f4b595331f
GSP/GPU: Make FrameBufferInfo::active_fb use the entire u32 instead of just one bit.
...
The GSP module reads the entire 32 bit word from this field to determine the framebuffer.
2017-12-16 13:33:42 -05:00
Sebastian Valle
125f5d1e68
Merge pull request #3284 from Subv/session_data
...
HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
2017-12-16 09:14:34 -05:00
Lioncash
d613c6f74f
mic_u: Migrate to the new service framework
2017-12-15 19:22:58 -05:00
Subv
1856aa7b32
Kernel/SVC: Partially implemented svcExitProcess.
...
Terminating processes with ready threads is not currently implemented and will assert. It is currently unknown how the 3DS kernel stops ready threads or threads running in another core.
2017-12-15 15:47:33 -05:00
Sebastian Valle
4fd28e715e
Merge pull request #3252 from Subv/fs_user
...
HLE/FS: Converted some functions to use IPCHelpers
2017-12-15 15:40:36 -05:00
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
Subv
b5bfaaae29
HLE/FS: Use the SessionData parameter of ServiceFramework in the File class.
2017-12-14 18:24:03 -05:00
Subv
daecd812b0
HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
...
Some services can have multiple clients at the same time, and they identify the different clients using the server session as a key.
This parameter (if present) should be a structure that contains the per-session data for each service.
The data can be retrieved using ServiceFramework::GetSessionData(session)
2017-12-14 18:24:02 -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
Subv
2552efac01
HLE/FS: Use PopEnum in OpenFile.
2017-12-13 19:51:36 -05:00
Subv
d790ac465c
HLE/FS: Use IPCHelper in CreateFile.
2017-12-13 19:51:21 -05:00
Subv
92e71aff57
HLE/FS: Use IPCHelper in DeleteDirectoryRecursively.
2017-12-12 17:48:15 -05:00
Subv
67382e46c0
HLE/FS: Use IPCHelper in DeleteDirectory.
2017-12-12 17:48:12 -05:00