Liam
ea36f70e02
hle: rename legacy errors to Results
3 years ago
Liam
d7e9461b71
service: move hle_ipc from kernel
3 years ago
Liam
91c597e869
sm:: fix lingering session initialization issues
3 years ago
Liam
893a54f2bd
sm:: support service registration deferral
3 years ago
Liam
1c3a93e7c4
service: refactor server architecture
Converts services to have their own processes
3 years ago
Liam
710220601f
sm:: avoid excessive port recreation
3 years ago
Liam
2e56a382a9
kernel: invert session request handling flow
3 years ago
Liam
e86cadc4c4
kernel: more complete fix for KPort reference counting
3 years ago
Liam
8988c3dea9
k_server_session: fix crashes
3 years ago
Liam
545875eaa1
k_server_session: preliminary support for userspace server sessions
3 years ago
german77
c7890ebccc
core: Replace all instances of ResultCode with Result
4 years ago
Morph
2b87305d31
general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
4 years ago
bunnei
11febb02d6
hle: kernel: Unify and integrate reference tracking for KServerPort/KServerSession.
- These are not managed elsewhere, and need to be tracked and closed on emulation shutdown.
4 years ago
bunnei
2ffc21449d
hle: service: sm: Remove manual tracking of KServerPorts.
4 years ago
bunnei
75e39568a0
hle: service: Add option for service interfaces to create or use the default thread.
4 years ago
bunnei
c0a2ae3186
core: hle: service: sm: Fix KPort reference count.
4 years ago
ameerj
d27abf5546
core: Remove unused includes
4 years ago
Morph
fddd57db61
general: Remove MakeResult helpers
This is made obsolete by the presence of implicit constructors.
4 years ago
bunnei
4e7c75d592
hle: service: sm: Refactor to better manage ports.
5 years ago
Morph
d66442a4e1
service: Append service name prefix to common filenames
5 years ago
bunnei
cb75c58714
hle: service: sm: Remove redundant session reservation, etc.
- We were double-reserving, causing us to run out of sessions in Pokemon Sword & Shield.
5 years ago
bunnei
73d30a5446
hle: service: sm: Fix GetService setup of session & port.
5 years ago
bunnei
8bf7b19d1d
hle: kernel: Refactor to allocate a ServiceThread per service handler.
- Previously, we would allocate a thread per session, which adds new threads on CloneCurrentObject.
- This results in race conditions with N sessions queuing requests to the same service interface.
- Fixes Pokken Tournament DX crashes/softlocks, which were regressed by #6347 .
5 years ago
Morph
7ebc38a6d1
general: Replace RESULT_SUCCESS with ResultSuccess
Transition to PascalCase for result names.
5 years ago
bunnei
6e3c9d2b06
hle: kernel: Implement CloneCurrentObject and improve session management.
5 years ago
bunnei
7b1c7a5e6a
Revert "WORKAROUND: temp. disable session resource limits while we work out issues"
This reverts commit 627eaf8c0e .
5 years ago
bunnei
627eaf8c0e
WORKAROUND: temp. disable session resource limits while we work out issues
5 years ago
bunnei
1c07b56283
hle: service: sm: Add TIPC support.
- Fixes our error checking of names as well.
5 years ago
bunnei
0f3b6928ab
hle: service: sm: GetService: Reserve session resource when we create a KSession.
5 years ago
bunnei
11413d71ad
hle: service: sm: Improve Initialize implementation.
5 years ago
bunnei
796dddf78f
hle: kernel: Remove deprecated Object class.
5 years ago
bunnei
d6844cf75f
hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
5 years ago
bunnei
2bc45b4a13
hle: kernel: Migrate KServerPort to KAutoObject.
5 years ago
bunnei
9f1abd8188
hle: kernel: Migrate KClientPort to KAutoObject.
5 years ago
bunnei
83b96b7264
hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
5 years ago
bunnei
8b224f05c9
hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.
5 years ago
german77
372e5e2a6a
sm: Use proper names, update to 12.x
5 years ago
bunnei
2feb4d56e9
core: hle: kernel: Update KSynchronizationObject.
5 years ago
Lioncash
346271b80b
service: Eliminate usages of the global system instance
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
5 years ago
Lioncash
e4747039da
service/sm: Slightly more efficient string name validation
We can check the end of the string first for null-termination, rather
than the beginning of the string.
5 years ago
Lioncash
95e8dff0d7
service/sm: Eliminate dependency on the global system instance
5 years ago
Lioncash
054735e3fe
service: Remove two usages of the global system accessor
Removes more instances of reliance on global state.
5 years ago
Fernando Sahmkow
6f0c873d48
General: Cleanup legacy code.
6 years ago
David Marcec
63b73587b7
Don't fail silently for vi, sm, set and ns services
6 years ago
bunnei
4a4516868c
kernel: Implement a more accurate IPC dispatch.
6 years ago
bunnei
5cb0f276fe
kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. ( #3154 )
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects.
- See https://github.com/citra-emu/citra/pull/4710 for details.
6 years ago
Lioncash
479a873d97
service/sm: Improve debug log for RegisterService
Now it also indicates the name and max session count. This also gives a
name to the unknown bool. This indicates if the created port is supposed
to be using light handles or regular handles internally. This is passed
to the respective svcCreatePort parameter internally.
7 years ago
Lioncash
129d373b58
hle/service, hle/sm: Compress usages of MakeResult()
These auto-deduce the result based off its arguments, so there's no need
to do that work for the compiler, plus, the function return value itself
already indicates what we're returning.
7 years ago
Lioncash
e3fdcaadc1
hle/service, hle/sm: Use structured bindings where applicable
Gets rid of the need to keep the variables separate from their actual
initialization spots.
7 years ago
David Marcec
5ae0d6cba2
Changed logging to be "Log before execution", Added more error logging, all services should now log on some level
7 years ago