Liam
6bd1dfa8cc
service: fetch objects from the client handle table
2 years ago
Liam
662bc7c6a1
service: populate pid and handle table from client
2 years ago
Narr the Reg
346c49b55a
service: ipc: Add third read buffer index
2 years ago
german77
ecf98d37b8
service: hle: Allow to access read buffer A and X directly
2 years ago
Kelebek1
42638691b5
Use spans over guest memory where possible instead of copying data.
3 years ago
Liam
6eaef51cf2
memory: rename global memory references to application memory
3 years ago
Liam
46d09ae364
kernel: convert KThread to new style
3 years ago
Liam
d7e9461b71
service: move hle_ipc from kernel
3 years ago
Liam
1c3a93e7c4
service: refactor server architecture
Converts services to have their own processes
3 years ago
ameerj
7cc5da4a9f
Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"
This reverts commit 153fa289d2 , reversing
changes made to 20676b3b5a .
3 years ago
liamwhite
f74a95b6fb
Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer"
3 years ago
ameerj
ddbee432b2
hle_ipc: Use thread_local ReadBuffer
3 years ago
ameerj
713394d526
hle_ipc: Rename ReadBufferSpan to ReadBuffer
3 years ago
ameerj
571d469697
hle_ipc: Rename ReadBuffer to ReadBufferCopy
Indicates explicitly that a copy is occurring
3 years ago
ameerj
db9a523aae
service: Use ReadBufferSpan where it is trivial to do so
3 years ago
ameerj
e17c343915
hle_ipc: Add ReadBufferSpan function
Returns a std::span to the buffer address, rather than create a copy of the memory into a std::vector
3 years ago
ameerj
c57883f1bc
hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
Initializing the vector size during initialization is more efficient than a later call to resize()
3 years ago
ameerj
333fd1165a
hle_ipc: Reserve vectors before populating
3 years ago
Liam
0fc08006e5
service_thread: fix deletion
3 years ago
Liam
2e56a382a9
kernel: invert session request handling flow
3 years ago
Liam
c0ae56548e
kernel: remove most SessionRequestManager handling from KServerSession
3 years ago
Kelebek1
be1f5f1d9f
Project Andio
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
2878df391c
hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is expired rather than locking.
4 years ago
bunnei
75e39568a0
hle: service: Add option for service interfaces to create or use the default thread.
4 years ago
ameerj
22e01068e1
core: Reduce unused includes
4 years ago
bunnei
29924a999e
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
8421193857
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
4 years ago
ameerj
d27abf5546
core: Remove unused includes
4 years ago
Morph
6bc7f27655
kernel: hle_ipc: Foward declare KAutoObject
4 years ago
bunnei
beeed68944
hle: kernel: Track and release server sessions, and protect methods with locks.
5 years ago
bunnei
6c84a78d74
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
4ad8a148ee
hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.
5 years ago
bunnei
ea1ca74e7a
hle: kernel: hle_ipc: Use default destructor for SessionRequestManager.
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
14f50729e2
hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects.
5 years ago
bunnei
6e3c9d2b06
hle: kernel: Implement CloneCurrentObject and improve session management.
5 years ago
Morph
c4f16c8e14
hle_ipc: unsigned -> u32
This is more concise and consistent with the rest of the codebase.
5 years ago
Morph
29ce6e48ed
hle_ipc: Add a getter for PID
5 years ago
bunnei
006a51c86b
hle: kernel: hle_ipc: Fix outgoing IPC response size calculation.
5 years ago
bunnei
232102c794
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
4a781928dd
hle: kernel: Further cleanup and add TIPC helpers.
5 years ago
Lioncash
e019da0487
kernel: Eliminate variable shadowing
Now that the large kernel refactor is merged, we can eliminate the
remaining variable shadowing cases.
5 years ago
bunnei
47224d3864
hle: kernel: Migrate to KHandleTable.
5 years ago
bunnei
ad048de3d6
hle: kernel: Rename Process to KProcess.
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