2d2522693e
Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"
...
This reverts commit 25fc5c0e11
, reversing
changes made to af20e25081
.
2023-02-03 00:08:45 -05:00
b01698775b
Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer"
2023-02-02 15:53:28 -05:00
b0722591c9
hle_ipc: Use thread_local ReadBuffer
2022-12-28 18:46:54 -05:00
a1490d77ac
hle_ipc: Rename ReadBufferSpan to ReadBuffer
2022-12-28 18:46:54 -05:00
59c0f85407
hle_ipc: Rename ReadBuffer to ReadBufferCopy
...
Indicates explicitly that a copy is occurring
2022-12-28 18:46:54 -05:00
7ffd624248
service: Use ReadBufferSpan where it is trivial to do so
2022-12-25 17:04:02 -05:00
9349f06963
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
2022-12-25 13:20:59 -05:00
4faea2bbf4
Merge pull request #9452 from ameerj/hle-read-buffer-resreve
...
hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
2022-12-17 10:21:30 -05:00
b1d633532f
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()
2022-12-15 23:22:11 -05:00
12c0f682e6
hle_ipc: Reserve vectors before populating
2022-12-15 22:30:42 -05:00
6a0d8b2aa1
service_thread: fix deletion
2022-11-06 19:50:51 -05:00
983f2b7074
kernel: invert session request handling flow
2022-10-31 17:44:06 -04:00
fca195b4fb
kernel: remove most SessionRequestManager handling from KServerSession
2022-10-19 16:31:12 -04:00
458da8a948
Project Andio
2022-07-22 01:11:32 +01:00
a7d9be1384
core: Replace all instances of ResultCode with Result
2022-06-26 20:21:37 -05:00
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.
2022-04-23 05:55:32 -04:00
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.
2022-04-08 14:13:22 -07:00
f55fc850a2
hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is expired rather than locking.
2022-04-08 14:11:39 -07:00
bf1750664c
hle: service: Add option for service interfaces to create or use the default thread.
2022-04-02 01:24:30 -04:00
ade596121b
core: Reduce unused includes
2022-03-19 02:23:32 -04:00
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.
2022-03-14 18:14:54 -07:00
07c9d9bdbd
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
2022-03-14 18:14:53 -07:00
7c4b6aab2e
core: Remove unused includes
2021-11-03 21:42:57 -04:00
bea7824bd1
kernel: hle_ipc: Foward declare KAutoObject
2021-10-07 13:32:36 -04:00
52caa52cc2
hle: kernel: Track and release server sessions, and protect methods with locks.
2021-07-20 18:54:56 -07:00
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.
2021-06-09 21:37:11 -07:00
08d798b6fe
hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.
2021-06-07 21:55:37 -07:00
384cbe3829
hle: kernel: hle_ipc: Use default destructor for SessionRequestManager.
2021-06-06 15:41:16 -07:00
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 .
2021-06-04 19:26:48 -07:00
12c1766997
general: Replace RESULT_SUCCESS with ResultSuccess
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
f4fe71c1c9
hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects.
2021-05-20 21:41:52 -07:00
7361eac10f
hle: kernel: Implement CloneCurrentObject and improve session management.
2021-05-20 21:41:49 -07:00
049769a0c9
hle_ipc: unsigned -> u32
...
This is more concise and consistent with the rest of the codebase.
2021-05-16 04:11:00 -04:00
81a5ecdb18
hle_ipc: Add a getter for PID
2021-05-16 04:10:42 -04:00
12d569e483
hle: kernel: hle_ipc: Fix outgoing IPC response size calculation.
2021-05-11 12:27:43 -07:00
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.
2021-05-10 20:34:38 -07:00
ed25191ee6
hle: kernel: Further cleanup and add TIPC helpers.
2021-05-10 15:05:10 -07:00
2f62bae9e3
kernel: Eliminate variable shadowing
...
Now that the large kernel refactor is merged, we can eliminate the
remaining variable shadowing cases.
2021-05-08 12:33:26 -04:00
4b03e6e776
hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
2a7eff57a8
hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:52 -07:00
bf380b8584
hle: kernel: Remove deprecated Object class.
2021-05-05 16:40:52 -07:00
626f746971
hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
aa2844bcf9
hle: kernel: HandleTable: Remove deprecated APIs.
2021-05-05 16:40:52 -07:00
7444963bbb
hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:51 -07:00
086db71e94
hle: kernel: Migrate KSharedMemory to KAutoObject.
2021-05-05 16:40:50 -07:00
5e5933256b
hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.
2021-05-05 16:40:50 -07:00
34bed1ab41
hle: kernel: Refactor out various KThread std::shared_ptr usage.
2021-05-05 16:40:50 -07:00
e3e6a11ab8
hle_ipc: Add helper functions to get copy/move handles
2021-04-15 01:53:16 -04:00
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
2021-02-12 15:43:01 -08:00
3f942c01f0
hle: kernel: Rename WritableEvent to KWritableEvent.
2021-02-05 14:00:36 -08:00