Liam
fca195b4fb
kernel: remove most SessionRequestManager handling from KServerSession
3 years ago
Kelebek1
458da8a948
Project Andio
3 years ago
german77
a7d9be1384
core: Replace all instances of ResultCode with Result
4 years ago
Morph
99ceb03a1c
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
a7f73d606f
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
f55fc850a2
hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is expired rather than locking.
4 years ago
bunnei
bf1750664c
hle: service: Add option for service interfaces to create or use the default thread.
4 years ago
ameerj
ade596121b
core: Reduce unused includes
4 years ago
bunnei
51589c5e21
core: hle: kernel: Remove server session tracking.
- These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
4 years ago
bunnei
07c9d9bdbd
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
4 years ago
ameerj
7c4b6aab2e
core: Remove unused includes
4 years ago
Morph
bea7824bd1
kernel: hle_ipc: Foward declare KAutoObject
4 years ago
bunnei
52caa52cc2
hle: kernel: Track and release server sessions, and protect methods with locks.
5 years ago
bunnei
b2971b48ed
hle: kernel: KServerSession: Fix client disconnected.
- Prevents a cloned session's handler from being overwritten by another disconnected session.
- Fixes session handler nullptr asserts with Pokemon Sword & Shield.
5 years ago
bunnei
08d798b6fe
hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.
5 years ago
bunnei
384cbe3829
hle: kernel: hle_ipc: Use default destructor for SessionRequestManager.
5 years ago
bunnei
27ce97fd42
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
12c1766997
general: Replace RESULT_SUCCESS with ResultSuccess
Transition to PascalCase for result names.
5 years ago
bunnei
f4fe71c1c9
hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects.
5 years ago
bunnei
7361eac10f
hle: kernel: Implement CloneCurrentObject and improve session management.
5 years ago
Morph
049769a0c9
hle_ipc: unsigned -> u32
This is more concise and consistent with the rest of the codebase.
5 years ago
Morph
81a5ecdb18
hle_ipc: Add a getter for PID
5 years ago
bunnei
12d569e483
hle: kernel: hle_ipc: Fix outgoing IPC response size calculation.
5 years ago
bunnei
913971417e
hle: kernel: hle_ipc: Improve IPC code and add initial support for TIPC.
- Fixes our move handles implementation to actually move objects.
- Simplifies the traditional IPC path.
5 years ago
bunnei
ed25191ee6
hle: kernel: Further cleanup and add TIPC helpers.
5 years ago
Lioncash
2f62bae9e3
kernel: Eliminate variable shadowing
Now that the large kernel refactor is merged, we can eliminate the
remaining variable shadowing cases.
5 years ago
bunnei
4b03e6e776
hle: kernel: Migrate to KHandleTable.
5 years ago
bunnei
2a7eff57a8
hle: kernel: Rename Process to KProcess.
5 years ago
bunnei
bf380b8584
hle: kernel: Remove deprecated Object class.
5 years ago
bunnei
626f746971
hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
5 years ago
bunnei
aa2844bcf9
hle: kernel: HandleTable: Remove deprecated APIs.
5 years ago
bunnei
7444963bbb
hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
5 years ago
bunnei
086db71e94
hle: kernel: Migrate KSharedMemory to KAutoObject.
5 years ago
bunnei
5e5933256b
hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.
5 years ago
bunnei
34bed1ab41
hle: kernel: Refactor out various KThread std::shared_ptr usage.
5 years ago
Morph
e3e6a11ab8
hle_ipc: Add helper functions to get copy/move handles
5 years ago
Chloe
37939482fb
kernel: Unify result codes ( #5890 )
* kernel: Unify result codes
Drop the usage of ERR_NAME convention in kernel for ResultName. Removed seperation between svc_results.h & errors.h as we mainly include both most of the time anyways.
* oops
* rename errors to svc_results
5 years ago
bunnei
3f942c01f0
hle: kernel: Rename WritableEvent to KWritableEvent.
5 years ago
bunnei
e86a7e3691
hle: kernel: Rename ReadableEvent to KReadableEvent.
5 years ago
bunnei
c0d3aef28c
core: hle: kernel: Rename Thread to KThread.
5 years ago
Morph
008afa5d59
hle_ipc: Add Can(Read, Write)Buffer
Allows us to test whether a buffer can be read from or written to memory
5 years ago
bunnei
5d4715cc6a
hle: kernel: hle_ipc: Remove SleepClientThread.
- This was kind of hacky, and no longer is necessary with service threads.
5 years ago
bunnei
4756cb203e
hle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler.
5 years ago
bunnei
9e29e36a78
hle: kernel: Rewrite scheduler implementation based on Mesopshere.
5 years ago
bunnei
3d592972dc
Revert "core: Fix clang build"
5 years ago
Lioncash
be1954e04c
core: Fix clang build
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
5 years ago
Lioncash
b724a4d90c
General: Tidy up clang-format warnings part 2
5 years ago
Fernando Sahmkow
19165cd859
HLE_IPC: Correct HLE Event behavior on timeout.
6 years ago
Fernando Sahmkow
75e10578f1
Core: Correct HLE Event Callbacks and other issues.
6 years ago
Fernando Sahmkow
15a79eb0d7
SVC: Correct SendSyncRequest.
6 years ago